sql绕过基础

Posted Hello_date

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql绕过基础相关的知识,希望对你有一定的参考价值。

一、如果发现一个url可能是注入点之后我们可以尝试手注,但是一般的网站都会过滤一些字符串。

在^没有被过滤的时候可以利用它来测试

异或:xor或^

逻辑运算就是:同真异假(两个条件结果相同就为真,结果不同就为假)

例如:1^0 就是 1 ,1^1 就是 0

 

例如:?id=1’ ^ (length(‘union’)!=0)--+

如果union被过滤,则后面条件的结果就是假的,前面也是假的,url返回正确

如果union没有被过滤,则后面的条件的结果就是真的,而前面是假的,url返回错误

也可以是?id=1’ ^ (length(‘union’)=5)--+

 

二、简单的sql绕过

基本关键字:括号、空格、引号、#、=、+、and、or、order、select、union、update、inster、into、delete、outfile……

一些绕过的方法:

1、 大小写混写

2、 使用url编码替换字符 ‘ %27,# %23

3、 十六进制绕过 where=“user” where=0x7573657273

4、使用&& || 代替and or

5、双写关键字 aandnd

6、绕过空格:用tab键代替空格

用回车chr(13)&chr(10),url编码的形式%0d%0a

用括号 id=1(and)1=1

7、=用like、rlike、等代替

8、使用/**/注释符来,重组关键字 un/**/i/**/on

9、注释负://,-- , /**/, #, --+, -- -, ;,%00,--a

如果是使用gbk的网页编码的网站也可以利用宽字节来绕过

 

三、宽字节注入

宽字节注入:‘被转义成‘,可以通过宽字节绕过转义把’逃逸出来

gbk 占用两字节

ASCII占用一字节

如果网站的字符集是GBK,mysql使用的编码也是GBK的话,利用gbk取值范围(第一个字节129-254,第二个字节64-254),会解析为一个汉字,这样就会是去应有的作用。例如%df%5C%27(%bb%5C%27),前两个合并为一个汉字“縗’”(%5C是),然后‘就被逃逸出来了,然后就可以进行注入测试。

宽字节注入与html页面编码是无关的值型SQL注入无效。

 

以上是关于sql绕过基础的主要内容,如果未能解决你的问题,请参考以下文章

Web安全黑铁到传说四.常见漏洞攻防之SQL注入基础详解(权限提升绕过技巧注入技巧)

MYSQL注入基础及绕过技巧总结

公开课基础演练靶场-尤里的复仇Ⅰ 小芳!-第二章:遇到阻难!绕过WAF过滤!

SQL注入 空格转换为空绕过

记某次sql注入绕过ids

基础篇——SQL注入(工具注入)