天天看点

网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)

作者:软件开发资料查询网
网络安全等级保护测评方案编制模板获取请:转发+评论。进主页获取更多资料。
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)
网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)

web安全检查项清单:

网络安全等级保护测评方案-标准化编制范文(附web漏洞合集)

web漏洞合集描述和修复建议:

漏洞分类 漏洞名称 风险级别 漏洞描述 加固建议
输入与输出验证 SQL注入漏洞 高危 当Web应用程序未对用户输入的数据进行足够的安全处理(如危险字符过滤或者语句过滤),而直接拼接SQL语句执行时,攻击者可以精心构造参数值,使服务器执行非预期的SQL语句并返回结果,造成数据库信息泄露。利用SQL注入漏洞,攻击者可获取数据库的增、删、改、查权限,甚至执行系统命令,上传后门文件等。 针对SQL注入漏洞,需要对网站所有参数中提交的数据进行过滤,禁止输入"'"、"xor"、"or"、"--"、"#"、"select"、"and"等特殊字符;所有的查询语句都使用数据库提供的参数化查询接口,SQL语句使用参数化处理后的数据作为输入,而不是将用户输入变量嵌入到SQL语句中;严格限制网站用户对数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害;避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者收集这些错误信息进行判断进而执行SQL注入攻击。
输入与输出验证 XSS跨站脚本漏洞 高危 跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行,攻击者可利用该漏洞窃取或操纵客户会话和 cookie,用来模仿合法用户,从而使攻击者获得管理员权限,控制整个网站。

1.在cookie中设置了HttpOnly属性,那么通过JavaScript脚本将无法读取到cookie信息,这样能一定程度上防止XSS攻击。

2.假定所有输入都是可疑的,必须对所有输入中的script、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的cookie中的变量,HTTP请求头部中的变量等。

3.不仅验证数据的类型,还要验证其格式、长度、范围和内容。

4.过滤“<” 、“>” 将用户输入放入引号间,基本实现数据与代码隔离;过滤双引号防止用户跨越许可的标记,添加自定义标记;过滤TAB和空格,防止关键字被拆分;过滤script关键字;过滤&#,防止HTML属性绕过检查。在客户端和服务器端同时做数据的验证与过滤。

5.对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。

输入与输出验证 CRLF注入漏洞 高危 CRLF是”回车 + 换行”(\r\n)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS。HRS是比XSS危害更大的安全问题。 针对CRLF注入漏洞,建议过滤\r 、\n等特殊字符,避免输入的数据污染到其他HTTP头。
输入与输出验证 URL重定向钓鱼 高危 通过构建URL,攻击者可以使用户重定向到任意URL,利用这个漏洞可以诱使用户访问某个页面,挂马、密码记录、下载任意文件等,常被用来钓鱼。

1.referer的限制

如果确定传递URL参数进入的来源,可以通过该方式实现安全限制,保证该URL的有效性,避免恶意用户自己生成跳转链接。

2.加入有效性验证Token

保证所有生成的链接都是来自于可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用。

3.URL白名单,在白名单内才进行跳转

输入与输出验证 Host头攻击漏洞 高危 对开发人员来说,提取请求头中的Host参数写入当前页面是一个很不明智的选择。因为如果这样,攻击者就可以通过修改HTTP请求头中的Host字段,控制服务器返回页面中的URL。 不允许读取Host字段并写入页面。如有需要,应使用服务器脚本自带的SERVER_NAME变量。
输入与输出验证 框架注入漏洞 高危 攻击者有可能注入含有恶意内容的 frame 或 iframe 标签。如果用户不够谨慎,就有可能浏览该标签所对应的页面,但意识不到自己会离开原始站点而进入恶意的站点。之后,攻击者便可以诱导用户再次登录,然后获取其登录凭证。 建议过滤以下所有字符:| & ; $ % @ ' " \' \" <> () + CR LF , \。
输入与输出验证 CSRF跨站请求伪造漏洞 高危 攻击者可利用该漏洞模仿合法用户,从而使攻击者能够以该用户身份查看或变更用户记录以及执行事务。

1.使用验证码

使用验证码,那么每次操作都需要用户进行互动,可简单有效的防御CSRF攻击。

2.检测referer

通过检查Referer的值,我们就可以判断这个请求是合法的还是非法的

3.增加一个随机的token值

添加一个参数Token,其值是随机的。这样攻击者因为不知道Token而无法构造出合法的请求进行攻击。

输入与输出验证 文件上传漏洞 高危 验证上传文件的程序没有对上传文件作任何过滤,导致可以上传任意文件到服务器,甚至是病毒文件和木马文件。

对于上传的附件,验证程序要做严格验证,使用服务器端校验,而不能仅用前端javascript验证。

1.建议严格限制上传文件类型和上传文件名及后缀。

2.检查文件头和文件内容,对上传文件目录的运行权限进行严格限制。

3.及时排查、删除服务器木马文件。

输入与输出验证 本地文件包含漏洞 高危 由于程序员未对用户可控的变量进行输入检查,导致用户可以控制被包含的文件,成功利用时可以使web server将特定文件当成脚本执行,从而导致攻击者可获取一定的服务器权限;或直接读取系统文件,造成服务器敏感信息泄露。 针对文件包含漏洞,建议采用“白名单”的方式,限制允许包含的文件范围。
输入与输出验证 远程文件包含漏洞 高危 服务器通过语言的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严格,从而可以去包含一个恶意文件,攻击者就可以远程构造一个特定的恶意文件达到攻击目的。 如果一定要动态包含文件,建议最好明确规定包含哪些文件,进行白名单比对。同时,也可以在包含函数中加入目录限制。
输入与输出验证 SSRF(服务端请求伪造) 高危 很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器,探测内网信息甚至内网入侵。 SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。建议对url参数值做严格的限制。
输入与输出验证 任意文件读取漏洞 高危 程序过滤不严,导致可以通过../../../等方式跳转到其他目录读取任意文件。

1.过滤”../”的特殊字符

2.限制读取文件的目录,不允许跨目录读取

输入与输出验证 任意文件下载漏洞 高危 在正常下载链接的文件参数前加 ../../../../ 来跳出目录限制,下载系统文件等任意文件。该漏洞是由于后台代码未对下载路径做安全限制引起的。 针对任意文件下载漏洞,建议严格限制文件下载路径。
配置管理 Struts2 dev-mod命令执行漏洞 高危

网站封装采用Apache Struts xwork作为网站应用框架,且devMode为打开状态。当这个设置开启时,Struts2会提供更多的日志和调试信息来帮助开发者更快速的开发。

然而在开发者模式下,将允许OGNL语句注入,攻击者可能利用此漏洞进行远程代码执行。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-005命令执行漏洞 高危 OGNL除其他功能外,还提供了广泛的表达评估功能。该漏洞允许恶意用户绕过构建在ParametersInterceptor中的“#” - 使用保护,从而能够利用此漏洞进行远程代码执行。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-009命令执行漏洞 高危

OGNL除其他功能外,还提供广泛的表达评估功能。该漏洞允许恶意用户绕过构建到ParametersInterceptor中的所有保护(正则表达式模式,拒绝方法调用),从而能够在任何公开的字符串变量中注入恶意表达式以进一步评估。

S2-003和S2-005中已经解决了类似的行为,但事实证明,基于白名单可接受的参数名称所产生的修复只是部分地关闭了漏洞。

正则表达式在ParametersInterceptor中匹配top ['foo'](0)作为一个有效的表达式,OGNL把它视为(top ['foo'])(0)并且将'foo'动作参数的值作为OGNL表达式来计算。这使得恶意用户可以将任意的OGNL语句放入任何由操作暴露的字符串变量中,并将其作为OGNL表达式进行求值,并且由于OGNL语句在HTTP参数值中,攻击者可以使用黑名单字符(例如#)禁用方法执行并执行任意方法绕过了ParametersInterceptor和OGNL库的保护。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-016命令执行漏洞 高危 在struts2中,DefaultActionMapper类支持以"action:"、"redirect:"、"redirectAction:"作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGNL表达式,由于struts2没有对这些前缀做过滤,导致利用OGNL表达式调用java静态方法执行任意系统命令。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-017URL跳转漏洞 高危 在2.3.15.1之前的Struts 2中,“redirect:”或“redirectAction:”之后的信息可以很容易地被操纵,以重定向到任意位置。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-019命令执行漏洞 高危 Struts2的操作映射机制支持特殊参数前缀操作,这可能会在表格底部附加引导信息,在映射 "action:" 前缀操作时存在安全绕过漏洞,可被攻击者利用绕过某些安全限制访问受限制功能。Struts2的Dynamic Method Invocation机制是默认开启的(仅提醒用户如果可能的情况下关闭此机制)这样就存在远程代码执行漏洞,攻击者可利用此漏洞在受影响应用上下文中执行任意代码。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-032命令执行漏洞 高危 动态方法调用启用时,可能会传递一个恶意表达式,用于在服务器端执行任意代码。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-037命令执行漏洞 高危 Struts2使用Rest插件之后,ActionMapping通过org.apache.struts2.rest.RestActionMapper.java类的publicActionMappinggetMapping(HttpServl etRequest request,ConfigurationManagerconfigManager)的方法获取的。其中,当请求url是如下的格式:actionName/id/methodName会获取methodName 作为ActionMapping的method属性。但method属性未做任何处理,同S2-032漏洞执行流程一致,都是将ActionMapping的属性设置到ActionProxy中,从ActionProxy中获取method属性带入到ognl表达式中执行,通过OGNL表达式静态调用获取ognl.OgnlContext的DEFAULT_MEMBER_ACCESS属性并覆盖_memberAccess的方式进行绕过,进而可在受控制的服务器端执行任意代码。即攻击者在部署了REST插件的Struts 2服务器上均可利用该漏洞远程执行任意命令

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-045命令执行漏洞 高危 使用 Jakarta 文件上传插件的 Struts,攻击者可在上传文件时通过修改HTTP请求头中的 Content-Type 值来触发该漏洞,进而执行系统命令。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-046命令执行漏洞 高危 使用 Jakarta 文件上传插件的 Struts,攻击者可在上传文件的大小(由 Content-Length 头指定)大于 Struts2 允许的最大大小(2GB),文件名内容构造恶意的 OGNL 来触发该漏洞,进而执行系统命令。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 S2-052命令执行漏洞 高危 Struts2 REST 插件使用带有 XStream 程序的 XStream Handler 进行未经任何代码过滤的反序列化操作,这可能在反序列化XML payloads时导致远程代码执行。任意攻击者都可以构造恶意的XML内容提升权限。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 JDWP远程命令执行漏洞 高危 JDWP 是 Java Debug Wire Protocol 的缩写,它定义了调试器(debugger)和被调试的 Java 虚拟机(target vm)之间的通信协议。当对外开启该协议的Java调试模式时,存在远程命令执行漏洞。允许攻击者远程执行代码,获得服务器权限。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 ElasticSearch命令执行漏洞 高危 该漏洞存在于一个名为ElasticSearch.yml的文件,在这个文件中存在一个配置项“script.disable_dynamic”,默认为“false”。此默认配置允许服务器动态执行用户发送的任意代码。黑客只需要通过一个URL地址向服务器传送一段代码,就可以创建和执行他们自己的程序。一旦黑客获得通过,他们在服务器上的操作将不受任何限制,包括窃取网站中的用户账号及密码等敏感信息,或者留下一个后门程序。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 Resin任意文件读取漏洞 高危 安装某些版本Resin服务器的网站存在可读取任意文件的漏洞,攻击者利用该漏洞可以读取网站服务器的任意文件内容。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 GNU Bash远程命令执行 高危 GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。

1.升级最新版本;

2.系统如果不再使用 ,请将其下线或用防火墙屏蔽。

配置管理 Unicode 转换漏洞 高危 在Unicode在转换时,由于超长字节序列和错误格式引起子序列的安全问题。通过特殊的编码格式绕过程序对恶意字符的检测,可以用在SQL注入、XSS等。

1.升级Unicode版本至官方最新稳定版本http://www.unicode.org

2.Unicode转化UTF-8编码后,对转换后进行安全检测,对特殊字符过滤或进行安全编码后输出。

配置管理 检测到网站被黑痕迹 高危 网站页面已被篡改或已有入侵痕迹。 清除网站木马,全面检测网站漏洞并及时修复。
配置管理 使用被弃用的SSL 2.0协议 高危 网站https使用了SSL 2.0协议。该协议非常老旧且已被弃用。该协议存在大量已知的安全漏洞,比如DROWN漏洞等。 禁用SSL 2.0或者使用SSL 3.0 或TLS 1.0代替。
配置管理 OpenSSL远程内存泄露漏洞(心脏滴血漏洞) 高危 OpenSSL是一款开放源码的SSL实现,用来实现网络通信的高强度加密。漏洞与OpenSSL TLS/DTLS传输层安全协议heartbeat扩展组件(RFC6520)相关,因此漏洞又被称为“heartbleed bug”(中文名称:“心血”漏洞)。该漏洞无需任何特权信息或身份验证,就可以获得X.509证书的私钥、用户名与密码、cookies等信息,进一步可直接从服务提供商和用户通讯中窃取聊天工具消息、电子邮件以及重要的商业文档和通信等私密数据。 升级OpenSSL版本到最新的1.0.1g;使用-DOPENSSL_NO_HEARTBEATS参数重新编译低版本的OpenSSL以禁用Heartbleed模块。
配置管理 JBoss Seam参数化EL表达式远程代码执行漏洞 高危

JBoss Seam是一个Java EE5框架,把JSF与EJB3.0组件合并在一起,从而为开发基于Web的企业应用程序提供一个最新的模式。

JBoss Seam处理某些参数化JBoss EL表达式的方式存在输入过滤漏洞( CVE-2010-1871)。如果远程攻击者能够诱骗通过认证的JBoss Seam用户访问特制的网页,就可能导致执行任意代码

升级至4.3.0 EL4或以上更高的、确认已修复此漏洞的版本。参考链接:https://bugzilla.redhat.com/show_bug.cgi?id=615956
配置管理 Weblogic Java反序列化远程命令执行漏洞 高危 Weblogic存在Java反序列化漏洞,攻击者可以远程执行系统命令,获得服务器权限。 及时升级官方补丁。
配置管理 JBoss反序列化漏洞 高危 根源在CommonsCollections组件中对于集合的操作存在可以进行反射调用的方法,并且该方法在相关对象反序列化时并未进行任何校验,导致远程代码执行。利用漏洞,允许攻击者远程执行系统命令,获得服务器权限,导致服务器运行安全风险。

1.针对JBoss Java反序列化漏洞,建议更新jboss版本到最新版(http://www.jboss.org/)或 更新官方补丁。

2.针对数据库帐号密码进行修改,要求密码长度8位数以上,密码复杂程度必须包含数字、大小写字母及特殊字符。

3.对服务器进行全面安全检查,及时排查、清除webshell等后门文件;及时修改数据库密码等。

配置管理 JBoss JMXInvokerServlet远程命令执行漏洞 高危 Jboss在默认安装的时候,会安装http-invoker.sar站点,当请求invoker/JMXInvokerServlet或invoker/EJBInvokerServlet会调用org.jboss.invocation.http.servlet.InvokerServlet.class处理请求。该类对GET请求和POST请求,统一调用processRequest函数处理,因此,攻击者需要自己构造一个jboss的类,并且将其序列化,然后将序列化的数据直接提交到存在漏洞站点的invoker/JMXInvokerServlet页面,恶意代码将会被执行。 建议删除或禁止访问/invoker/JMXInvokerServlet文件。
配置管理 Apache ActiveMQ远程代码执行漏洞 (CVE-2016-3088) 高危 Apache ActiveMQ Fileserver 存在多个安全漏洞,可使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码(CVE-2016-3088)。

1.ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建议用户升级至 5.14.0 及其以后版本。

2.通过移除 conf\jetty.xml 的以下配置来禁用 ActiveMQ Fileserver 功能

配置管理 Apache Tomcat示例目录漏洞 高危 tomcat安装时默认的演示、文档页面,会造成信息泄露和XSS跨站脚本漏洞,攻击者可以创建、销毁或控制session。 删除相关功能演示页面。
配置管理 Tomcat版本过低漏洞 中危 Tomcat由于版本过低存在安全漏洞。 升级Tomcat版本或及时打补丁。
配置管理 S2-053命令执行漏洞 中危 Apache Struts2 Freemarker标签如果被错误的配置使用,将会导致RCE远程代码执行漏洞。

1.升级到Apache Struts版本2.5.12或2.3.34

2.使用只读属性来初始化value属性(仅限getter属性)

3.Freemarker标签内容不要通过Request方式获取

配置管理 HPPT.sys远程代码执行漏洞(MS15-034) 中危

远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

影响以下版本操作系统的IIS服务器:Windows 7、Windows 8、Windows server 2008、Windows server 2012

用户安装微软官方修复补丁(3042553)。

https://support.microsoft.com/zh-cn/kb/3042553

配置管理 WebDav文件上传/信息泄露漏洞 中危 WebDAV是一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法。使应用程序可直接对Web Server文件进行读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。远程攻击者可能利用此漏洞非授权读写文件。 通常情况下网站不需要支持额外的方法,建议禁用WebDav服务,关闭PUT、MOVE、COPY等方法。
配置管理 slowhttp拒绝服务攻击 中危 如果远程攻击者使用发包工具向Apache服务器发送了不完整的HTTP请 求,服务器会打开连接等待接受完整的头,但如果发包工具不再继续发送完整请求而是发送无效头的话,就会一直保持打开的连接。这种攻击所造成的影响很严重, 因为攻击者不需要发送很大的通讯就可以耗尽服务器上的可用连接。也就是说,即使低带宽的用户也可以攻击大流量的服务器。

1.升级到最新版的apache

2.在httpd.conf中添加RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

3.直接在 iptables 中限制每个 IP 的连接数可以解决以上绝大部分问题,除非攻击者拥有众多肉鸡,否则单 IP 的攻击将失去效果。

iptables -A INPUT -p tcp --syn --dport 8889 -m connlimit --connlimit-above 20 -j REJECT --reject-with tcp-reset

配置管理 jQuery版本过低(jQuery低版本存在跨站) 中危 jQuery 1.6.3之前版本中存在跨站脚本漏洞。当使用location.hash选择元素时,通过特制的标签,远程攻击者利用该漏洞注入任意web脚本或HTML。 升级jQuery版本。
配置管理 不安全的javascript库文件 中危 该版本的javascript库存在多个安全漏洞 升级javascript库版本。
配置管理 传输层保护不足漏洞 中危 传输层保护不足,会暴露传输的数据,导致数据被窃听,账号被盗等,如果是管理员的账号面临这个问题,那么将会导致整个网站处于数据暴露的状态,将对网站和用户造成严重的甚至无法挽回的损失。

1.对所有敏感的页面使用SSL,非SSL请求的页面应该被重定向到SSL请求的页面。

2.对所有敏感的Cookie,设置“secure”的flag。

3.保证SSL的提供商只支持强大的算法,这样就不能够被轻易破解。(使用标准的强算法)

4.确保您的证书是有效的,不过期,不被撤销,并匹配这个网站使用的所有域。

5.后台和其他的连接也应该使用SSL或其他加密技术。

6.即使是开发者的注释也应该很好的被保护,防止信息泄露。

配置管理 服务器启用了TRACE Method方法 中危

1. 恶意攻击者可以通过TRACE Method返回的信息了解到网站前端的一些信息,如缓存服务器等,从而为下一步的攻击提供便利。

2.恶意攻击者可以通过TRACE Method进行XSS攻击

3.即使网站对关键页面启用了HttpOnly头标记和禁止脚本读取cookie信息,那么通过TRACE Method恶意攻击者还是可以绕过这个限制读取到cookie信息。

禁用TRACE方法。
配置管理 点击劫持漏洞(X-Frame-Options头缺失) 中危 通过覆盖不可见的框架误导受害者点击,受害者点击的是他所看到的网页,但其实他所点击的是被黑客精心构建的另一个置于原网页上面的透明页面。 设置X-Frame-Options值来防御利用iframe嵌套的点击劫持攻击。
配置管理 启用了不安全的HTTP方法(启用了OPTIONS方法) 中危 开启了不安全的HTTP方法:DELTE/SEARCE/COPY,MOVE/PROPFIND/PROPPATCH/MKCOL/LOCK/UNLOCK/PUT,可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。 如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。
配置管理 域名访问限制不严格 中危 目标存在域名访问限制不严格漏洞。Http请求的Hostname字段没有严格的域名限制,导致可以绕过一些防护措施。 配置WEB服务器,限制只能以域名形式访问服务器。
信息泄露 SVN源代码泄露 高危

造成SVN源代码漏洞的主要原因是管理员操作不规范。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的‘entries’文件,逐步摸清站点结构。

更严重的问题在于,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。

针对SVN信息泄露漏洞,建议删除WEB目录里的SVN文件或限制访问.svn目录,并升级SVN软件至1.7或以上更高版本
信息泄露 .idea工程目录信息泄露漏洞 高危 .idea目录用来放置开发工程的一些配置文件,通常是.xml文件。其中workspace.xml里面存放一些开发者个人配置,比如开发路径、开发环境等。里面包含一些敏感信息。 生产环境中删除.idea目录及该目录下的文件,或配置网站服务器禁止访问.idea目录。
信息泄露 ASP.NET_Padding_Oracle信息泄露(MS10-070) 高危 ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息泄漏漏洞。成功利用此漏洞的攻击者可以读取服务器加密的数据,例如视图状态。 此漏洞还可以用于数据篡改,如果成功利用,可用于解密和篡改服务器加密的数据。 建议将Microsoft .NET Framework 更新至最新版本。
信息泄露 .git信息泄露 高危 泄露网站敏感信息,攻击者可直接获取源码信息实施进一步攻击。 删除.git目录。
信息泄露 错误页面信息泄露(应用程序错误信息) 中危 攻击者可以根据错误或警告消息收集服务器信息。

1.关闭web服务器错误提示;

2.关闭运行平台的错误提示;

3.建立错误机制,不要把真实的错误反馈给访问者。捕获后台抛出的异常,制定异常固定跳转页面,如500错误,跳转到相应页面,例如“系统异常请与管理员联系”,403异常,找不到页面等等。

信息泄露 备份文件泄露 中危 在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。

1.删除不必要的备份文件;

2.设置访问权限;

3.将备份文件放至服务器其它目录下。

信息泄露 目录遍历 中危 攻击者通过不指定url中的具体文件,来查看某个目录下的所有文件和目录结构。 针对目录遍历漏洞,建议通过修改配置文件,去除Web 容器(如Apache)的文件目录索引功能。
信息泄露 IIS短文件名漏洞 中危 Microsoft IIS在实现上存在文件枚举漏洞,攻击者可以利用“~”字符猜解或遍历服务器中的文件名,或对IIS服务器中的.Net Framework进行拒绝服务攻击。 针对IIS短文件名漏洞,建议禁止url中使用“~”或它的Unicode编码,或关闭windows的8.3格式功能。
信息泄露 源代码泄露漏洞 中危 部分或全部页面源代码泄露,攻击者可审查源代码泄露的可用信息进一步渗透。 删除源代码文件或对需要的未解析的源代码进行解析。
信息泄露 robots.txt文件泄露 中危 泄露网站敏感信息,包括网站的后台页面或其它隐私页面。

1.robots.txt 文件不应用来保护或隐藏信息。

2.应该将敏感的文件和目录移到另一个隔离的子目录,以便将这个目录排除在 Web Robot 搜索之外。如下列示例所示,将文件移到“folder”之类的非特定目录名称是比较好的解决方案: New directory structure: /folder/passwords.txt /folder/sensitive_folder/

New robots.txt: User-agent: * Disallow: /folder/

3.如果您无法更改目录结构,且必须将特定目录排除于 Web Robot 之外,在 robots.txt 文件中,请只用局部名称。虽然这不是最好的解决方案,但至少它能加大完整目录名称的猜测难度。例如,如果要排除“sensitive_folder”和 “passwords.txt”,请使用下列名称(假设 Web 根目录中没有起始于相同字符的文件或目录): robots.txt: User-agent: * Disallow: /se Disallow: /pa。

信息泄露 敏感信息泄露 中危 敏感信息泄露一般包括:中间件、软件框架(cms)类型和版本信息,数据库表结构、网站架构、账号密码体系等等。这些信息一般在服务器错误信息、html注释、隐藏表单、示例文件等地方出现。攻击者得到这些信息,有助于缩小攻击范围,进行有针对性的更深层次的攻击。 对于一般信息泄露,删除无用页面,或删除页面中的敏感信息即可。对于敏感报错信息泄露,需要设置代码捕获异常,并抛出异常,服务端出现异常后不在客户端回显,统一返回不包含敏感信息的错误页面。
信息泄露 Github信息泄露漏洞 中危 开发人员使用Github进行代码管理。而免费用户在Github上的项目内容可在网站中检索到,并对所有用户开放可查看。泄露的敏感信息一般包括:软件源代码、程序账号密码等等。攻击者得到这些信息,可以进行代码审计,更有针对性的找到网站漏洞,甚至可以获得用户账号密码,直接登录获得用户权限。 删除敏感的Github项目代码,对可能泄露的帐号密码及时进行修改。
信息泄露 PHP探针信息泄露 中危 PHP探针文件会导致网站敏感信息泄露 删除默认安装PHP探针文件。
信息泄露 phpinfo页面泄露 中危 泄露网站服务器敏感信息,包括网站物理路径、PHP版本、服务器信息及环境变量等。

1.通过修改服务器环境内php.ini文件,将“expose_php = On”修改成“expose_php = Off”然后重启php即可。

2.如果确实需要该测试信息,在测试时使用,测试完毕后将该文件删除掉。

3.若无需要可以将一些php的危险函数禁用,打开/etc/php.ini文件,查找到 disable_functions,添加需禁用的以下函数名:phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen

信息泄露 发现隐藏目录 低危 尝试了检测服务器上的隐藏目录,403 Forbidden 响应泄露了存在此目录,即使不允许对其进行访问,泄露网站目录结构。 可对禁止的资源发布“404 - Not Found”响应状态代码,或者将其完全除去。
信息泄露 内部IP地址泄露 低危 泄露内网IP地址 禁止将内网IP置于网站页面或代码层中。
信息泄露 OpenSSH CBC模式信息泄露漏洞 低危 配置为CBC模式,OpenSSH没有正确地处理分组密码算法加密的SSH会话中所出现的错误,导致可能泄露密文中任意块最多32位纯文本。

临时解决方案:在SSH会话中仅使用CTR模式加密算法,如AES-CTR

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

https://downloads.ssh.com/

信息泄露 未加密的登录请求 低危 检测中发现登录请求(例如:用户名、密码、电子邮件地址、社会安全号码等)被发送到服务器的过程中并未采用通讯加密协议或加密。恶意人员可通过数据截包实现网站管理员用户名、密码信息的截获。 注册或登录时,客户发送请求敏感信息进行加密,例如密码、电话、邮件等敏感信息进行加密传输。

继续阅读