SQL注入积累

3 篇文章 0 订阅
2 篇文章 0 订阅

登陆(用户名不存在)

登陆验证通常有两种方式:

  • 直接对用户输入的账号名和密码进行查询------提示用户名或密码错误
  • 针对用户输入的账号名进行查询对应的密码,再和用户输入的密码做比较------用户名错误时会提示用户名不存在

这里讨论第二种情况,验证代码逻辑可能如下:

select password from xx where username=xx;
if(password==pass)
then login

因此,可以使用如下联合查询方式将自定义字符注入password参数(令username为False):
在这里插入图片描述
再在密码框输入相应的密码即可绕过登陆。


堆叠注入–修改表名

强网杯2019随便注为例,环境在XCTF攻防世界supersqli。

过滤了大部分注入所需函数,尝试堆叠注入,通过互换表名,增添一个查询字段(猜测正常查询后台代码为where id=x),通过正常查询获得flag。

payload:

-1';rename table words to word;rename table `1919810931114514` to words;alter table words add id int default 1%23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值