50:代码审计-PHP无框架项目SQL注入挖掘技巧

代码审计思维导图:

img

代码审计简介:

  • **教学计划:**审计项目漏洞Demo->审计思路->完整源码框架->验证并利用漏洞
  • **教学内容:**PHP,JAVA网站应用,引入框架类开发源码,相关审计工具及插件使用
  • **必备知识点:**环境安装搭建使用,相关工具插件安装使用,掌握前期各种漏洞原理及利用
  • **开始前准备:**审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等
  • **挖掘漏洞根本:**可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞

漏洞挖掘思维导图:

img

fortify使用:

Recent Projects是之前测试的项目,点击“Advanced Scan…”后选择源码,可以添加新项目

存在的漏洞会按照危害统计,并根据种类的不同被分组列在左边,点击“File”“Close Project”退出一个项目

支持多种计算机语言的分析

在这里插入图片描述

简易SQL注入代码段分析挖掘思路(以sqllib-less2为例)

首先包含了数据库配置文件,必须包含该文件才能与数据库建立连接,对数据库进行操作

include(../sql-connections/sql-connect.php”);

接收变量,并带入到SQL语句中

$id=$_REQUEST[‘id’]; //可控变量

$sql=SELECT * FROM users WHERE id=$id LIMIT 0,1;

数据库执行函数

$result=mysql_query($sql); //执行特定函数

代码审计思路:

1.定点挖掘关键字:

  • 可控变量 - 变量接受get post,接受关键字$_GET
  • 特定函数-输出print、数据库操作mysql_query等
  • 特定关键字
    • sql注入漏洞–>搜索select\insert\update\sql执行语句
    • xss漏洞–>搜索echo\print等
    • 安全漏洞–>搜索$_GET,$_POST

2.定点挖掘功能点:

  • 如挖掘文件上传,会员中心存在文件上传的操作地址,抓包分析找到源码中的特定文件代码段,进行文件上传代码分析挖掘。

3.拓展:视漏洞而定,举例

  • sql 注入 数据库监控-监控到当前页面和数据库的交互过程(SQL执行语句)
  • 断点调试:访问页面对应代码进行断点调试(执行过程前后顺序,调用文件列表)
  • 可使用Seay源代码审计系统进行数据库监控、全局搜索关键字等(下载:https://github.com/f1tz/cnseay)
  • 动态调试|Maccms SQL 注入分析(附注入盲注脚本):https://www.cnblogs.com/ichunqiu/p/9548754.html
  • 双重编码绕过:源代码将\自动转为%5c,%25%35%43转为%5c get出url编码
    在这里插入图片描述
二次注入:
  • 原理:绕过转义注入 魔术引号
  • 满足条件: 有insert , update (必须是有插入到数据库中的操作) 、可控变量
注册用户:insert xiaodi union select'
过滤: xiaodi union select\'
进入数据库: xiaodi union select'
修改用户:update xiaodi union select' 条件=用户名是谁 xiaodi' union select update注入

0

一、可以先用工具看一下,以及熟悉环境

二、例子:

  1. 定点挖掘关键字
    2.Seay源代码审计系统——淡然点图标系统

    3.Seay源代码审计系统——骑士 CMS 自带过滤

  2. mysql monitor——苹果CMS:转移+关键字 过滤

V

1. 定点挖掘关键字

可控变量:

变量接受get post 接收关键字 $_GET

特定函数:

输出print
数据库操作 

通过搜索特定关键字尝试寻找特定漏洞

如:搜索echo print 常识挖掘的就是XSS漏洞
如:select, insert ,update ,sql执行语句 对应sql注入

视漏洞而定:

sql注入
数据库监控-监控到当前页面和数据库交互过程(SQL执行语句)
断点调试:访问页面对应代码进行调试(执行过程前后顺序,调用文件列表等 )

2.Seay源代码审计系统——淡然点图标系统

全局搜索:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9pqxAg5g-1642042473108)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113095915101.png)]
定位函数:
定位到定义函数的地方

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zPMNsgHw-1642042473110)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113095931046.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NufbRyjG-1642042473111)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113095953680.png)]

会检测来源地址,所有在主页面修改跳转地址到要测试的页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T6oleEmQ-1642042473114)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100014698.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zmTrQu4K-1642042473115)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100030900.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N1a14c3J-1642042473116)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100241421.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EwVrXxJj-1642042473117)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100337367.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVbc5u3U-1642042473118)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100354593.png)]

在从主页面设置跳转测试地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyQQJocj-1642042473119)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100405797.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2nz00T5h-1642042473120)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100509560.png)]

没有回显可以用延时注入/报错注入来测试是否存在sqli漏洞

在这里插入图片描述

3.Seay源代码审计系统——骑士 CMS 自带过滤

配置文件

有自定义的过滤函数:

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eThvVIsD-1642042473124)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100642803.png)]

和addslashes函数的作用相同:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJ1tUaJq-1642042473125)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100721352.png)]

二次注入的原理:绕过转义注入 魔术引号
满足条件:
有2个(insert + update) (必须是有插入到数据库中的操作)
可控 变量

可使用Seay源代码审计系统进行数据库监控、全局搜索关键字等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vjOyGyGi-1642042473126)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113100941253.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9AH1XIuj-1642042473127)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113101119521.png)]

4. mysql monitor——苹果CMS:转移+关键字 过滤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nVMYf8kZ-1642042473128)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113103411089.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t784tzBH-1642042473130)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113103425397.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uVapf6cO-1642042473131)(C:\Users\huangzexin\AppData\Roaming\Typora\typora-user-images\image-20220113103442173.png)]

即用双重编码绕过

涉及资源:

动态调试|Maccms SQL 注入分析(附注入盲注脚本):https://www.cnblogs.com/ichunqiu/p/9548754.html

Fortify:https://www.ddosi.org/fortify/#gallery-10

Seay源代码审计系统:https://github.com/f1tz/cnseay

MySQL-Monitor:https://github.com/cw1997/MySQL-Monitor

oracleMonitor:https://github.com/denglt/oracleMonitor

参考网站:、

50:代码审计-PHP无框架项目SQL注入挖掘技巧 - zhengna - 博客园 (cnblogs.com)

https://blog.csdn.net/grb819/article/details/118522254

【小迪安全-web渗透测试课程】第50天:代码审计-PHP无框架项目SQL注入挖掘技巧 - 哔哩哔哩 (bilibili.com)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月清风~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值