360网络安全学习笔记——SQLmap
SQLmap简介
SQLmap是一个开源的自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。
SQL注入模式
1.基于布尔的盲注
2.基于时间的盲注
3.基于报错注入
4.联合查询注入
5.堆查询注入
SQL注入支持如下数据库:MySQL, Oracle, PostageSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB
SQLmap检测原理
SQLmap的漏洞检测过程,包括前置发包、布尔盲错误注入、union注入、时间盲注这五个过程。
在SQLmap检测sql注入点的过程中,会有一系列前置发包,主要包括:
网站联通检测:检测网站连通性
WAF探测:检测网站是否受WAF保护
网页稳定性检测:检测网站是否稳定
参数动态性检测:检测参数是否具有动态性
启发式注入检测:单侧该参数点是否是动态的、是否为可能的注入点
误报检测:使用相应相似分析技术来确定是否存在注入点
SQLmap验证网站是否存在注入点
sqlmap.py -u "www.test.com/index.php?id=1"
验证过程
1、判断可注入参数
2、判断可以用哪种SQL注入技术来注入
3、识别出所有存在的注入类型
4、尝试判定数据库的版本、开发语言、操作系统版本
SQLmap参数
-u 直接输入目标URL
-m 从文件中取出保存到url进行检测
-r 从文本中方获取http请求
-g 测试注入Google的搜素结果GET参数
-l 从Burp 或者Web Scarab代理中获取日志
SQLmap请求目标方式
--method 指定使用的http
--data 把数据以POST方式提交
--param-del GET或POST方式提交
--cookie,--load-cookies,--drop-set-cookie 设置cookie
--referer 伪造http中的referer
--headers 增加额外的http头
--timeout 设置超时时间
--retires 设置重试次数
--level 探测风险,共七个等级,默认为1
--risk 风险等级,共四个等级
-p--skip 手动-p设置测试参数,--skip设置忽略参数
SQLmap的tamper功能(绕过WAF)
“=” 被过滤--->”like“代替
“ ” 被过滤--->“%20”代替
“ ‘ ”被过滤--->”%27“代替
翻译 朗读 复制 正在查询,请稍候…… 重试 朗读 复制 复制 朗读 复制 via 谷歌翻译(国内)译