1.1.针对网站目录路径泄露整改建议统一错误代码:确保你不小心通过提供不一致或“冲突”的错误消息给攻击者。信息错误消息:确保错误信息不透露太多的信息。完全或部分路径,变量和文件名,行和表中的列名,和特定的数据库的错误不应该透露给最终用户。适当的错误处理:利用通用的错误页面和错误处理逻辑,告知潜在的问题的最终用户。不提供系统信息或可能被攻击者利用精心策划的攻击时,其它数据。1.2.针对文件上传漏洞整改建议文件上传功能允许Web用户将文件从自己的计算机发送到Web服务器。如果用于接收文件的Web应用程序未仔细检查此文件是否包含恶意内容,那么攻击者也许能够通过上传文件在服务器上执行任意命令。建议采取严格的文件上传策略,通过清理和筛选避免上传恶意材料。限制文件上传的类型,检查的文件扩展名,只允许特定的文件上传。用白名单的方式而不是一个黑名单。检查双扩展,如.php.png。检查的文件没有文件名一样。htaccess(对ASP.NET配置文件,检查网络配置。)。改变对上传文件夹的权限,文件在此文件夹中不可执行。如果可能的话,重命名上传文件。可能会在Web服务器上运行远程命令。这通常意味着完全破坏服务器及其内容可能会在Web服务器上上载、修改或删除Web页面、脚本和文件在文件上载过程中,限制用户能力和许可权:[1]确保上载脚本只能控制上载的文件名和位置。[2]不上载脚本文件,如asp、aspx、php、jsp等。只允许上载静态内容。[3]只允许上载预期的文件类型。例如,如果您预期纯文本文件,便只允许.txt扩展名。[4]验证上载的文件内容。如果您预期纯文本文件,请确保它不含二进制字符或动态脚本部分。1.3.针对Robot.txt文件WEB站点结构泄露漏洞整改建议可能会检索有关站点文件系统结构的信息,这可能会帮助攻击者映射此Web站点。1、robots.txt文件不应用来保护或隐藏信息2、您应该将敏感的文件和目录移到另一个隔离的子目录,以便将这个目录排除在WebRobot搜索之外。如下列示例所示,将文件移到“folder”之类的非特定目录名称是比较好的解决方案:Newdirectorystructure:/folder/passwords.txt/folder/sensitive_folder/Newrobots.txt:User-agent:*Disallow:/folder/3、如果您无法更改目录结构,且必须将特定目录排除于WebRobot之外,在robots.txt文件中,请只用局部名称。虽然这不是最好的解决方案,但至少它能加大完整目录名称的猜测难度。例如,如果要排除“sensitive_folder”和“passwords.txt”,请使用下列名称(假设Web根目录中没有起始于相同字符的文件或目录):robots.txt:User-agent:*Disallow:/seDisallow:/pa1.4.针对源代码泄露漏洞整改建议攻击者可以收集敏感信息(数据库连接字符串,应用程序逻辑)的源代码分析。该信息可以被用来进行进一步的攻击。1、建议升级最新tomcat中间件。2、建议在tomcat的conf/web.xml文件里加入大写.JSP映射。即servlet-mappingservlet-nameJSP/servlet-nameurl-pattern*.JSP/url-pattern/servlet-mapping1.5.针对SVN库发现漏洞整改建议这些文件可以公开敏感信息,有助于一个恶意用户准备更进一步的攻击。从生产系统中删除这些文件或限制访问.svn目录。拒绝访问所有你需要在适当的范围内添加以下几行svn文件夹(或者全局配置,或者vhost/directory,或者是.htaccess)。Directory~\.svnOrderallow,denyDenyfromall/Directory1.6.针对网络端口未限制漏洞的整改建议1、建议明确每个端口对应的服务进程,根据系统和应用的要求,关闭系统中不必要的服务进程2、建议明确服务器的对外和对内的服务用途,关闭系统中不必要的服务端口(如139、445等)。3、如果需要对外开放其他端口,建议采用IP地址限制(例如:3389端口)。4、建议防火墙关闭不需要的端口,只开放对外提供服务的端口(例如:80端口)。远程攻击者可以根据端口号来判断服务器有哪些应用,并根据相应的应用采取对应攻击,为黑客提供了更多攻击途径与手段。1.1针对SQL注入漏洞的整改建议每个提交信息的客户端页面,通过服务器端脚本(JSP、ASP、ASPX、PHP等脚本)生成的客户端页面,提交的表单(FORM)或发出的连接请求中包含的所有变量,必须对变量的值进行检查。过滤其中包含的特殊字符,或对字符进行转义处理。特殊字符包括:SQL语句关键词:如and、or、select、declare、update、xp_cmdshell;SQL语句特殊符号:’、”、;等;此外,Web应用系统接入数据库服务器使用的用户不应为系统管理员,用户角色应遵循最小权限原则;具体建议如下:1、严格定义应用程序可接受的数据类型(例如,字符串、字母数字字符等)。2、使用肯定的定义而非否定的定义。验证输入中是否存在不正确的字符。采用这样一种基本原理:使用肯定的定义而非否定的定义。有关详细信息,请参阅下面的代码示例。3、不要向最终用户显示提供的信息(如表名)可用于策划攻击的错误消息。4、定义受允许的字符集。例如,如果某个字段要接受数字,请使该字段仅接受数字。5、定义应用程序接受的最大和最小数据长度。6、指定输入可接受的数字范围。1.7.针对跨站脚本漏洞整改建议每个提交信息的客户端页面,通过服务器端脚本(JSP、ASP、ASPX、PHP等脚本)生成的客户端页面,提交的表单(FORM)或发出的连接请求中包含的所有变量,必须对变量的值进行检查。过滤其中包含的特殊字符,或对字符进行转义处理。特殊字符包括:HTML标签的符号、“符号、’符号、%符号等,以及这些符号的Unicode值;客户端脚本(Javascript、VBScript)关键字:javascript、script等;此外,对于信息搜索功能,不应在搜索结果页面中回显搜索内容。同时应设置出错页面,防止Web服务器发生内部错误时,错误信息返回给客户端。1.8.针对Fckeditor编辑器漏洞整改建议1、删除FCKeditor测试页面。2、升级最新版FCKeditor编辑器1.9.针对任意文件下载漏洞整改建议1、禁止用文件名的方式访问网站目录的文件。2、访问的文件名必须限制在规定的目录内,禁止越权使用别的目录1.10.URL跳转漏洞漏洞类型:URL跳转漏洞详细说明:Web应用程序接收到用户提交的URL参数后,没有对参数做“可信任URL”的验证,就向用户浏览器返回跳转到该URL的指令。黑客可以通过URL跳转漏洞进行钓鱼窃取账号修复方案:保证用户所点击的URL,是从web应用程序中生成的URL,所以要做TOKEN验证。1.11.检测到应用程序测试脚本可能会下载临时脚本文件,这会泄露应用程序逻辑及其他诸如用户名和密码之类的敏感信息不可将测试/暂时脚本遗留在服务器上,未来要避免出现这个情况。确保服务器上没有非正常操作所必备的其他脚本。1.12.Apache–TraceEnable可能会窃取或操纵客户会话和cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务譯者:Nicanicaliuatgmaildotcom【Nica註:這是httpd.conf檔裡的設定指令!~】Description:DeterminesthebehaviouronTRACErequestsSyntax:TraceEnable[on|off|extended]Default:TraceEnableonContext:serverconfigStatus:CoreModule:coreCompatibility:AvailableinApache1.3.34,2.0.55andlaterTraditionallyexpertswillsuggesttodisablethisusingsomerewriteruleslike:RewriteEngineOnRewriteCond%{REQUEST_METHOD}^TRACERewriteRule.*-[F](thisneedstobeaddedsomewhereinyourmainapacheconfigfileoutsideofanyvhostordirectoryconfig).Stillthishasthedisadvantagethatyouneedtohavemod_rewriteenabledontheserverjusttomentionone.Butforapacheversionsnewerthan1.3.34forthelegacybranch,and2.0.55(ornewer)forapache2thiscanbedoneveryeasilybecausethereisanewapachevariablethatcontrolsifTRACEmethodisenabledornot:TraceEnableoff解决方案:禁用这些方式。1、在各虚拟主机的配置文件里添加如下语句:在\conf\http.conf里解除LoadModulerewrite_modulemodules/mod_rewrite.so的注释再增加RewriteEngineonRewriteCond%{REQUEST_METHOD}^(TRACE|TRACK)RewriteRule.*-[F]2、AvailableinApache1.3.34,2.0.55andlaterTraceEnableoff1.13.tomcat下禁止不安全的http方法如何禁止DELETE、PUT、OPTIONS、TRACE、HEAD等协议访问应用程序WebDAV(Web-basedDistributedAuthoringandVersioning)是基于HTTP1.1的一个通信协议。它为HTTP1.1添加了一些扩展(就是在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法),使得应用程序可以直接将文件写到WebServer上,并且在写文件时候可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。这个协议的出现极大地增加了Web作为一种创作媒体对于我们的价值。基于WebDAV可以实现一个功能强大的内容管理系统或者配置管理系统。现在主流的WEB服务器一般都支持WebDAV,使用WebDAV的方便性,呵呵,就不用多说了吧,用过VS.NET开发ASP.NET应用的朋友就应该知道,新建/修改WEB项目,其实就是通过WebDAV+FrontPage扩展做到的,下面我就较详细的介绍一下,WebDAV在tomcat中的配置。如何禁止DELETE、PUT、OPTIONS、TRACE、HEAD等协议访问应用程序应用程序呢?解决方法第一步:修改应用程序的web.xml文件的协议Xml代码1.?xmlversion=1.0encoding=UTF-8?2.web-appxmlns=:xsi=:schemaLocation==2.4第二步:在应用程序的web.xml中添加如下的代码即可Xml代码1.security-constraint2.web-resource-collection3.url-pattern/*/url-pattern4.