sql注入

SQL注入 修改已知用户的密码(less-24)

2018-09-29  本文已影响7人  dawsonenjoy

在一些帐号注册、更改密码薄弱的程序中,我们可以通过二次排序注入来进行一些我们想要实现的内容。二次排序注入也成为存储型的注入,就是将可能导致sql 注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以出发 sql 注入。例如我们已知数据库如下:


我们就以admin账户为例,通过注册新用户,然后修改新用户的密码来实现修改已知admin账户的密码。首先我们注册一个admin’#的帐号,然后登录后进入修改密码页面进行修改,如下图所示:


(注册帐号)


(修改密码,这里当前密码可以随便输)
然后我们就会发现admin账户的密码被修改了,如下所示:



为什么呢,我们可以看到sql语句如下:

UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass'

这里因为我们账户是admin’#,#后面的都被注释了,所以相当于我们执行的语句是:

UPDATE users SET passwd="abc" WHERE username ='admin'

那么显而易见修改的就是admin的密码了。

上一篇下一篇

猜你喜欢

热点阅读