简单登陆浏览一遍后,发现是一个登陆注册修改密码的应用
审查一下代码
登陆页面的username,password使用了转义
注册页面的参数也进行了转义处理
但是在修改password的页面,直接从session中获取了username
这样就有了一个问题,username是在注册时被创建的,虽然进行了转义,但是没有做输入字符的限制
看一下修改密码的sql语句
$sql = "UPDATE users SET PASSWORD=‘$pass‘ where username=‘$username‘ and password=‘$curr_pass‘ ";
如果username=admin‘#就会构成,#号后面的变成了注释,那么我们就修改了admin的密码
UPDATE users SET PASSWORD=‘$pass‘ where username=‘admin‘#‘ and password=‘$curr_pass‘
来测试一下
成功注册,数据库中也添加了对应的数据
也可以正常的登陆
然后我们来修改密码
为了方便观察,将sql语句输出一下
提示密码修改成功
这样我们就将admin的密码修改为123456
可以在数据库中确认一下