SQL注入之二次注入

原理:用户向数据库里存入恶意的数据,在数据被插入到数据库之前,肯定会对数据库进行转义处理,但用户输入的数据的内容肯定是一点摸样也不会变的存进数据库里,而一般都默认为数据库里的信息都是安全的,查询的时候不会进行处理,所以当用户的恶意数据被web程序调用的时候就有可能出发SQL注入。

以sql-labs24为例子:

如注册账户时输入的用户名为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的密码却变了

 

同理也可以注册其他的用户对其他用户进行密码的修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值