加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php sql注入

发布时间:2020-12-13 13:13:11 所属栏目:PHP教程 来源:网络整理
导读:我一直在冲浪,并了解SQL INJECTION ATTACK.我已经尝试在我的本地机器上实现,以了解如何做到这一点,以便我可以防止在我的系统中… 我已经编写了这样的代码 PHP代码: if(count($_POST) 0){ $con = mysql_connect("localhost","root","") or die(mysql_error()
我一直在冲浪,并了解SQL INJECTION ATTACK.我已经尝试在我的本地机器上实现,以了解如何做到这一点,以便我可以防止在我的系统中…

我已经编写了这样的代码

PHP代码:

if(count($_POST) > 0){

       $con = mysql_connect("localhost","root","") or die(mysql_error());
    mysql_select_db('acelera',$con) or die(mysql_error()); //
    echo $sql = 'SELECT * FROM acl_user WHERE user_email = "'.$_POST['email'].'" AND user_password = "'.$_POST['pass'].'"';
    $res_src = mysql_query($sql);
    while($row = mysql_fetch_array($res_src)){
        echo "<pre>";print_r($row);echo "</pre>";
    }
}

HTML代码:

<html>
<head></head>
<body>

 EMAIL : <input type="text" name="email" id="email" /><br />
    PASWD : <input type="text" name="pass" id="pass" /><br />
    <input type="submit" name="btn_submit" value="submit email pass" />
        </body>
</html>

通过这个代码,如果我给输入为“OR”“=”,那么sql注入应该完成.
但它不能正常工作.在帖子数据中,如果我在密码字段中给出上面的输入,我将加上斜杠.

任何人都可以告诉我SQL INJECTION ATTACK是如何实现的(代码会更加明显)

你可能启用了魔术报价.检查 get_magic_quotes_gpc的返回值.

“魔术报价”是一种古老的尝试,从PHP到自动魔法防止SQL注入,但是在目前的版本中,它已被弃用,因此鼓励您使用prepared statements来避免SQL注入.

请参阅here如何禁用它们,以便您可以实验SQL注入.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读