常见36种WEB渗透测试漏洞描述及解决 *** -文件上传
漏洞描述:文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件,进而远程控制网站服务器。
解决 *** :
在前后端对上传文件类型限制,如后端的扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小,或将上传文件放在安全路径下;严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击;对上传文件格式进行严格校验及安全扫描,防止上传恶意脚本文件;设置权限限制,禁止上传目录的执行权限;严格限制可上传的文件类型;严格限制上传的文件路径;文件扩展名服务端白名单校验;文件内容服务端校验;上传文件重命名,并隐藏上传文件路径。
如何进行web渗透测试
Web应用的渗透测试流程主要分为3个阶段:信息收集、漏洞发现、漏洞利用。
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
三、漏洞利用
针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试。
手工测试
手工测试是通过客户端或服务器访问目标服务,手工向目标程序发送特殊的数据,包括有效的和无效的输入,观察目标的状态、对各种输入的反应,根据结果来发现问题的漏洞检测技术。
工具测试
*** 上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。
渗透测试的渗透测试分类
实际上渗透测试并没有严格的分类方式,即使在软件开发生命周期中,也包含了渗透测试的环节,但根据实际应用,普遍认同的几种分类 *** 如下: 1、黑箱测试
黑箱测试又被称为所谓的“Zero-Knowledge Testing”,渗透者完全处于对系统一无所知的状态,通常这类型测试,最初的信息获取来自于DNS、Web、Email及各种公开对外的服务器。
2、白盒测试
白盒测试与黑箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包括 *** 拓扑、员工资料甚至网站或其它程序的代码片断,也能够与单位的其它员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟企业内部雇员的越权操作。
3、隐秘测试
隐秘测试是对被测单位而言的,通常情况下,接受渗透测试的单位 *** 管理部门会收到通知:在某些时段进行测试。因此能够监测 *** 中出现的变化。但隐秘测试则被测单位也仅有极少数人知晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。 1、主机操作系统渗透
对Windows、Solaris、AIX、Linux、SCO、SGI等操作系统本身进行渗透测试。
2、数据库系统渗透
对MS-SQL、Oracle、MySQL、Informix、Sybase、DB2、Access等数据库应用系统进行渗透测试。
3、应用系统渗透
对渗透目标提供的各种应用,如ASP、CGI、 *** P、PHP等组成的WWW应用进行渗透测试。
4、 *** 设备渗透
对各种防火墙、入侵检测系统、 *** 设备进行渗透测试。
0条大神的评论