问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

PHP SQL注入攻击

发布网友 发布时间:2022-04-30 19:30

我来回答

4个回答

懂视网 时间:2022-04-30 23:52

  •     $DBConnection = mysql_connect ( "$dbhost", "$dbuser", "$dbpwd" );  
  •     mysql_select_db ( "$dbdatabase" );  
  •       
  •     if(isset($_GET[‘submit‘]) && $_GET[‘submit‘]){      
  •     $sql="select * from test where name=‘".$_GET[‘username‘]."‘and password=‘".$_GET[‘password‘]."‘";  
  •     //echo $sql;exit;  
  •     $result=mysql_query($sql,$DBConnection);      
  •     $num=mysql_num_rows($result);         
  •     if($num>=1)  
  •     {  
  •         echo "hello,".$_GET[‘username‘];  
  •     }  
  •     else {  
  •         echo"404 not found";  
  •     }  
  • }  
  • ?>  
  • <form action="login.php" method="GET">  
  • <table>  
  •     <tr>  
  •         <td>username</td>  
  •         <td><input type="textbox" name="username"/></td>  
  •         <td>password</td>  
  •         <td><input type="textbox" name="password"></td>  
  •         <td>submit</td>  
  •         <td><input type="submit" name="submit"></td>  
  •     </tr>  
  • </table>  
  • </form>  
  •  

    3.浏览器界面显示:

     

    技术分享

    4.重头戏,sql注入:

    技术分享

    技术分享

     

    5.原理--为什么用户名不正确,却可以显示hello?

    我可以echo一下:

     

    [php] view plaincopy技术分享技术分享  
    1. <span style="font-size:18px;">$sql="select * from test where name=‘".$_GET[‘username‘]."‘and password=‘".$_GET[‘password‘]."‘";  
    2. echo $sql;exit;</span>  

     

    显示:

    技术分享

     

    拿到我的mysql数据库中查询:

    技术分享

     

    可以看到,居然能查到信息,因为sql语句中,前一半单引号被闭合,后一半单引号被 “--”给注释掉,中间多了一个永远成立的条件“1=1”,这就造成任何字符都能成功登录的结果。

    6.小结:

    1)其实这个sql注入过程上很简单,困难的地方在于提交SQL注入语句的灵活性上面,单引号的使用很关键,另外,多用echo打印调试也很值得一试~~

    2)GET方式提交表单很危险,所以还是用POST方式吧!

        参考:http://blog.csdn.net/gideal_wang/article/details/4316691

    3)防止SQL注入:可以看出,sql注入就是用户提交一些非法的字符(如本文的单引号’和sql语句的注释号--,还有反斜杠等),所以要用转义:  htmlspecialchars函数,mysql_read_escape_string函数都可以实现。

    4)JS段验证表单了,JSP/PHP等后台还要验证码?

         ---需要,因为friebug可以禁用JS...

    --------------------------------------------------------------------------

    update:

    上面的方法,当password通过md5加密的话,就无法实现注入了,那么就在username上做手脚:

    技术分享

    username后面的内容就都被注释掉了。哈哈~

    参考:http://newaurora.pixnet.net/blog/post/166231341-sql-injection-%E7%AF%84%E4%BE%8B(%E7%99%BB%E5%85%A5%E7%AF%84%E4%BE%8B)

     

    by wusuopuBUPT

    手把手叫你SQL注入攻防(PHP语法)

    标签:

    热心网友 时间:2022-04-30 21:00

    这是服务器端的魔法引号。你可以看看你的magic_quotes_gpc是否开启状态,如果开启了,所有的引号会被自动转义,防止此类SQL注入。
    另外,就算没有开启魔法引号,PHP脚本里面也可以通过addslashes对$_GET、$_POST、$_COOKIE等等作转义处理,也就是在引号前加上“\”转义符号,防止此类SQL注入。

    至于攻击的方法,这条SQL在我看来还是很安全的,从别的地方下手吧~~~追问这是我写的一个网站,以前不懂得如何攻击,现在想尝试一下,就先拿自己的开刀。。。
    如果攻击的话,要从哪里入手?

    追答这个啊~ 攻击的方式有很多,比如那些跟PHP关系不大,比较通用的有DDoS,Flooding,land等等。DDoS是最常用的一种简单暴力的方式。
    不过感觉你说的应该是指非法提升权限这样的吧,除了通过网站安全漏洞以外应该没有别的方式了,具体我也不清楚~ SQL注入,暴力破解后台密码应该是比较常用的方式。

    热心网友 时间:2022-04-30 22:18

    select * from student where identification='abc' and password='aa' or 1='1'追问是问你怎么填
    在用户名文本框内输入:?,在密码框内输入:?

    热心网友 时间:2022-04-30 23:52

    上面说明$loginname 变量接收已经做过防止SQL攻击d的处理措施了。 所以你怎么试都没有用的。
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    瑞安皇都大厦几个电梯 办签证和护照的具体步骤和一共的费用!我需要详细一点的答案. 办护照流程 办护照的流程是什么 哪位推荐几部韩剧啊!!要像豪杰春香,魔女幼熙这样的,剧情要感人,最好是... 小阴唇内应该是光滑的吗,阴道口痒为什么 阴道口有像草莓样正常吗 任氏族谱字辈:世秉忠贞 永达明玉起 国正天元律迎祖大继昌 河南夏氏家谱辈分我是永城市酂城镇夏氏夏世界具家谱记载洪武二年始祖良... 夏侯姓字辈排行 夏氏辈行,我爷爷明字辈,我父亲应字辈,我是崇字辈,后面是什么辈? 降血糖有什么有效的方法? 求一个降血糖好方法? 有什么降血糖的好方法? 怎么降糖最有效? 怎样才能降血糖? 有什么好的方法可以降血糖? 降血糖有效方法有哪些? 降血糖效果好的办法,你都知道哪些? qq加好友的记录删除了 那么在其他手机上还能看到吗 抖音消防视频打什么标签? qq好友被对方删除了,在其他没登录过的手机上还能看到消息记录吗 如果让别人把我QQ删了 在另一个手机上还能看见聊天记录吗 我qq把人删除了,我用另一个人手机登我qq还可以看到聊天记录吗 qq删除的好友在别的手机上登能看到吗 什么米饭最好吃 为什么我在QQ上删除了一个好友但在别的手机上登陆就还能看见他怎样彻底的删除QQ好友 《继父回家》马建新谁演的 马建新扮演者曹力资料 四月和五月都有哪些电影上映 什么米饭最好吃? qq删除好友并解除好友关系换另一部手机还看得见聊天记录吗? 中国航天局二院院长是谁 陈定昌院士的个人简介是怎么样的? 中国航天刘著平资料 栾恩杰的介绍 哈尔滨工业大学(威海)计算机科学与技术系的女生宿舍是几人间啊? 云主机远程桌面失败可能是什么原因导致的?远程信息都是正确的 航天九院院长什么级别? 华为桌面云接入客户端为什么上不了网 探月英雄都有谁 华为云桌面登录失败错误码410208 金蝶云桌面客户端一链接服务器就断网? 《十万个为什么》第六版的编委会和出版工作委员会 教育部现代制造技术重点实验室的实验室研究队伍 劲舞团更新了、请问哪个是小爱最新版本? 今天是2016年9月12日,请问有没有西安电子科技大学的学生,贵校明天是不是有203研究所的宣讲会? 上海宇航学会是核心期刊么? 请问现在劲舞无双(小爱)的最新版本是多少? 中国航天科工集团第一研究院院长是什么级别 小爱又有新版本了? 小爱版本