首页 > 其他分享 >XSS的攻击和怎么防止XSS的攻击

XSS的攻击和怎么防止XSS的攻击

时间:2023-06-23 10:12:32浏览次数:38  
标签:XSS 攻击 恶意代码 用户 恶意 防止 服务器

XSS:Cross Site Scripting【跨站脚本攻击】

一、概念

  • 黑客向HTML文件或者DOM中添加恶意脚本
  • 从而在用户浏览页面时利用插入的恶意代码,对用户实施攻击

二、分类

  • 存储型XSS攻击
    • 黑客向存在漏洞的服务器插入一段恶意JavaScript代码
    • 当用户向服务器请求资源的时候就会请求到该恶意JavaScript脚本。
    • 用户浏览页面的时候用户的Cookie等信息就会被上传到服务器。
    • 黑客拿到了用户的 cookie等信息后,就可以在别的设备登陆进行一些恶意操作
  • 反射型XSS攻击
    • 用户将一段包含有恶意代码的请求提交给web服务器
    • web服务器又将这段恶意代码反射给浏览器端。
    • 常见的有QQ群和QQ邮件中一些诱导用户点击的恶意链接
  • 基于DOM的XSS攻击
    • 基于DOM的XSS攻击是不涉及到web服务器的
    • 而是黑客通过某些手段将恶意代码直接注入到用户的页面中。
    • 有可能是通过网络劫持在页面传输过程中修改了HTML页面的内容。
    • 或者通过本地的恶意软件劫 持等方法。
    • 他们共同的特点是在web资源传输过程中或者用户使用页面过程中修改了web页面的数据。

 三、防止XSS攻击

1、服务器端对输入的脚本信息进行过滤或者编码

  过滤是将标签内的内容过滤掉,这样恶意的JavaScript代码也就无法执行了,转码是将"<",">"进行转码

2、充分利用CSP等策略【内容安全策略】

  核心思想:让服务器决定浏览器能够加载哪些资源

  CSP的功能

    限制加载其他域下的资源文件,使得即使注入了恶意脚本也无法被执行

    禁止向第三方提交信息,这样即使被注入了恶意代码,也无法将用户的Cookie发送给恶意服务器

    禁止执行内联脚本和未授权脚本

    还提供了上报机制,可以帮助我们更快地发现XSS攻击 

3、设置HttpOnly

  • 服务器可以将cookie设置为HttpOnly,HttpOnly可以保障Cookie只在http连接中被获取
  • 这样的话恶意的JavaScript代码就无法获取到用户的cookie了。

 

参考地址:前端面试题XSS攻击和防御 - 哔哩哔哩 (bilibili.com)

标签:XSS,攻击,恶意代码,用户,恶意,防止,服务器
From: https://www.cnblogs.com/le-cheng/p/17498764.html

相关文章

  • DDoS攻击和CC攻击的原理是什么?有何区别?
    近年来,随着移动互联网的高速发展,网络攻击的次数逐年增加,针对网站攻击也变得越来越频繁,而在众多攻击方式之中,最常见的应该就是CC攻击和DDoS攻击,尤其是一些防护能力欠佳的网站,一旦遭受攻击很容易瘫痪,造成不必要的麻烦。那么DDoS攻击和CC攻击的原理有何区别?本文为大家介绍一下。......
  • 保证editView大小不变防止输入过多变形以及TextView的style引用
    <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1"android:padding="5dip">......
  • 五种常见的DNS攻击类型!
    目前,DNS攻击已经成为网络安全中非常常见的攻击方式之一,而且其危害和影响也非常之大,每年都有不少网站成为了这类攻击的受害者。因此为了免受其害,做到有效防御,我们需要对DNS攻击类型进行一定的了解,本文为大家介绍五种常见的DNS攻击类型,快来看看吧。1、DNS劫持DNS劫持又称......
  • XSS-Lab闯关笔记
    XSS-Lablevel1level2level3level4level5level6level7level8level9level10level11level12level13level14level15level16level17level18level19level20level1从源码中可以看到这里并没有对输入的name参数进行任何过滤就直接放入了<h2></h2>标签内$str=$_GET["name"];echo"<h2......
  • POSTGRESQL 设置hugepage 可以让系统使用内存更有效率,防止OOM
    https://www.percona.com/blog/why-linux-hugepages-are-super-important-for-database-servers-a-case-with-postgresql/https://bbs.huaweicloud.com/blogs/detail/156799Hugepage是什么,基于LINUX系统,大页面对虚拟内存管理是有必要的。除标准的4KB页面之外,还进行内存中的大页面......
  • 前端如何防止用户使用F12看控制台
    先分享一下自己的搭的免费的chatGPT网站https://www.hangyejingling.cn/正文1、如果是VUE框架开发,在生产环境中。在入口文件APP.vue中添加如下代码,其他框架同理if(process.env.mode==='production'){ (functionnoDebugger(){ functiontestDebugger(){ vard=......
  • [网络安全] DVWA之 Command Injection 攻击姿势及解题详析合集
    CommandInjection命令注入(CommandInjection)是一种安全漏洞,发生在应用程序使用用户提供的输入作为系统命令的一部分而未经充分验证和过滤的情况下。当应用程序在构造系统命令时,如果没有对用户输入进行适当的验证和过滤,攻击者可以通过在用户输入中插入恶意命令来执行任意系统命......
  • IP fragment是什么意思?如何防御IP fragment攻击?
    IP报文中,与报文分片有关的几个字段是:DF(Don’tFragmentate)位、MF位,FragmentOffset、Length。DF和MF就是前面提到3位标识位中的第二和第三位,FragmentOffset就是“13位分片偏移”字段,Length就是“16位报文总长度”字段。如果上述字段的值出现矛盾,而设备处理不当,会对设备造成一定的......
  • SYN Flood攻击原理,SYN Cookie算法
    SYNFlood是一种非常危险而常见的Dos攻击方式。到目前为止,能够有效防范SYNFlood攻击的手段并不多,SYNCookie就是其中最著名的一种。SYNFlood攻击原理SYNFlood攻击是一种典型的拒绝服务(DenialofService)攻击。所谓的拒绝服务攻击就是通过进行攻击,使受害主机或网络不能提供良好......
  • [网络安全] DVWA之CSRF攻击姿势及解题详析合集
    CSRFCSRF(Cross-SiteRequestForgery,跨站请求伪造)是一种常见的Web应用程序安全漏洞,它利用了用户在已认证的网站中的身份,通过欺骗用户发起非预期的请求。攻击者会构造一个恶意网页,使用户在浏览器中访问该网页时,自动向目标网站发送了未经用户授权的请求。CSRF攻击的原理是利用了W......