《2024网络web漏洞修复指南手册.docx》由会员分享,可在线阅读,更多相关《2024网络web漏洞修复指南手册.docx(10页珍藏版)》请在优知文库上搜索。
1、网站Web漏洞修复手册序号漏洞分类漏洞名称风险级别漏洞描述加固建议1输入与输出验证SQ1.注入漏洞高危当Web应用程序未对用户输入的数据进行足够的安全处理(如危险字符过海或若语句过滤),而直接拼接SQ1.语句执行时,攻击者可以精心构造参数值,便服务器执行非预期的SQi.语句并返回结果,造成数据库信息泄露.利用SQ1.注入漏洞,攻击者可获取数据库的增、税、改、查权限,甚至执行系统命令,上传后门文件等。针对SQ1.注入漏洞,需要对网站所有参数中提交的数据进行过渔,禁止输入”、xor、一、W、select,and*等特殊字符:所有的查询语句都使用数据库提供的参数化查询接1.l,SQ1.语句使用参数化
2、处理后的数据作为输入,而不是将用户输入变增嵌入到SQ1.语句中:严格限制网站用户对数据库的掾作权限,给此用户提供仅仅能铭满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害:避免网站显示SQ1.错误信息,比如类型错误、字段不匹配等,防止攻击者收柒这些错误信息进行判断进而执行SQ1.注入攻击。2输入与输出验证XSS跨站脚本漏洞高危跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行,攻击者可利用该漏洞窃取或操纵客户会话和cookie,用来模仿合法用户,从而使攻击者获得管理员权限,控制整个网站。1 .在COOkie中设置了HtlpOnly属性,那么通过JaVaSCriP
3、I脚本将无法读取到COokie信息,这样能一定程度上防止XSS攻击。2 .假定所有输入都是可疑的,必须对所有输入中的SCriPt、iframe等字样进行严格的检查。这里的输入不仅仅是用户可以直接交互的输入接口,也包括HrrP请求中的cookie中的变质:,HnP请求头部中的变St等.3 .不仅脸证数据的类型,还要验证其格式、长度、范围和内容:过滤“心、将用户输入放入引号间,基本实现数据与代码隔离:过滤双引号防止用户跨越许可的标记,添加自定义标记;过iTAB和空格,防止关键字被拆分;过浓SCriPl关键字:过滤贴,防止HTM1.属性绕过检查。在客户端和服务器端同时做数据的验证与过港。5 .对输出
4、的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。3输入与输出验证CR1.F注入漏洞高危CR1.F是回车+换行”(rn)的简称在HTTP协议中.HTTPHCader与HTTPBOdy是用两个CR1.F分隔的,浏览器就是根据这两个CR1.F来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话COokie或者HTM1.代码,所以CR1.FInjeCliOn又叫HTTPResponseSplitting.简称HRS。HRS是比XSS危害更大的安全问思针对CR1
5、.F注入漏洞,建议过渡“、5等特殊字符,避免输入的数据污染到其他HrrP头。4输入与输出验证UR1.重定向钓鱼高危通过构建UR1.,攻击者可以使用户重定向到任意UR1.,利用这个漏洞可以诱使用户访问某个页面,挂马、密码记录、下载任意文件等,常被用来钓鱼。1. referer的限制如果确定传递UR1.参数进入的来源,可以通过该方式实现安全限制,保证该UR1.的有效性,避免恶意用户自己生成跳转链接Q2. 加入有效性验证TokCn保证所有生成的链接都是来自于可信域的,通过在生成的链接里加入用户不可控的Token对生成的链接进行校验,可以避免用户生成自己的恶意链接从而被利用。3. UR1.白名单,在白
6、名单内才进行跳转5输入与输出验证HoSl头攻击漏洞高危对开发人员来说,提取请求头中的HoSt参数写入当前页面是个很不明智的选指因为如果这样,攻击者就Ur以通过修改HTTPi?求头中的HoSt字段,控制服务涔返回页面中的UR1.。不允许读取HoSt字段并写入页面。如有需要,应使用服务器脚本自带的SERVER_NAME变量。6输入与输出验证框架注入漏洞高危攻击者彳j可能注入含有恶意内容的frame或iframe标签。如果用户不够谨慎,就有可能浏览该标签所对应的页面,但意识不到自己会离开原始站点而进入恶意的站点。之后,攻击者便可以诱导用户再次登录,然后获取其登录凭证。建议过港以下所有字符:&:$%*
7、,*O()+CR1.F,7输入与输出验证CSRF跨站请求伪造漏洞高危攻击者可利用该漏洞模仿合法用户,从而使攻击者能够以该用户身份杳看或变更用户记录以及执行事务。1.使用验证码使用验证码,那么每次操作都需要用户进行互动,可简单有效的防御CSRF攻击。2 .检测referer通过检查RQrerer的值,我们就可以判断这个请求是合法的还是非法的3 .增加一个随机的token值添加一个参数Token,其值是随机的。这样攻击者因为不知道TOken而无法构造出合法的请求进行攻击。8输入与输出验证文件上传漏涧高危验证上传文件的程序没有对上传文件作任何过渡,导致可以上传任意文件到服务器,甚至是病毒文件和木马文
8、件。对于上传的附件,验证程序要做严格验证,使用服务端校验,而不能仅用前端javascript验证。1 .建议严格限制上传文件类型和上传文件名及后级。2 .检查文件头和文件内容,对上传文件目录的运行权限进行严格限制.3 .及时排查、删除服务器木马文件。9输入与输出验证本地文件包含漏洞高危由于程序员未对用户可控的变量进行输入检杳,导致用户可以控制被包含的文件,成功利川时可以使WebSerVer将特定文件当成脚本执行,从而导致攻击者可获取定的服务器权限:或直接读取系统文件,造成服务器敏感f.i.,J.j针对文件包含漏洞,建议采用“白名单”的方式,限制允许包含的文件范围。10输入与输出验证远程文件包含
9、漏洞高危服务器通过语言的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严格,从而可以去包含一个恶意文件,攻击者就可以远程构造一个特定的恶意文件达到攻击目的。如果一定要动态包含文件,建议最好明确规定包含哪些文件,进行白名单比对。同时,也可以在包含函数中加入目录限制。11输入与输出验证SSRF(服务端请求伪造)高危很多Web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的UR1.,Web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的WCb应用作为代理攻击远程和本地的服务瑞,探测内网信息甚至内网入侵。SSRF形成的原因大都是由于服务端提
10、供J从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定UR1.地址获取网页文本内容,加载指定地址的图片,卜载等等。建议对UrI参数值做严格的限制。12输入与输出验证任意文件读取漏洞高危程序过滤不严,导致可以通过./等方式跳转到其他目录读取任意文件。1 .过滤”./”的特殊字符2 .限制读取文件的目录,不允许跨目录读取13输入与输出验证任意文件下载漏洞高危在正常卜.我链接的文件参数前加来跳出目录限制,下载系统文件等任意文件。该漏洞是由于后台代码未对卜载路径做安全限制引起的。针对任意文件下载漏洞,建议严格限制文件下载路径。14配置管理Struts2dev-mod命令执行漏洞高危
11、网站封装采用APaCheStrutsx*ork作为网站应用框架,且devMode为打开状态。当这个设置开启时,SlrUIS2会提供更多的日志和调试信息来帮助开发者更快速的开发。然而在开发者模式下,将允许OGN1.语句注入,攻击者可能利用此漏洞进行远程代码执行.1 .升级最新版本:2 .系统如果不再使用,请将其下线或用防火墙屏蔽.15配宜管理S2-005命令执行漏洞高危OGM.除其他功能外,还提供了广泛的表达评估功能,该漏洞允许恶意用户绕过构建在ParameIerSlnterceptor中的#-使用保护,从而能够利用此漏洞进行远程代码执行。1 .升级最新版本:2 .系统如果不再使用,请将其下线或
12、用防火墙屏版。16配置管理S2-009命令执行漏洞高危OGN1.除其他功能外,还提供广泛的表达评估功能.该漏洞允许恶意用户绕过构建到ParamCterSlnterCePtQr中的所彳f保护(正则表达式模式,拒绝方法调用),从而能够在任何公开的字符串变量中注入恶意表达式以进一步评估。S2-003和S2F05中已经解决了类似的行为,但事实证明,基于白名单可接受的参数名称所产生的修红只是部分地关闭了漏洞.正则表达式在ParameterSlnterCePtor中匹配top,foo,(0)作为一个仃效的表达式,OGN1.把它视为(topfoo)(0)并旦将f。动作参数的值作为OGN1.表达式来计算。这使
13、得恶意用户可以将任意的OGN1.语句放入任何由操作暴露的字符串变量中,并将其作为OGN1.表达式进行求值,并且由于OGN1.语句在HnP参数值中,攻击者可以使川黑名单字符(例如#)禁用方法执行并执行任意方法绕过了PanUneIerSInIerCePlor和OGN1.库的保护。1 .升级最新版本:2 .系统如果不再使用,请将其下线或用防火墙屏蔽.17配置管理S2-016命令执行漏洞高危在StrUtS2中,DefaUIlACtionMaPPer类支持以action:、redirect:*、redireclAclion:作为导航或是重定向前缀,但是这些前缀后面同时可以跟OGN1.表达式,由于stru
14、ts2没有对这些前缀做过滤,导致利川OGN1.表达式调用java静态方法执行任意系统命令。1 .升级最新版本;2 .系统如果不再使用,请将其下线或用防火墙屏版.18配置管理S2-017UR1.跳转漏洞高危在2.3.15.1之前的StrUtS2中,“redirect:或-redirectAction:”之后的信息可以很容易地被操纵,以重定向到任意位置.1 .升级最新版本:2 .系统如果不再使用,谙将其下线或用防火墙屏敏.19配置管理S2-019命令执行漏洞高危StrUtS2的操作映射机制支持特殊参数前缀操作,这可能会在表格底部附加引导信息,在映射action/前缀操作时存在安全绕过漏洞,可被攻击
15、者利用绕过某些安全限制访问受限制功能,.StrUtS2的DynamiCMethodIn、,。Cation机制是默认开启的(仅提醒用户如果可能的情况下关闭此机制)这样就存在远程代码执行漏洞,攻击者可利用此漏洞在受影响应用上下文中执行任意代码。1 .升级最新版本;2 .系统如果不再使用,请将其下线或用防火堵屏蔽。20配置管理S2-032命令执行漏洞高危动态方法调用启用时,可能会传递个恶意表达式,用于在服务器端执行任意代码。1 .升级最新版本:2 .系统如果不再使用,请将其下线或用防火墙屏蔽,21配置管理S2-037命令执行漏洞高危StrUtS2使用ReSt插件之后,ActionMapping通过org.apache,struts2.rest.RestActionMapper.java类的pub1icActionMappinggetMapping(HttpServ1GtRequestrequest,ConfiguratiOnMa