15、SQL注入——Sqlmap
2023-12-13 05:29:30
文章目录
一、Sqlmap简介
1.1 sqlmap可以对URL干嘛?
- 判断可注入的参数
- 判断可以使用哪一种SQL注入技术进行注入
- 判断识别数据库的类型
- 根据用户的选择,从数据库中读取数据
1.2 Sqlmap支持的注入技术
- 基于联合查询的注入:可以使用UNION的情况下的注入。
- 基于布尔的盲注:根据返回页面判断条件真假的注入。
- 基于时间的盲注:不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
- 基于报错的注入:页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
- 堆查询注入:同时执行多条语句的注入。
1.3 SQLmap检测注入漏洞的流程
- 网站连通性检测:检测目标的连接状态
- WAF探测:检测网站是否受到WAF保护
- 网页稳定性探测:检测网页是否稳定
- 参数动态性检测:检测参数是否具有动态性
- 启发式注入检测:检测该参数点是否时动态的、是否为可能的注入点。
1.4 Sqlmap的误报检测机制
- 误报检测:Sqlmap的布尔盲注、时间盲注方式判断注入点时,存在误报的可能。为防止误报,sqlmap引入了误报检测机制。
- 两个基础检测算法:
- 页面相似度对比技术(在各种注入技术中大量使用)
在Sqlmap检测的整个过程中,会有一个原始响应的定义,指的是在网站连通性检测的过程中,如果网站成功响应(包括状态码、HTTP响应头、HTTP响应体)。一个HTTP请求成功响应后,将于原始响应进行比较,得出对比结果,算法输出为True当前响应与原始响应相似,算法输出为False表示当前响应与原始响应不相似。 - 高斯分布识别响应机制(在UNION注入和时间盲注过程中使用)
网站的响应是基于逻辑的,如果一组请求,网站的处理逻辑相同,那么响应几乎也是相同的。如果某一个响应出现了变化,则可以认为网站处理逻辑变了,这种逻辑的变化,可能正是因为注入成功了。
- 页面相似度对比技术(在各种注入技术中大量使用)
二、sqlmap基本使用
sqlmap
sqlmap -u "url" //-u选项是检测注入点
sqlmap -u "url" --dbs //--dbs选项是列出所有数据库名
sqlmap -u "url" --current-db //--current-db选项是列出当前数据库的名字
sqlmap -u "url" -D "数据库名" --tables //-D是指定一个数据库 --tables是列出这个数据库的所有表名
sqlmap -u "url" -D "数据库名" -T "表名" --columns //-T是指定表名 --columns是列出所有的字段名
sqlmap -u "url" -D "数据库名" -T "表名" -C "字段名" --dump //-C是指定字段 --dump是列出字段内容
sqlmap -u "url" --os-shell //运行shell命令
文章来源:https://blog.csdn.net/qq_55202378/article/details/134812091
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!