sqli-labs之Less-5
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!
本文首发于 涂寐’s Blogs:https://0xtlu.github.io/article/11b00349.html
0x00 常规操作
如下第一个语句,id值直到为13后,仅显示欢迎。
老老实实添入单引号,报错'1'' LIMIT 0,1
嗯,id带入数据库,字符型,先猜字段数吧,不可能变的,3个字段
还是试试老套路,打死就是输出You are in...........
,确定是盲注。
1 | http://192.168.184.129:49160/Less-5/?id=13 |
0x01 Boolean 注入
AND命令与WHERE一起使用,若AND关键字两边成立,则显示正确提示,如此处为You are in………..,反之为空
这下面两条语句……建议写工具爆破猜想:
比如第一条语句的构造,字符字典需涵括大小字母、数字、点、杠、@等;
第二条语句是测用户名长度则需要数字就好;举例root@localhost,至少14位,保险起见还是从0开始爆破。
1 | # 爆破语句构造,修改数字3和等号后的字符5,能单个猜想 |
1 | # 获取字符串str左边len个字符 |
0x02 报错注入
AND 关键字猜想,有点狠,得慢慢爆破猜想。
既然语法错误信息还是会返回前端的,那肯定得试一把报错注入。
1 | updatexml():mysql对xml文档数据进行查询和修改的xpath函数 |
1 | # updatexml()--最长输出32位且返回类型不为xml格式方有效 |
0x03 二次查询注入
看题目可知,该题实际考验二次查询注入。
如下文,笔者的理解为:通过子句将恶意代码存入数据库临时表,再从临时表中进行查找。
注:需满足 CONT()、GROUP BY、FLOOR()、RAND() 方可构成注入条件。
1 | # floor()--输出限制64位字符 |
- 本文标题:sqli-labs之Less-5
- 本文作者:涂寐
- 创建时间:2022-03-13 22:38:23
- 本文链接:article/11b00349.html
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论