从源代码角度重新审视SQL注入漏洞

前言:

1.本章主要是针对面向过程进行源码审计Key值漏洞注入

2. 涉及源代码平台源码下载
	Site: https://www.s-cms.cn/download.html

3. 利用apache特性绕过(自行了解)

1. 面向过程 源代码审计

1. 障碍?

  1. 面向过程懒得看/面向对象太绕

  2. php造成sql注入根本原因:
    1. mysql_query();
    2. mysqli_query();
    3. (new PDO())->query();

2. 审计思路:

	1. XEE(外部实体注入) 
	2. Key值导致sql注入
		1> 这里拓展对于key的理解原理:
			后端:
				foreach ($_GET as $a=>$b){
					echo "{$a}:{$b}<br>";
				}
			前端:
				http://localhost:63342/WWW/test.php?a=1&?b=2
			结果:a:1 <br> b:2
			原理: 等号前面是键/等号后面是值
	3.PHP弱类型验证判断
		1. 判断的时候会进行强制类型转换,且字符不能转int类型\
		第一位不是数字就转换不了

3. 基于面向过程审计S-CMS平台KEY漏洞

1. 测试代码层原理代码waf通常是全局过滤
	1> var_dump($_GET);
		exit();
		原理:输出变量返回的结果echo则不行;
2. 输入过滤是会吧某些关键字给替换掉

4. 现代化源码常见漏洞出现问题

1. XXE导致sql注入
2. key导致sql注入

5. 审计思路

1. 首先从入口(index.php)开始看
2. 首先看看有没有底层函数以及查询函数
3. 查看mysqli 还是mysql
4. 看是否封装mysql查询函数
5. 查看代码层WAF
6. 追溯输入是否被过滤
7. 构造Payload
Tip:intval()函数直接强制转换成数字了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值