web漏洞

作者: 肥羊猪 | 来源:发表于2021-03-05 09:07 被阅读0次

    前端 :跨站脚本攻击XSS、CSRF攻击、点击劫持、iframe带来的风险、不安全的第三方依赖包。

    点击劫持是一种视觉欺骗的攻击手段。
    攻击者将需要攻击的网站通过 iframe 嵌套的方式嵌入自己的网页中,并将 iframe 设置为透明,在页面中透出一个按钮诱导用户点击。
    即攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。
    通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。
    
    防御:
    DNS劫持由于涉嫌违法,已经被监管起来,现在很少会有DNS劫持,而http劫持依然非常盛行。
    最有效的办法就是全站HTTPS,将HTTP加密,这使得运营商无法获取明文,就无法劫持你的响应内容。
    
    前端渲染的时候对任何的字段都需要做 escape 转义编码。
    对script标签,将特殊字符替换成HTML编码
    纯前端渲,把代码和数据分隔开。
    渲染过程:浏览器先加载一个静态 HTML,此 HTML 中不包含任何跟业务相关的数据;然后浏览器执行 HTML 中的 JavaScript;JavaScript 通过 Ajax 加载业务数据,调用 DOM API 更新到页面上。
    
    在使用 .innerHTML、.outerHTML、document.write() 时要特别小心,
    不要把不可信的数据作为 HTML 插到页面上,而应尽量使用 .textContent、.setAttribute() 等。
    
    
     iframe防御:
    iframe有了一个叫做sandbox的安全属性,通过它可以对iframe的行为进行各种限制,在 iframe 元素中添加上这个关键词就行,另外,sandbox也提供了丰富的配置参数,我们可以进行较为细粒度的控制。一些典型的参数如下:
    allow-forms:允许iframe中提交form表单
    allow-popups:允许iframe中弹出新的窗口或者标签页(例如,window.open(),showModalDialog(),target=”_blank”等等)
    allow-scripts:允许iframe中执行JavaScript
    allow-same-origin:允许iframe中的网页开启同源策略
    
    CSRF攻击防御:
        1、验证 HTTP Referer 字段。
        2、不让第三方网站访问到用户 Cookie。
        3、使用 token验证。
        4、显示验证方式:添加验证码、密码等。
        5、涉及到数据修改操作严格使用 post 请求而不是 get 请求。
    
    NSP(Node Security Platform),Snyk、sonarQubej检测工具可以检测第三方插件问题
    
    

    1.SQL注入漏洞
    2.跨站脚本漏洞 xss


    跨站脚本漏洞.png
    常用的防止XSS技术包括: 
    (1)必须对所有输入中的script、iframe等字样进行严格的检查。
    这里的输入不仅仅是用户可以直接交互的输入接口,也包括HTTP请求中的Cookie中的变量,HTTP请求头部中的变量等。 
    (2)不仅要验证数据的类型,还要验证其格式、长度、范围和内容。 
    (3)不要仅仅在客户端做数据的验证与过滤,关键的过滤步骤在服务端进行。 
    (4)对输出的数据也要检查,数据库里的值有可能会在一个大网站的多处都有输出,即使在输入做了编码等操作,在各处的输出点时也要进行安全检查。 
    (5)在发布应用程序之前测试所有已知的威胁。
    
    

    3.弱口令漏洞
    4.HTTP报头追踪漏洞

    防御HTTP报头追踪漏洞的方法通常禁用HTTP TRACE方法。
    
    

    5.Struts2远程命令执行漏洞
    6.文件上传漏洞

    通常由于网页代码中的文件上传路径变量过滤不严造成的,
    如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,
    攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。 
    因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。
    同时限制相关目录的执行权限,防范webshell攻击。
    
    

    7.私有IP地址泄露漏洞
    8.未加密登录请求
    9.敏感信息泄露漏洞

    SQL注入、XSS、目录遍历、弱口令等均可导致敏感信息泄露
    
    

    10.CSRF 跨站请求伪造

    攻击者盗用了你的身份,以你的名义发送恶意请求
    CSRF攻击是源于WEB的隐式身份验证机制!WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的
    
    CSRF攻击防御:
        1、验证 HTTP Referer 字段。
        2、不让第三方网站访问到用户 Cookie。
        3、使用 token验证。
        4、显示验证方式:添加验证码、密码等。
        5、涉及到数据修改操作严格使用 post 请求而不是 get 请求。
    
    CSRF攻击的思想.png

    Web应用攻击是攻击者通过浏览器或攻击工具,在URL或者其它输入区域(如表单等),向Web服务器发送特殊请求,从中发现Web应用程序存在的漏洞,从而进一步操纵和控制网站,查看、修改未授权的信息。

    Web应用漏洞的防御实现
    1.对用户提交的URL、查询关键字、HTTP头、POST数据等进行严格的检测和限制,只接受一定长度范围内、采用适当格式及编码的字符,阻塞、过滤或者忽略其它的任何字符。通过编写安全的Web应用代码,可以消除绝大部分的Web应用安全问题。

    相关文章

      网友评论

          本文标题:web漏洞

          本文链接:https://www.haomeiwen.com/subject/gvasfltx.html