mysql 注入 修改密码_SQL注入-二次注入修改其他用户密码

二次注入

1、使用特殊的SQL符号注册账号

372ab27d7f441b028a65162ea7118a02.png

$username= mysql_escape_string($_POST['username']) ;

$pass= mysql_escape_string($_POST['password']);

$sql = "insert into users ( username, password) values(\"$username\", \"$pass\")";

2、通过当前用户账号修改其他用户密码

bce5dba70b3431c246ee9e666e4632f1.png

# 使用sql语句进行修改密码时进行了SQL注入,UPDATE users SET PASSWORD='$pass' where username='admin'--'and password='$123456'

$username= $_SESSION["username"];

$curr_pass= mysql_real_escape_string($_POST['current_password']);

$pass= mysql_real_escape_string($_POST['password']);

$re_pass= mysql_real_escape_string($_POST['re_password']);

$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";

总结:

1、二次注入的产生的原因是进行用户注册时没有将外部数据进行过滤,导致使用update语句时进行了SQL注入

2、外部数据是不可信任的注册时需要将SQL中会造成SQL注入的字符和关键字进行过滤

3、使用update语句时没有使用参数绑定,导致SQL注入

来源:oschina

链接:https://my.oschina.net/moziBlog/blog/3211403

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值