蒋小波 沈艺敏 庞富宁
摘要:Burpsuite具备数据包抓取、重放、扫描等信息收集能力以及爆破、解码等主动攻击行为功能,已成为攻击者或渗透测试人员必备工具之一。全面掌握、灵活使用Burpsuite抓包技术,针对网站信息安全渗透测试具有重要意义。本文将在使用Burpsuite进行大量渗透测试实验的基础上,结合Sqlmap对目标数据库注入及目标服务器提权过程中数据包抓取的操作方法及技巧思路进行梳理和原理分析。
关键词:Burpsuite;数据包抓取;提权过程
中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2019)05-0194-01
安全渗透测试环境中,数据库注入占据网站漏洞攻击的70%以上。本文使用Burpsuite工具结合Sqlmap抓取注入过程数据包,分析其攻击原理是防御注入的必要基础。而注入成功后获取其登录权限,利用网页木马由客户端上传至服务端,以控制服务器相关权限,通过提权技术获取目标服务器所有控制权,本文在提权过程中使用Burpsuite抓包并分析其原理,并提出防御措施实现对网站防护的全面掌控。
1 Sqlmap工具注入攻击抓包操作与技巧思路
Sqlmap工具使用前需安装Python环境,Burpsuite需设置代理,本文以抓取Get型注入为例,分析Sqlmap中注入数据包,在操作模式下,综合利用各类操作命令,实施对目标的进一步利用。
本文中出现的缩略词:Burpsuite为工具,Python sqlmap -u http://127.0.0.1/P/P_DETAIL.asp?id=15”为注入环境,--proxy" http://127.0.0.1:8080"为代理,--tables为表,--columns为列。
1.1 判断注入
命令构造:注入环境,若存在注入,则返回数据库类型,本试验提示关键结果为:DBMS: Microsoft Access,初步判断为:Access数据库。利用工具攔截,结果为Get请求。
1.2 列库中表名
命令构造:注入环境 表,返回关键表名为:admin,猜测admin表为登录所属表。
拦截,列表名,命令构造为:注入环境 表 代理,返回关键包,经解密后如下:
AND ASCW(MID((SELECTIIF(LEN(CVAR(COUNT(Name)))=0,CHR(32),CVAR(COUNT(Name))) FROM MSysObjects WHERE Type=1),1,1))>1。分析发现用Sql语句猜表名,返回成功字符。
1.3 列admin表列名
命令构造:注入环境表列-T admin。返回关键结果为:Table:admin |admin||password|。
拦截列名,命令构造:注入环境表列-Tadmin 代理,关键包解密后拦截内容与猜解表名一致。
1.4 列字符
命令构造:注入环境--dump -T admin -C admin,password。返回关键结果:
admin 4621d373cade4e83。
拦截列字符解密发现内容仍与猜表名一致。Password解密明文为:test。
结合上传漏洞,可获服务器权限。
1.5 防御上传漏洞思路
(1)服务端严格验证,注意文件头比对与扩展名过滤。(2)文件名随机化。(3)上传数据存数据库等。
2 提权包分析技巧
获服务器权限后,上传大马,获取Websehll,利用提权操作,进一步对目标利用。截取大马包,解密后分析发现,Webshell调用wscript函数和exec执行提权命令。防御思路:在webconfig中删除读取注册表行,设置impersonate为ture,删除OCX组件等。
经分析,Sqlmap注入利用猜解字符操作。防御SQL注入思路:
(1)过滤常见字符:select,exec,union,create,insert,update,delete,and,*等。(2)正则表达式过滤传参及内容。(3)前端Js代码防范。
3 Burpsuite利用方法总结与展望
除上述抓取注入技术外,此工具还集成Web攻击程序,提供丰富渗透模块库,将抓包技术与渗透测试模块组合应用,可实现对目标权限控制的全面掌控,对网站服务器进行全面的系统安全测试,在信息系统安全评估与防护工作中发挥重要作用。
参考文献
[1] 张坤鹏,郭秀娟.基于SQLMAP的自动注入检测分析[J].民营科技,2017(08):101.
[2] 王琦,白淼.渗透工具SqlMap GET注入使用及原理分析[J].计算机安全,2013(06):73-76.