这关是二次注入的知识点:
二次注入:
二次注入可以理解为,攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入
到SQL查询语句所导致的注入。防御者可能在用户输入恶意数据时对其中的特殊字符进
行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,
当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。
更新密码的SQL语句是:
$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";
此时去创建一个叫admin'#
的用户,那么在我们更新密码时SQL语句就会变成:
$sql = "UPDATE users SET PASSWORD='$pass' where username='admin'#' and password='$curr_pass' ";
这样就变成修改了admin的账户密码
创admin'
用户:
因为我这边环境版本的问题,登录时会报错,所以后面就不操作了