通过DVWA学习SQL盲注

本文介绍了通过DVWA学习SQL盲注的过程,从Low、Medium到High级别,详细讲解了如何利用order by、union等方法探测和利用SQL注入漏洞。在无权访问information_schema或被禁止使用union、order by的情况下,依然可以通过逻辑判断进行盲注。同时,文章提到了错误处理方式对防止SQL盲注的影响。
摘要由CSDN通过智能技术生成

本文是本人学习过程中做的笔记,不足之处很多,望各位大牛指导一下~

SQL盲注中,并不会像之前的SQL注入一样显示数据库内建的报错信息,而是显示通用的错误提示,也就是说SQL注入将不能依靠错误信息来判断注入语句的执行结果。但是,我们可以利用其中基于逻辑真假的不同结果来进行判断从而确定是否存在SQL注入漏洞。

 

判断盲注的常见用法:

1’ and 1=1 #
1’ and 1=2 #

判断这两种不同的输入是否有不一样的显示,如果一个正常一个通用的错误提示或者啥也不显示,则几乎可以确定是含有SQL注入漏洞的。

 

Low级:

源代码:

<?php     

if (isset($_GET['Submit'])) { 
     
    // Retrieve data 
     
    $id = $_GET['id']; 

    $getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'"; 
    $result = mysql_query($getid); // Removed 'or die' to suppres mysql errors 

    $num = @mysql_numrows($result); // The '@' character suppresses errors making the injection 'blind'

    $i = 0; 

    while ($i < $num) { 

        $first = mysql_result($result,$i,"first_name"); 
        $last = mysql_result($result,$i,"last_name"); 
         
        echo '<pre>'; 
        echo 'ID: ' . $id . '<br>First name: ' . $first . '<br>Surname: ' . $last; 
        echo '</pre>'; 

        $i++; 
    } 
} 
?>

先常规地进行判断,输入单引号等不返回任何信息,输入上述说的两个语句只有第一个返回信息,第二个没有返回任何信息:

 

可以推测存在SQL注入漏洞。

 

竟然如此,我们就直接输入注入语句就成功利用了该漏洞:

 

 

然而,还想进一步挖掘更多的信息,需要进行逐层深入查询的操作。先是输入order by来确定有多少个字段,输入为2时还有返回结果但到3时并没有任何返回,因而可确定含有两个字段:

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
靶场SQL盲注是指在DVWA(Damn Vulnerable Web Application)这个靶场中进行的SQL注入攻击。靶场中有一个名为dvwa的数据库,我们可以通过一系列的注入语句来探测这个数据库中的表的数量和表名的长度。 首先,通过布尔盲注的方式,我们可以使用一些条件语句来判断表的数量。比如,我们可以使用以下语句来判断表的数量是否为1: ```sql 1' and (select count(table_name) from information_schema.tables where table_schema=database())=1# ``` 如果返回结果为真,则说明表的数量为1。同样地,我们可以使用以下语句来判断表的数量是否大于2: ```sql 1' and (select count(table_name) from information_schema.tables where table_schema=database())>2# ``` 如果返回结果为假,则说明表的数量大于2。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [DVWA——SQL盲注(全等级)](https://blog.csdn.net/qq_45833260/article/details/125762606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [DVWAsql注入——盲注](https://blog.csdn.net/Williamanddog/article/details/128404430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值