sql注入 BurpSuite与sqlmap联动,sqlmap友好界面解决办法 CO2(sqlmap插件) 使用
sql注入经常需要使用到sqlmap和Burp Suite,两个软件需要由人来操作进行协同工作。同样sqlmap没有一个足够友好的图形界面。通过采用Burp Suite的CO2插件可以很好的解决上面的问题。
CO2插件安装配置
前置环境
python,sqlmap
CO2安装
打开Burp Suite的扩展插件界面
安装后就会显示CO2的模块
配置sqlmap.py的路径与python.exe的路径
CO2功能介绍
数据发送到CO2
在对应数据右击鼠标,点击Send to SQLMapper即可
命令面板
这里显示将要执行的sqlmap语句,可以在Extra SQLMap Params栏添加自己想要添加的选项参数等。Run执行语句。
请求面板
这里显示抓包得到的网站信息,包含POST,Cookies,Headers等参数,并根据里面的内容自动添加对应参数语句到要执行的sqlmap命令中。
(对应sqlmap的选项)–data=“” --cookie=“” --headers=“”
选项面板
Detection(探测选项列表)
其中可以设定探测注入漏洞的级别(Level)和风险程度(Risk) –level= --risk=
设定字符串匹配、HTTP代码匹配、文本标题比较等 –string= --not-string= --regexp= --code= --text-only --titles --forms
设定要探测的数据库类型和版本 –dbms=
Techniques(注入手段列表)
可以选择注入采取的手段,由上到下分别为:
- 布尔盲注(Boolean-based blind (B))
- 基于报错注入(Error-based (E))
- 联合注入(Union query-based (U))
- 堆叠查询注入(Stacked queries (S))
- 时间盲注(Time-based blind (T))
- 堆叠注入(lnline queries (Q))
可以选者二阶攻击网站(Second Order Attack URL:)
Enumeration(枚举选项列表)
选择要列出来的各项信息
- databases获取数据库列表
- banner获取后台如PHP、Apache、DBMS版本信息等
- is dba判断当前用户
- roles获取数据库用户及权限
- tables获取表
- current db获取当前使用的数据库名
- users获取用户
- comments获取data logged
- columns获取建表的列的信息
- hostname获取主机名
- passwords获取密码
- privileges获取特权
- count数数
- schema获取所有表的列
- current user获取当前用户
- dump转储DBMS数据库表条目并显示
Set limits设置具体限制:
- Pin to Database:指定数据库
- Pin to User:指定用户
- Pin to Table:指定表
- Pin to Column:指定列
- Where:指定
- Start Entry:指定开始输入点
- Stop Entry:指定停止进入点
- First Char:指定开头字符
- Last Char:指定结尾字符
General/Misc.(杂项列表)
-
lmitate Mobile模拟移动设备
-
Check for WAF检测防火墙
-
ldentify WAF识别防火墙
-
Purge Output吹扫输出
-
Flush Session刷新会话
CO2具体使用实例
准备与分析
试验靶场采用sqli-labs第21关,前置条件得先配置好浏览器和BurpSuite代理。
先随便输入用户名和密码。
得到返回的cookies信息,想到用以cookie为关键字注入。
在BurpSuite查看抓包的对应的网站上一次提交的信息,Get方法里包含的Cookie信息,Cookie值uname和我们提交的不一样,考虑到加密。
选中加密内容右键发送给解码器(Decoder)
智能解码发现有不是加密内容的一部分
删掉后BASE64解码得到我们提交的用户名,证明是将Cookie进行了Base64加密。后面考虑使用sqlmap自带的base64encode.py脚本应对cookie的Base64加密。
采用CO2进行注入
之后将获取到的信息发送给CO2
自动提取到了URL和Cookies
添加sqlmap自带的base64encode.py脚本。
–batch(用来在sqlmap分析时默认选择y)。
考虑到sqlmap对于cookies在level为2及以上就会测试,将level和risk提高。
然后run,成功得到结果,在cookies参数有基于布尔的盲注漏洞。
将获取数据库和获取当前使用的数据库选项选上再次RUN
得到数据库与使用的数据库’security’
再取消前面的选项,指定刚刚得到的数据库’security’选中输出其表的选项,再RUN
得到有这些表
再取消前面的选项,指定刚刚得到的数据库’security’以及表user,选中输出列的选项,再RUN
得到user表对应的列
再取消前面的选项,指定刚刚得到的数据库’security’、表user以及password,username列,选中dump,再RUN
成功得到这个表的数据。
再取消前面的选项,指定刚刚得到的数据库’security’、表user以及password,username列,选中dump,再RUN
成功得到这个表的数据。