码迷,mamicode.com
首页 > 数据库 > 详细

sql绕过基础

时间:2019-09-12 23:51:31      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:注入   tab   相同   就会   利用   基础   url编码   length   htm   

一、如果发现一个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绕过基础

标签:注入   tab   相同   就会   利用   基础   url编码   length   htm   

原文地址:https://www.cnblogs.com/qie-date/p/11515379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!