热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

二次注入1、使用特殊的SQL符号注册账号$usernamemysql_escape_string($_POST[username]);$passmysql_escape_strin

二次注入

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注入

文章来源: www.oschina.net,作者:沫子酱,版权归原作者所有,如需转载,请联系作者。

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



推荐阅读
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有