贷齐乐系统最新版SQL注入(绕过WAF可union select跨表查询)

目录

标题:贷齐乐系统最新版SQL注入(绕过WAF可union select跨表查询)

内容:
一,环境部署
二,源码分析
三,sql注入

总结:

[回到顶部](#article_top)

一,环境部署


本漏洞由于是2015年爆出的,所以这里源码使用的PHP版本不支持7版本,这里我们可以使用PHP5.4.45版本,只需小皮进行下载更改即可:
1.1 安装phpstudy
在这里插入图片描述
使用php5.4.45版本
在这里插入图片描述
将源码解压放在phpstudy的WWW目录下
在这里插入图片描述
配置连接数据库
在这里插入图片描述
创建数据库ctf,并且建立users表
在这里插入图片描述
插入数据
在这里插入图片描述

二,源码分析


2.1 第一道WAF分析
在这里插入图片描述
第一层WAF: 包含点,单引号,星号等等,一旦包含直接删除非法字符,然后又注释掉了一系列东西,这是第一个WAF防御。
2.2 第二道WAF分析
在这里插入图片描述
GET/POST/REQUEST/COOKIE都会经过这个替换str_replace(array(‘&’, ‘"’, ‘<’, ‘>’,‘(’,‘)’), array(‘&’, ‘"’, ‘<’, ‘>’,‘(’,‘)’), $string),

三,sql注入


3.1 注入思路
输入http://localhost/daiqile/demo.php?id=1&username=2&password=3
在这里插入图片描述
发现主要是进行了一个使用问号来进行的分割,分割为了两个数组,数组0是路径uri,数组1即为传入的参数。全是explode的功劳
在这里插入图片描述

在这里插入图片描述
思路:让第一道WAF检测不到恶意字符,再通过第二道WAF的覆盖,从而将恶意字符传入到REQUEST中,其实也就可以绕过WAF,完成注入了
再根据PHP下划线特性
这里我们需要了解PHP的一个小特性,那就是自身在进行解析的时候,如果参数中含有” “、”.”、”[“这几个字符,那么会将他们转换为下划线
所以我们可以利用这个特性,让第一道WAF解析一个正常的参数,第二道WAF来解析另一个恶意字符的参数从而完成覆盖注入。
3.2 开始注入
寻找回显点
在这里插入图片描述

我们可以看到是第二个字段进行的回显,所以我们就在第二个字段进行注入。
爆库名
在这里插入图片描述

爆出所有的库名
爆表名
在这里插入图片描述
爆字段名
在这里插入图片描述

查flag
在这里插入图片描述

总结:


1.HTTP参数污染(HPP):PHP只接收同名参数的最后一个值,这涉及到HTTP参数污染的问题。也就是说,如果一个请求中包含多个同名参数,PHP会忽略前面的,只使用最后一个。

2.PHP特性:在GET请求中,如果参数的键(key)包含点号(.),PHP会自动将其转换为下划线(_)。例如,参数i.d会被转换为i_d。

3. R E Q U E S T 数组: _REQUEST数组: REQUEST数组:_REQUEST数组会按照PHP的接收方式来处理参数,如果存在i_d和i.d这样的参数,PHP会将它们都转换为i_d,并且只接收最后一个参数的值。因此,如果攻击者将恶意代码放在第二个参数中,第一个参数即使被WAF检测到,也不会影响最终的请求数据,从而绕过了WAF的防护。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值