安全是有分量的

防ddos_防ddos流量攻击_零元试用

2021-05-05 14:21栏目:网络

防ddos_防ddos流量攻击_零元试用

开放式Web应用程序安全项目(OWASP)是一个成熟的组织,致力于通过创建工具、文档和信息来提高Web应用程序的安全性,这些工具、文档和信息包括每年十大Web应用程序漏洞。以下是其列表中出现的最新关键漏洞的汇编,以及有关如何修复每个漏洞的信息。1.SQL注入描述:当数据从不受信任的源进入应用程序并用于动态构造SQL查询时,会出现SQL注入漏洞。SQL注入可能导致数据丢失或损坏、缺乏责任感或拒绝访问。注入有时会导致主机完全接管。修正/建议:必须使用正确的服务器端输入验证从用户输入中过滤出危险字符。此外,华为DDOS防御做的最好,使用准备好的语句/参数化存储过程可以确保将输入作为文本处理。示例代码段(输入验证):字符串输入=请求.getParameter("SeqNo");字符串字符模式="[0-9a-zA-Z]";如果(!输入。匹配(字符模式){输出.println("无效输入");}2.跨站点(XSS)脚本描述:在这些情况下,在应用程序中处理无效的用户控制的数据,大规模DDoS攻击的最佳防御点,从而导致恶意脚本的执行。XSS漏洞允许攻击者捕获用户信息和/或将HTML代码注入易受攻击的web应用程序。修复/建议:客户端和服务器端都应该使用正确的服务器端输入验证和输出编码,以防止脚本的执行。应从用户输入中筛选出危险字符[例如:|,&,;,如何防御最新的ddos,$,%,@,,,",\',\",,(),+,CR(回车符,ASCII 0x0d),LF(换行符,ASCII 0x0a),(逗号),\]。示例代码片段(编码技术):3.信息泄露描述:web应用程序可能通过引发异常或生成错误消息来显示系统数据或调试信息。通过输出流或日志记录函数泄漏系统数据或调试信息可能使攻击者获得有关应用程序的知识并对其进行专门的攻击。修复/建议:确保最终用户可见的错误代码和其他消息不包含敏感信息。清理所有邮件,删除任何不必要的敏感信息确保调试、错误消息和异常不可见。示例代码段:catch(异常e){if(log.isDebugEnabled已启用()) 日志.调试(上下文,事件.ADHOC,"捕获到InvalidGSMException异常--"+e.toString());}4.帧注入描述:输入参数的不正确验证可能导致攻击者注入帧以泄露机密用户信息。帧注入是网络钓鱼攻击中常用的一种方法修复/建议:使用严格符合安全规范的可接受输入的白名单示例代码段:字符串输入=请求.getParameter("input");字符串字符模式="[/a-zA-Z0-9?"="&]";如果(!输入。匹配(字符模式){输出.println("无效输入");}5.URL重定向描述:虽然web应用程序通常会将用户重定向或转发到其他网站/页面,但攻击者通常会在没有适当重定向验证的情况下利用易受攻击的应用程序。这可能导致恶意重定向到不受信任的页面。修复/建议:使用一个可接受输入的白名单,多服务器防御ddos,这些输入严格符合规范,并且用于重定向的已批准的url或域。示例代码段:字符串输入=请求.getParameter("input");字符串字符模式="[/a-zA-Z0-9?"="&]";如果(!输入。匹配(字符模式){输出.println("无效输入");}6.缺少会话超时描述:如果未正确配置非活动超时,攻击者可能获得对web应用程序的未授权访问。修复/建议:确保超时功能正确配置并正常工作。示例代码段:157.敏感信息在GET URL中以明文形式传递描述:使用GET请求通过查询字符串传递信息的Web应用程序是以明文形式执行的。这使得通过GET传递的任何敏感信息在浏览器历史记录和服务器日志中都可见。修复/建议:使用POST而不是GET可以确保机密信息在查询字符串参数中不可见。8.会话ID Cookies未标记为安全描述:如果web应用程序的会话ID cookie被标记为安全的,浏览器将不会通过未加密的HTTP请求传输它们。如果不这样做标记,攻击者就可以通过明文访问和查看cookies。修复/建议:确保敏感cookies设置为"secure"属性,怎样防御ddos,以确保它们始终通过HTTPS传输。示例代码段:Cookie Cookie=新Cookie("mycokiename");cookie.安全(正确);9.跨框架脚本(XFS)描述:XFS漏洞利用与XSS结合使用,将浏览器指向攻击者控制的网页。在这些情况下,恶意页面在HTML框架中加载第三方页面。然后,攻击者页面上的脚本能够在用户不知情的情况下从第三方页面窃取数据。修复/建议:应该使用适当的验证来过滤掉任何恶意的输入,这些输入可以被注入到一个框架中,并在用户的浏览器上在主页框架的上下文中执行。示例代码段:if(top==self)}document.documentElement.style.display='block';}其他{顶部位置= 自我定位;}10.敏感信息以明文形式显示在屏幕上说明:敏感信息(如密码、信用卡信息)不应以明文形式显示在屏幕上。除了肩上冲浪攻击外,以明文形式存储的敏感数据经常会被发现进入客户端缓存,一旦发现,很容易被窃取。修复/建议:敏感信息应该被屏蔽,这样用户就看不到了示例代码段:11.缓存敏感信息描述:浏览器通常在其缓存中存储请求项的副本:网页、图像等。这为存储、处理和显示敏感数据的应用程序造成了安全漏洞,因为攻击者可以访问用户的浏览器缓存中包含的任何信息。修复/建议:应使用HTTP缓存控制头,例如Cache-Control:no-Cache、no-store-Pragma:no-Cache。示例代码段:12.加密强度不足描述:使用小于1024位密钥大小进行加密的应用程序可以通过暴力攻击进行攻击修复/建议:使用更高版本的位密钥大小,2048位或更大。13.CRLF(回车和换行)注入描述:当恶意内容在用户无意中单击恶意链接后插入到浏览器的HTTP响应头中时,就会发生CRLF攻击。黑客通常会通过web应用程序/服务器将恶意代码注入用户的浏览器中,使偶然的检测变得困难。修复/建议:URL在传输前对所有字符串进行编码。确保在传输shell元字符和命令终止符(例如,CR或LF)之前从用户数据中过滤掉。示例代码段:字符串作者=请求.getParameter(AUTHOR_PARAM);Cookie Cookie=new Cookie("作者",ESAPI编码器().encodeForURL(作者));cookie.setMaxAge(库克到期日);响应.addCookie(饼干);14.违反信任边界描述:Web应用程序经常错误地将可信和不可信数据混合在同一个数据结构中,导致未经验证/未过滤的数据被信任/使用的事件。修正/建议:在将数据移动到可信边界之前,应该对数据使用适当的输入验证和输出编码。示例代码段:字符串sessionPolicyId=请求.getParameter("id");如果(sessionPolicyId.matches("[0-9a-zA-Z++")){会话.setAttribute("sessionPolicyId",sessionPolicyId);}15.目录遍历描述:通过接受控制或影响文件系统操作中使用的文件路径/名称的用户输入,易受攻击的web应用程序可使攻击者访问或修改其他受保护的系统资源。修复/建议:严格遵守规范的可接受数据输入的白名单可以防止目录遍历漏洞利用。示例代码段:字符串输入=请求.getParameter("文件名");如果(ESAPI.validator.验证程序().isValidFileName(字符串上下文,字符串输入,boolean allowNull)){File=new File(input);}16.会话固定描述:在这些情况下,易受攻击的web应用程序在不首先破坏与所述用户相关联的现有会话的情况下对用户进行身份验证。这使得攻击者能够通过劫持用户的活动会话来访问用户的帐户。修复/建议:在授权新用户会话之前销毁所有现有会话标识符。示例代码段:会话.无效();会议=请求.getSession(正确);17.使用有风险的密码算法描述:使用非标准算法的Web应用程序是弱加密的,允许黑客使用暴力方法相对容易地获得访问权限。修复/建议:当存储或传输敏感数据时,在发送/存储之前,使用强大的、最新的加密算法对数据进行加密。示例代码段:消息摘要md=MessageDigest.getInstanc