2019年3月4日,我公司受**基金的委托,对其公司官网,开户系统,交易系统进行渗透测试。渗透测试是一种利用模拟黑客攻击的方式,来评估计算机网络系统安全性能的方法,就像红蓝对抗一样,我方努力渗透进入目标系统,对方则努力进行防守。
这次渗透过程中,我方找到了用户方系统致命级别漏洞,成功获取了服务器的最高权限,同时,守方迅速响应,定位漏洞并修复,一攻一防,构成了一次精彩的没有剧本的对抗演习。
1.渗透
2019年3月4日,我公司受**基金的委托,对其公司官网,开户系统,交易系统进行渗透测试。测试过程中,我们发现了重要漏洞:任意文件上传漏洞。
风险等级:高危
漏洞链接
https://*****fund.com.cn/***tradeorg/login/
漏洞参数:imageSuffix
在渗透测试过程中,通过登录“**基金管理企业版”进行身份证照片上传处,发现图片只是用前端函数简单的进行二次渲染及未严格校验上传的文件类型,导致通过删除过滤函数进行任意文件上传,获取服务器主机权限。
修复建议:
1.最有效的,将文件上传目录直接设置为不可执行,对于Linux而言,撤销其目录的'x'权限,且Web页面不应该以root权限去运行,需创建一个低权限的账号去启动Web服务,实际中很多大型网站的上传应用都会放置在独立的存储上作为静态文件处理,一是方便使用缓存加速降低能耗,二是杜绝了脚本执行的可能性。
2.文件类型检查:建议在服务器端使用白名单方式,结合MIME Type、后缀检查等方式(即只允许允许的文件类型进行上传);此外对于图片的处理可以使用压缩函数或resize函数,处理图片的同时破坏其包含的HTML代码;
2.响应
用户的信息系统资产监测平台当天下午15:30分发现了“异常文件”,于是立即定位了文件的文件名,属性,位置,安全运营团队迅速采取应急措施,与研发团队沟通,确认为非法文件,于是将文件隔离后删除;
3.溯源及修复
用户方安全运营团队与研发团队一起对上传点进行分析,定位了问题根源URL;并且进行了修复;在这个过程中,用户并没有意识到这是一次测试。
在与用户对测试报告的讲解沟通中,双方对称了攻防的信息,才“真相大白”。原来这是一次没有剧本的红蓝对抗演习。
4.思考:
a. 信息系统资产监测平台发挥了重要作用,第一时间对异常文件做出告警;
b.安全运营团队响应迅速,与研发团队一起定位了漏洞的位置并采取措施进行了修复;
c.攻方进行了有限的攻击手段,因为这是测试,所以上传的文件数量少,并且没有进行自我复制和隐藏;若是真实的攻击,威害性会大大增加;
d.系统上线前的安全测试非常重要,此次测试目标已经上线运行近一年,也就是该致使风险存在了相当长的时间,并且系统中存储了用户的身份证复印件等敏感,一旦泄漏,会造成重大损失。
网友评论