sqlilab_24
二次注入
在对第一次插入数据的时候对插入的数据进行了过滤,但如果只是对特殊字符添加/进行转译,但由于用于转译/不会被写入数据库中,插入数据库中的还是我们输入的语句,在再次调用数据库中我们插入的数据的时候,如果完全信任了数据库中的数据不加过滤的话就会,引起二次注入
sqlilab_24

先试试在登入界面注入
Dhakkan’#

失败了
查看源码

发现添加了过滤
在看看创建新用户的源码

还是添加了过滤
在看看更改密码的源码

没有对username进行过滤,并且查询语句中还用上username
那我们就对新建一个username,对username进行构造
新建一个用户名为Dhakkan’#密码为123

然后在进行改密码操作将密码改成321

此时更改密码的语句就会变为username=’Dhakkan’#’and password=’321’
这样就形成了一个sql注入语句变成了更改了Dhakkan的密码这样我们就能用321登入账号Dhakkan了

成功用321登入改账号