服务人工
漏洞检测项目所有
优势解决不掉
APP漏洞检测支持
服务地区全国
SINE安全对网站漏洞检测具有的安全技术人员,而且完全不依靠软件去扫描,所有漏洞检测服务都是由我们人工去检测,比如对代码进行审计,以及都每个网站或APP的功能进行单独的详细测试,如跨权限漏洞,支付漏洞绕过,订单价格被篡改,或订单支付状态之类的,或会员找回密码这里被强制找回等,还有一些逻辑漏洞,上传漏洞,垂直权限漏洞等等。
当攻击者通过API调用遍历攻击系统时,他们必须弄清楚可以发送些什么来获取数据。攻击者“信奉”这样的一个事实:即越复杂的系统,出错的地方越多。攻击者识别出API后,他们将对参数进行分类,然后尝试访问管理员(垂直特权升级)或另一个用户(水平特权升级)的数据以收集其他数据。通常,太多不必要的参数被暴露给了用户。
在近的研究项目中,我们对目标服务的API调用返回了大量数据,很多都是不必要的数据信息,例如付款网关的处理器密钥和可用的折扣信息等。这些“奖励信息”使攻击者可以更好地理解这些API调用的上下文和语法。攻击者不需要太多的想象力就能弄清楚下一步该怎么做。这些额外的参数为攻击者提供了丰富的攻击数据集。解决方法:如果将用户看到的内容范围限制为必需内容,限制关键数据的传输,并使数据查询结构未知,那么攻击者就很难对他们知道的参数进行爆密。

多年以来,应用程序设计总是优先考虑功能性和可用性,很少考虑安全性。很多CISO表示,API安全性尤其不被重视,甚至完全被排除在安全设计流程之外。通常都是开发人员开发和部署完成后,在API投入生产且频繁遭受攻击后才亡羊补牢查找问题。安全性(包括API安全性)需要成为产品设计的一部分,并且应作为首要考虑因素加以实现,而不是事后填坑。
解决方法:审查应用程序的安全体系结构是迈向安全系统的重要步。请记住,API使攻击者能更高效地攻击或利用您的系统。设计安全性的目标是让API成为用户而非攻击者的高效工具。以上只列举了一些常见的API漏洞,总之,重要的是在软件开发生命周期的早期阶段就讨论安全问题。微小的改进就可以带来巨大的好处,避免API遭攻击造成的巨大和品牌损失。

讨论回顾完上次整改的问题之后,理清了思路。然后我登录了网站查看一下原因,因为网站只有一个上传图片的地方,我进行抓包尝试,使用了repeater重放包之后,发现返回包确实没有返回文档上传路径,然后我又尝试了各种绕过,结果都不行。后苦思冥想得不到结果,然后去问一下这个云平台给他们提供的这个告警是什么原因。看了云平台反馈的结果里面查杀到有图片码,这个问题不大,上传文档没有执行权限,而且没有返回文档路径,还对文档名做了随机更改,但是为啥会有这个jsp上传成功了,这让我百思不得其解。
当我仔细云平台提供的发现webshel数据的时候,我细心的观察到了文档名使用了base编码,这个我很疑惑,都做了随机函数了还做编码干嘛,上次测试的时候是没有做编码的。我突然想到了问题关键,然后使用burpsuite的decoder模块,将文档名“1jsp”做了base编码成“MS5Kc1A=”,然后发送成功反馈状态码200,再不是这个上传失败反馈500状态码报错了。
所以,这个问题所在是,在整改过程中研发人员对这个文档名使用了base编码,导致文档名在存储过程中会使用base解析,而我上传文档的时候将这个后缀名.jsp也做了这个base编码,在存储过程中.jsp也被成功解析,研发没有对解析之后进行白名单限制。其实这种编码的更改是不必要的,毕竟原来已经做了随机数更改了文档名了,再做编码有点画蛇添足了,这就是为啥程序bug改一个引发更多的bug原因。

应对措施:文档上传的绕过方法网上一搜有很多(比如upload-labs的各种方法、绕防火墙的各种方法(虽然很多已经过时),可能还有些没有公开的方法,总结一下:1.常规的绕过方法:文档后缀(大小写、文档别名等等)、文档名(文档名加分号、引号等等)、文档内容(比如图片马)、请求包结构等等。
2.结合服务器解析漏洞:IIS、apache、nginx的特定版本都有对应的解析漏洞。3.利用文档包含漏洞:如果有文档包含漏洞,可以结合文档包含漏洞,上传马。4.利用组件漏洞:如果知道组件版本和名称,可以网上找一下相应漏洞。注:手动一个一个去试各种方法,的确很麻烦,可以试试burpsuit的上传插件upload-scanner(但本人觉得并不好用)。
SINE安全网站漏洞检测时必须要人工去审计漏洞和查找漏洞找出问题所在并修复漏洞,对各项功能都进行了全面的安全检测。
http://www.qdshtddzkj.com