一、分析代码
这一关有个登录和注册页面,还有个修改密码页面,这一关我们使用二次注入,因为登录页面和注册页面都用了mysql_real_escape_string函数对于特殊字符转义。
虽然都进行了转义,但是是在sql语句调用的时候转义的,注册成功后数据在到数据库的时候没有转义。
所以我们可以从修改密码界面来注入,从而更改管理员密码。
我们知道数据库中管理员用户名为admin,所以我们注册一个用户,用户名为admin‘# 密码为1234
二、开始注入
我们在修改密码界面正常填写我们注册的用户名 admin’# 修改密码为12345 然后我们通过断点调试查看一下 参数已经传进去了 效果如下
为了方便理解我直接把admin’#输入到username方便看效果
如图后面的语句就被我们注释掉了,这个时候我们改的密码就变成了管理员的密码。
所以这个时候我们直接用admin作为用户名 用我们改的密码直接登录就可以直接进入管理员账户