php mysql注入点_PHP MySQL注入示例?

参见英文答案 > How can I prevent SQL injection in PHP?                                    28个

我想使用PHP / Mysql注入一个登录示例,我的代码如下.

我尝试使用任何用户名 – 和一个空密码但它不起作用,我无法登录.

谁能帮助我?

mysql_connect('localhost','root','root');

mysql_select_db('hp');

?>

User

if($_POST['s']){

$user = $_POST['user'];

$pass = $_POST['password'];

$re = mysql_query("select * from zend_adminlist where user_name = '$user' and password = '$pass'");

if(mysql_num_rows($re) == 0){

echo '0';

}else{

echo '1';

}

}

?>

解决方法:

最常见的一个例子是这个查询:

' or '1'='1

如果您将此用户名和密码输入到某些未经过验证的登录输入中,则查询会发生如下变化:

Original: SELECT * FROM USERS WHERE USER='' AND PASS='';

Modified: SELECT * FROM USERS WHERE USER='' or '1'='1' AND PASS='' or '1'='1';

这导致它寻找的每个东西都是真的,因为1总是等于1.这个方法的问题是它不允许选择特定的用户.这样做你需要通过注释掉它来忽略AND语句,如其他例子中所示.

标签:php,mysql,code-injection

来源: https://codeday.me/bug/20191007/1866715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值