开发者社区> 网站安全> 正文

高级渗透测试对公司网站漏洞检测详情

简介: 天气逐渐变凉,但渗透测试的热情温度感觉不到凉,因为有我们的存在公开分享渗透实战经验过程,才会让这个秋冬变得不再冷,近期有反映在各个环境下的目录解析漏洞的检测方法,那么本节由我们高级渗透架构师来详细的讲解平常用到的web环境检测点和网站漏洞防护办法。
+关注继续查看

天气逐渐变凉,但渗透测试的热情温度感觉不到凉,因为有我们的存在公开分享渗透实战经验过程,才会让这个秋冬变得不再冷,近期有反映在各个环境下的目录解析漏洞的检测方法,那么本节由我们高级渗透架构师来详细的讲解平常用到的web环境检测点和网站漏洞防护办法。
17

3.14.1. IIS

3.14.1.1. IIS 6.0

后缀解析 /xx.asp;.jpg
目录解析 /xx.asp/xx.jpg (xx.asp目录下任意解析)
默认解析 xx.asa xx.cer xx.cdx
PROPFIND 栈溢出漏洞
PUT漏洞 WebDAV任意文件上传
3.14.1.2. IIS 7.0-7.5 / Nginx <= 0.8.37

在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,则 xx.jpg/xx.php 会被解析为php文件

3.14.1.3. 其他

在支持NTFS 8.3文件格式时,可利用短文件名猜解目录文件

3.14.2. Nginx

3.14.2.1. Fast-CGI关闭

在Fast-CGI关闭的情况下, Nginx 仍然存在解析漏洞:在文件路径(xx.jpg)后面加上 %00.php , 即 xx.jpg%00.php 会被当做 php 文件来解析

3.14.2.2. Fast-CGI开启

在Fast-CGI开启状态下,在文件路径后加上 /xx.php ,则 xx.jpg/xx.php 会被解析为php文件

3.14.2.3. CVE-2013-4547

"a.jpgx20x00.php"

3.14.3. Apache

16

3.14.3.1. 后缀解析

test.php.x1.x2.x3 ( x1,x2,x3 为没有在 mime.types 文件中定义的文件类型)。Apache 将从右往左开始判断后缀, 若x3为非可识别后缀,则判断x2,直到找到可识别后缀为止,然后对可识别后缀进行解析

3.14.3.2. .htaccess

当AllowOverride被启用时,上传启用解析规则的.htaccess

3.14.3.3. CVE-2017-15715

%0A绕过上传黑名单

3.14.4. lighttpd

xx.jpg/xx.php

3.14.5. Windows

Windows不允许空格和点以及一些特殊字符作为结尾,创建这样的文件会自动取出,所以可以使用 xx.php[空格] , xx.php., xx.php/, xx.php::$DATA 可以上传脚本文件

3.15. Web Cache欺骗攻击

3.15.1. 简介

网站通常都会通过如CDN、负载均衡器、或者反向代理来实现Web缓存功能。通过缓存频繁访问的文件,降低服务器响应延迟。

例如,网站 htttp://域名 配置了反向代理。对于那些包含用户个人信息的页面,如 http://域名/home.php ,由于每个用户返回的内容有所不同,因此这类页面通常是动态生成,并不会在缓存服务器中进行缓存。通常缓存的主要是可公开访问的静态文件,如css文件、js文件、txt文件、图片等等。此外,很多最佳实践类的文章也建议,对于那些能公开访问的静态文件进行缓存,并且忽略HTTP缓存头。

Web cache攻击类似于RPO相对路径重写攻击,都依赖于浏览器与服务器对URL的解析方式。当访问不存在的URL时,如 http://域名/home.php/non-existent.css ,浏览器发送get请求,依赖于使用的技术与配置,服务器返回了页面 http://域名/home.php 的内容,同时URL地址仍然是 http://域名/home.php/non-existent.css,http头的内容也与直接访问 http://域名/home.php 相同,cacheing header、content-type(此处为text/html)也相同。

3.15.2. 漏洞成因

当代理服务器设置为缓存静态文件并忽略这类文件的caching header时,访问

http://域名/home.php/no-existent.css 时,会发生什么呢?整个响应流程如下:

浏览器请求 http://域名/home.php/no-existent.css ;
服务器返回 http://域名/home.php 的内容(通常来说不会缓存该页面);
响应经过代理服务器;
代理识别该文件有css后缀;
在缓存目录下,代理服务器创建目录 home.php ,将返回的内容作为 non-existent.css 保存。
3.15.3. 漏洞利用

攻击者欺骗用户访问 http://域名/home.php/logo.png? ,导致含有用户个人信息的页面被缓存,从而能被公开访问到。更严重的情况下,如果返回的内容包含session标识、安全问题的答案,或者csrf token。这样攻击者能接着获得这些信息,因为通常而言大部分网站静态资源都是公开可访问的。

3.15.4. 漏洞存在的条件

漏洞要存在,至少需要满足下面两个条件:

web cache功能根据扩展进行保存,并忽略caching header;
当访问如 http://域名/home.php/non-existent.css 不存在的页面,会返回 home.php 的内容。
3.15.5. 漏洞防御

18

防御措施主要包括3点:

设置缓存机制,仅仅缓存http caching header允许的文件,这能从根本上杜绝该问题;
如果缓存组件提供选项,设置为根据content-type进行缓存;
访问 http://域名/home.php/non-existent.css 这类不存在页面,不返回 home.php 的内容,而返回404或者302。
对图片上传目录进行脚本权限限制,对上传扩展这里做过滤判断。
如果缓存组件提供选项,设置为根据content-type进行缓存;
对get url的地址进行waf的安全过滤,如果对这些安全防护部署以及渗透测试不熟悉的话,建议可以像专业的网站安全公司来处理解决。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2022渗透测试-文件上传漏洞的详细讲解
2022渗透测试-文件上传漏洞的详细讲解
75 0
渗透测试-Windows远程桌面服务漏洞(CVE-2019-0708)
渗透测试-Windows远程桌面服务漏洞(CVE-2019-0708)
49 0
2022渗透测试-命令执行漏洞的详细讲解
渗透测试-命令执行漏洞的详细讲解
32 0
APP做漏洞渗透测试服务的重要性
很多新开发未上线的网站或APP项目平台,都对漏洞安全问题缺乏积极性导致后期出现很多漏洞而造成的损失,因为开发公司只开发设计实现功能,对安全性和漏洞是无法去检测的,术业有专攻,安全方面一定要交给网站安全公司来做,比如有做对网站或APP进行漏洞测试检测有无漏洞等问题的可以向SINE安全寻求技术支持,因为网站漏洞和咱电脑的系统补丁一个道理,每月都会出漏洞补丁要下载修复,而网站漏洞也是要每月定期排查。
36 0
APP漏洞渗透测试实施步骤
在开始APP渗透测试时,根据需要制定步骤,并向委托方详细说明需要使用的工具、方法等。具体操作时,会把渗透测试分成三个部分和阶段,不同的角度使区别的方法有所不同,例如在理论上把渗透测试分为准备阶段、渗透测试阶段、整体对比与评估阶段,而在技术操作上分为探测、攻击渗透、目标权限获取三个阶段。
111 0
网站安全公司渗透测试常见的漏洞有哪些
我们SINE安全在进行Web渗透测试中网站漏洞利用率最高的前五个漏洞。常见漏洞包括注入漏洞、文件上传漏洞、文件包含漏洞、命令执行漏洞、代码执行漏洞、跨站点脚本(XSS)漏洞、SSRF漏洞、XML外部实体(XXE)漏洞、反序列化漏洞、解析漏洞等。,因为这些安全漏洞可能被黑客利用,从而影响业务。以下每一条路线都是一种安全风险。黑客可以通过一系列的攻击手段发现目标的安全弱点。如果安全漏洞被成功利用,目标将被黑客控制,威胁目标资产或正常功能的使用,最终导致业务受到影响。
160 0
网站APP渗透测试越权漏洞介绍
网络上,大家经常可以看到数据库被脱裤、用户信息泄露等由于安全漏洞引发的问题,给用户和企业都带来了很大的损失。由于公司业务发展迅速,功能不断增加,用户数量不断增加,安全问题日益受到人们的关注。业务部门和安全部门在实践安全测试时开展合作,早期测试人员和安全同学通过手工执行安全测试用例来发现问题,随后慢慢地也开始使用一些安全工具,通过自动化的方式来提高发现问题的效率。
71 0
手机IOS-APP渗透测试漏洞防护方案
目前在国内很多项目都有手机端APP以及IOS端,但对于安全性问题无法确保,常常出现数据被篡改,以及会员金额被篡改,或是被入侵和攻击等问题,接下来由Sinesafe渗透测试工程师带大家更深入的了解如何做APP的安全防护以及漏洞检测原理机制。
163 0
渗透测试网站漏洞寻找过程
渗透测试系统漏洞如何找到:在信息收集的根本上找到目标软件系统的系统漏洞。系统漏洞找到我来为大伙儿梳理了4个层面:框架结构模块透明化系统漏洞:依据所APP的的框架结构模块版本号状况,检索透明化系统漏洞认证payload,根据人工或是软件的方法认证系统漏洞。通常这类系统漏洞,存有全部都是许多非常大的系统漏洞。过去系统漏洞:像例如xss\sql注入\ssrf等过去的信息安全系统漏洞,这部分可以运用人工或是软件开展鉴别,就考察大伙儿应对系统漏洞的熟练掌握水平了。动态口令系统漏洞:系统对登录界面点采取动态口令攻击。代码审计0day:在开源代码或未开源代码的状况下,获得目标APP系统源码,开展代码审计。
76 0
网站代码漏洞审计 白盒渗透测试详情
网站白盒渗透测试中要测试的内容非常多,总算赶到了代码审计这一点。期待看过的朋友有一定的感悟,大伙儿通常把代码审计分成黑盒和白盒,大伙儿通常相结合在一起用。平常大家在白盒审计上有多种多样方式,比如一些常见的危险代码函数或执行函数,以及上传漏洞绕过,命令执行反序列化等这些漏洞,总体来讲我们可以梳理为:1.细读全篇 2.追踪.
96 0
+关注
网站安全
Sinesafe专注于网站安全,服务器安全,解决各类网络安全问题,对代码审计以及漏洞修补安全加固有专业的十年实战经验.官方站点www.sinesafe.com
文章
问答
文章排行榜
最热
最新
相关电子书
更多
如何产生威胁情报-高级恶意攻击案例分析
立即下载
网站/服务器取证 实践与挑战
立即下载
网站/服务器取证实践与挑战
立即下载