赞
踩
原理:用户向数据库里存入恶意的数据,在数据被插入到数据库之前,肯定会对数据库进行转义处理,但用户输入的数据的内容肯定是一点摸样也不会变的存进数据库里,而一般都默认为数据库里的信息都是安全的,查询的时候不会进行处理,所以当用户的恶意数据被web程序调用的时候就有可能出发SQL注入。
如注册账户时输入的用户名为admin'#,......
直接上源代码:
UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass'
将上述的恶意用户名代入:
UPDATE users SET PASSWORD='$pass' where username='admin'#' and password='$curr_pass'
不难发现admin,#这个用户名不论怎么修改,修改的都是admin用户的密码
可在sqli-lab 24进行练习,以下为过程:
先注册一个用户名为admin'#的用户
接着登入用户,修改密码
原密码:
修改后的密码:
admin'#用户的密码没变,但是admin的密码却变了
同理也可以注册其他的用户对其他用户进行密码的修改
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。