PHP查询登录中的sql注入
2014-06-28 02:48
169 查看
----------------------------------------------------------------------------------------------------
比如以下一段登录的代码:
if($l = @mysql_connect('localhost', 'root', '123')) or die('数据库连接失败');
mysql_select_db('test');
mysql_set_charset('utf8');
$sql = 'select * from test where username = "$username" and password = "$password"';
$res = mysql_query($sql);
if(mysql_num_rows($res)){
header('Location:./home.php');
}else{
die('输入有误');
}
注意上面的sql语句,存在很大的安全隐患,如果使用以下万能密码和万能用户名,那么可以轻松进入页面:
1. $sql = 'select * from test where username = "***" and password = "***" or 1 = "1"';
很明显,针对这条sql语句的万能密码是: ***" or 1 = "1
2. $sql = 'select * from test where username ="***" union select * from users/* and password = "***"';
正斜线* 表示后面的不执行,mysql支持union联合查询, 所以直接查询出所有数据; 所以针对这条sql语句的万能用户名是:***" union select * from users/*
但是,此注入只针对代码中的sql语句,如果$sql = "select * from test where username = $username and password = $password";
上面的注入至少已经不管用了,不过方法是一样的;
在使用PDO之后,sql注入完全可以被避免,而且在这个快速开发的时代,框架横行,已然不用过多考虑sql注入问题了。
Link: /article/5289350.html
@黑眼诗人 <www.farwish.com>
比如以下一段登录的代码:
if($l = @mysql_connect('localhost', 'root', '123')) or die('数据库连接失败');
mysql_select_db('test');
mysql_set_charset('utf8');
$sql = 'select * from test where username = "$username" and password = "$password"';
$res = mysql_query($sql);
if(mysql_num_rows($res)){
header('Location:./home.php');
}else{
die('输入有误');
}
注意上面的sql语句,存在很大的安全隐患,如果使用以下万能密码和万能用户名,那么可以轻松进入页面:
1. $sql = 'select * from test where username = "***" and password = "***" or 1 = "1"';
很明显,针对这条sql语句的万能密码是: ***" or 1 = "1
2. $sql = 'select * from test where username ="***" union select * from users/* and password = "***"';
正斜线* 表示后面的不执行,mysql支持union联合查询, 所以直接查询出所有数据; 所以针对这条sql语句的万能用户名是:***" union select * from users/*
但是,此注入只针对代码中的sql语句,如果$sql = "select * from test where username = $username and password = $password";
上面的注入至少已经不管用了,不过方法是一样的;
在使用PDO之后,sql注入完全可以被避免,而且在这个快速开发的时代,框架横行,已然不用过多考虑sql注入问题了。
Link: /article/5289350.html
@黑眼诗人 <www.farwish.com>
相关文章推荐
- Php中用PDO查询Mysql来避免SQL注入风险的方法
- PHP开发API接口(注册、登录、查询用户资料)
- PHP + Mysql 登录功能防止SQL注入的一个办法
- PHP 开发API接口 注册,登录,查询用户资料
- PHP实现的注册,登录及查询用户资料功能API接口示例
- php开发 API接口注册,登录,查询用户资料
- PHP登录环节防止sql注入的方法浅析
- EKL PHP 调取_search接口查询登录统计
- Php中用PDO查询Mysql来避免SQL注入风险的方法
- PHP + Mysql 登录功能防止SQL注入的一个办法
- 贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询) 公开时间: 2016-04-21 22:58
- Php中用PDO查询Mysql来避免SQL注入风险的方法
- PHP 开发API接口 注册,登录,查询用户资料
- PHP 开发API接口 注册,登录,查询用户资料
- 【Day43】PHP中用PDO查询Mysql来避免SQL注入风险的方法
- PHP 初学之登录查询小case
- PHP登录环节防止sql注入实例详解
- PHP——0127加登录页面,加查询,加方法,加提示框
- PHP 开发API接口 注册,登录,查询用户资料
- PHP登录环节防止sql注入的方法浅析