您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 常见Web漏洞描述及加固建议
序号漏洞名称危险等级漏洞描述、漏洞地址及解决方案1跨站脚本漏洞高漏洞描述:跨站脚本攻击是指应用程序没有对用户的输入,以及页面的输出进行严格地过滤,从而使恶意攻击者能往Web页面里插入恶意代码,当用户浏览该页面时,嵌入其中Web里面的恶意代码会被执行,从而达到恶意攻击者的特殊目的。漏洞地址:解决方案:[1]对用户输入的数据进行严格过滤,包括但不限于以下字符及字符串Javascriptscriptsrcimgonerror{}()=,.;:'#!/*\[2]根据页面的输出背景环境,对输出进行编码[3]使用一个统一的规则和库做输出编码[4]对于富文本框,使用白名单控制输入,而不是黑名单[5]在Cookie上设置HTTPOnly标志,从而禁止客户端脚本访问Cookie2SQL注入漏洞高漏洞描述:当应用程序使用输入内容来构造动态SQL语句以访问数据库时,如果对输入的参数没有进行严格的过滤或者过滤不完整将会导致SQL注入攻击的产生。恶意用户通过构造特殊的SQL查询语句把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。从而可以获取到数据库的相关信息,包括数据库账号密码信息,甚至可上传木马,从而控制服务器。漏洞地址:解决方案:[1]对用户的输入进行严格过滤,包括所有的参数,URL和HTTP头部等所有需要传给数据库的数据。包括但不限于以下字符及字符串selectandorlikeregxpfromwhereupdateexecorderbyhavingdropdelete()[],.;:'#%+-_=/*@[2]预编译SQL语句,而不要动态组装SQL语句,否则必须确保在使用输入的数据组装成SQL语句之前,对特殊字符进行预处理。[3]以最小权限执行SQL语句3IIS波浪字符目录枚举漏洞高漏洞描述:MicrosoftIIS处理波浪符号存在一个短文件/文件夹名泄露问题,攻击者可利用此漏洞枚举web目录中的文件,从而获取敏感信息。解决方案:[1]升级.NETFramework:=17718[2]或修改注册表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]NtfsDisable8dot3NameCreation=dword:1IIS短文件名枚举漏洞高漏洞描述:MicrosoftIIS处理波浪符号存在一个短文件/文件夹名泄露问题,攻击者可利用此漏洞枚举web目录中的文件,从而获取敏感信息。解决方案:[1]升级.NETFramework:=17718[2]或修改注册表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]NtfsDisable8dot3NameCreation=dword:14敏感信息传输未加密中漏洞描述:诸如用户名、密码和信用卡号之类的敏感输入字段未经加密即进行了传递,任何以明文传给服务器的信息都可能被监听窃取。漏洞地址:解决方案:[1]对敏感信息进行加密后再传输[2]传输敏感信息页面采用https协议慢HTTP拒绝服务攻击漏洞中漏洞描述:根据HTTP协议规定,服务器在处理请求之前,需要接收完整的HTTP请求。所以如果HTTP请求未接收完整,或者网络传输速率非常慢,服务器会保留其资源,直到其余的数据也接收完成为止。如果未完成的请求过多,就会占用服务器大量资源,从而导致拒绝服务攻击。攻击者利用此漏洞可只使用较少的资源即可导致系统崩溃,运行中断。解决方案:[1]配置WEBServer相应文件,设置一个合适的超时时间(如5000ms),以及时释放资源。[2]升级WEBServer版本。密码字段通过GET方法传输中漏洞描述:GET是Form的默认方法。GET方法是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,导致敏感信息在多个位置有副本,增加了敏感信息泄露的风险。漏洞地址:解决方案:[1]敏感信息应该采用POST方法提交,且提交前应进行加密测试文件未删除低漏洞描述:web应用程序在开发过程中,程序员为了测试代码功能,在web目录下放置测试文件,该文件一般没有采用相应的安全措施,另外还可能包含敏感信息。攻击者可能通过读取上述文件的内容,从而进一步攻击目标站点。漏洞地址:解决方案:[1]将测试文件删除或者转移到其他合理的位置。[2]测试应该在测试机上面进行,而非生产机。[3]使用的测试页面建议限制可访问的源地址范围,如只允许内网访问或只允许明确的个别互联网IP进行访问ASP.NETPaddingOracle高漏洞描述:PaddingOracle漏洞原是2010年黑客大会发布出来的十大漏洞之一,主要是针对ASPX加密算法,通过提交的密钥撞击,可以破解出应该WEB应用的配置信息如数据库用户的连接密码。服务器如果开通远程数据库连接,直接给黑客攻击提供渗透渠道。如果输入的密文不合法,类库则会抛出异常,这便是一种提示。攻击者可以不断地提供密文,让解密程序给出提示,不断修正,最终得到的所需要的结果。解决方案:[1]厂商提供补丁[2]在网站根目录的web.config中设置customError为On,并指定错误信息页面,如下所示configurationsystem.webcustomErrorsmode=OndefaultRedirect=~/error.html//system.web/configurationerror.html需自己创建。[3]限制能连接数据库的IP范围。不安全HTTP方法未禁用高漏洞描述:WebDAV(Web-basedDistributedAuthoringandVersioning)一种基于HTTP1.1协议的通信协议。它扩展了HTTP1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对WebServer直接读写,还可以支持文件的版本控制。不合理的权限配置导致任意用户可以通过PUT方法直接上传任意文件到有写权限的目录,例如攻击者可上传WebShell,从而控制网站。解决方案:[1]限制PUT、DELETE、SEARCH、COPY、MOVE等危险的方法的访问权限[2]如果不需要使用上述方法,应关闭方法默认错误信息未屏蔽低漏洞描述:由于配置问题或代码问题访问目标出错时返回默认错误信息,可能包含SQL语句、Web应用的物理路径、应用的版本信息等等。攻击者可以通过这些信息来进行下一步的攻击。漏洞地址:解决方案:[1]优化代码从而避免程序报错[2]通过自定义错误页面来屏蔽错误信息,包括但不限于以下错误页面400,401,403,404,405,500等[3]系统正式上线后应关闭调试功能备份文件泄露中漏洞描述:目标服务器上存在备份文件。恶意攻击者可以通过浏览器浏览其内容或直接下载到本地进行深入分析。如果备份文件中包含了源码,恶意攻击者可以通过对源码的分析,会更加容易的找到程序的脆弱点。如果备份文件中包含了敏感的信息,则恶意攻击者有可能直接使用这些信息获取对目标服务器的控制。漏洞地址:解决方案:[1]检查服务器WEB路径下的特殊后缀文件,注意一定要同时包含隐藏文件[2]删除无用的备份文件,对WEB源码目录建议仅设置可读权限,以免备份文件的写入[3]备份文件不能存储在服务器WEB应用的路径中,建议备份存储在其他专用备份服务器或其他移动存储介质上目录列表功能未禁用中漏洞描述:当用户访问的网址是某个目录地址的时候,服务器自动显示该目录所包含的文件列表内容。通过浏览服务器地址,可以查看到此目录下的所有文件的名称,一些敏感的文件可能被获取(例如存放数据库连接账户的配置文件等)。解决方案:[1]如果该功能非必须,请禁用[2]如果该功能为正常业务需要,请限制普通用户访问的范围仅为正常业务范围CVS信息泄露中漏洞描述:CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。CVS文件如果被非法访问会泄露管理账号和物理路径,攻击者能利用这些信息进一步进行攻击。漏洞地址:解决方案:[1]配置敏感文件的访问权限[2]或移除敏感文件到非Web应用的目录SVN信息泄露高漏洞描述:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。主要用于在多人开发环境下的源码的维护,SVN目录如果被非法访问,攻击者可通过该目录获取敏感信息,如网站服务器端源代码,从而利用这些信息进一步进行攻击。漏洞地址:解决方案:[1]配置敏感文件的访问权限[2]或移除敏感文件到非Web应用的目录SSL证书过期中漏洞描述:远程服务器的SSL证书已经过期。远程服务使用SSL进行通信有助于帮助用户识别所访问的是否经过认证的网站。如果证书已过期,浏览器会给出相应警告提示,用户点击确认后可继续访问。如果通信流量被监听,也会提示证书存在问题。此时如果用户没注意到,而习惯性关闭警告窗口,导致通信流量被监听而未发觉。解决方案:[1]购买或生成一个新的SSL证书来取代现有的。SSL2.0协议未禁用中漏洞描述:远程服务使用SSL2.0进行通信连接加密,根据公开的漏洞曝露报告,此版本的协议存在一些加密缺陷,并已废弃多年。攻击者可以利用这些已公开的漏洞发动中间人攻击或解密受此影响的客户端之间的通信内容。解决方案:[1]禁用SSL2.0SSL3.0协议未禁用中漏洞描述:支持SSLv3协议的网站存在被中间人攻击的风险,“Poodle”攻击(全称为PaddingOracleOnDownloadedLegacyEncryption)可以提取出SSL连接中的加密数据相应的明文信息。攻击者可以利用这个漏洞发动中间人攻击或解密受此影响的客户端之间的通信内容。解决方案:[1]禁用SSL3.0密码明文存储高漏洞描述:诸如密码和信用卡号之类的敏感字段在数据库中必须加密之后再存储。否则敏感信息会容易泄露。解决方案:[1]采用通用的标准加密算法,不建议使用自行开发的算法[2]对于不需要还原的信息应采用不可逆的加密算法,且需要增加随机值管理地址泄露中漏洞描述:站点信息的更新和配置通常通过后台管理来实现的,所以管理地址应该只有管理员知道,不向普通用户开放。web应用程序开发者或者站点维护者可能使用常用的后台地址名称来管理,比如admin、manager等容易猜测的关键字。攻击者可能通过爬虫程序或者使用常用的管理地址尝试访问目标站点,获取站点的后台管理地址。攻击者已知管理地址后,可能结合其他漏洞,从而非法进入后台管理系统。漏洞地址:解决方案:[1]使用不易猜测的后台管理地址名称。[2]网站前端程序和后台管理程序分离,比如为后台管理地址设置一个二级域名。[3]限制允许对管理页面访问的IP范围。[4]如果不需要通过以上管理地址进行管理,建议关闭相关功能。缺乏防暴力破解机制中漏洞描述:登录页面没有使用验证码作为增强验证方式、密码错误次数限制或双因子认证等缺乏防暴力破解机制,攻击者可以利用口令破解工具进行表单破解从而获取正确的账号口令。漏洞地址:解决方案:[1]登录页面增加图形验证码作为增强验证方式,建议图形验证码包含随机干扰像素、有扭曲、变形、重叠等元素,以增加口令破解难度。[2]密码输入错误超过一定次数情况,应采用锁定账号等安全措
本文标题:常见Web漏洞描述及加固建议
链接地址:https://www.777doc.com/doc-6147253 .html