什么是跨站脚本 (XSS)?
跨站点脚本 (XSS) 是 Web 应用程序中的一个漏洞,它允许第三方代表 Web 应用程序在用户的浏览器中执行脚本。跨站点脚本是当今网络上最普遍的漏洞之一。针对用户利用 XSS 可能会导致各种后果,例如帐户泄露、帐户删除、权限提升、恶意软件感染等等。
在最初的日子里,它被称为 CSS,但它并不完全是今天的样子。最初,我们发现恶意网站可以利用 JavaScript 通过将其他网站的响应嵌入到 iframe 中来读取数据、运行脚本和修改页面内容。当时它被称为 CSS(跨站点脚本)。当 Netscape 引入同源策略并且跨站点脚本被限制启用跨源响应读取时,定义发生了变化。很快有人建议将此漏洞称为 XSS 以避免与级联样式表 (CSS) 混淆。当网站在将其插入响应之前没有正确处理用户提供给它的输入时,就会出现 XSSed 的可能性。在这种情况下,可以提供精心制作的输入,当嵌入响应时充当 JS 代码块并由浏览器执行。根据上下文,有两种类型 的 XSS –
- 反射型 XSS:如果每次执行都必须提供输入,这种 XSS 称为反射型 XSS。这些攻击主要是通过直接向受害者提供有效载荷来执行的。受害者请求一个包含有效负载的请求的页面,有效负载作为脚本嵌入到响应中。反射型 XSS 的一个示例是搜索字段中的 XSS。
- 存储型 XSS:当包含有效负载的响应以这样的方式存储在服务器上时,每次访问都会执行脚本而不提交有效负载,那么它被标识为存储型 XSS。存储型 XSS 的一个示例是评论线程中的 XSS。
还有另一种类型的 XSS,称为基于 DOM 的 XSS,它的实例要么被反射,要么被存储。当用户提供的数据未经适当清理而提供给 DOM 对象时,就会出现基于 DOM 的 XSS。下面是易受 XSS 攻击的代码示例,请注意变量firstname和lastname:
- php
<?php
if (isset( $_GET ["firstname"]) && isset( $_GET ["lastname"]))
{
$firstname = $_GET ["firstname"];
$lastname = $_GET ["lastname"];
if ( $firstname == "" or $lastname == "")
{
echo "<font color=\"red\">Please enter both fields...</font>";
}
else
{
echo "Welcome " . $firstname . " " . $lastname ;
}
}
?>
|
用户提供的输入直接添加到响应中,无需任何完整性检查。攻击者输入类似 -
- html
< script > alert(1) </ script >
|
它将被呈现为 JavaScript。XSS有两个方面(以及任何安全问题)——
- 开发人员:如果您是开发人员,重点将是安全开发,以避免产品中出现任何安全漏洞。您无需深入研究利用方面,只需使用工具和库,同时按照安全研究人员的规定应用安全代码开发的最佳实践。开发人员的一些资源是 - a)。OWASP 编码项目:它是一个用 Java 编写的库,由开放 Web 应用程序安全项目 (OWASP) 开发。它是免费、开源且易于使用的。乙)。“X-XSS-Protection”标头:此标头指示浏览器激活内置的 XSS 审核器,以识别和阻止针对用户的任何 XSS 尝试。C)。OWASP 的 XSS 保护备忘单:该资源通过适当的示例列出了开发过程中要遵循的规则。这些规则涵盖了多种情况,开发人员可能会错过一些可能导致网站易受 XSS 攻击的内容。d)。内容安全策略:它是针对类似 XSS 问题的独立解决方案,它指示浏览器有关“安全”源的信息,除此之外,不应从任何源执行任何脚本。
- 安全研究人员:另一方面,安全研究人员想要类似的资源来帮助他们寻找开发人员变得糟糕并留下切入点的实例。研究人员可以利用 – a)。CheatSheets – 1. OWASP 的 XSS 过滤器规避备忘单。2. Rodolfo Assis 的 XSS 备忘单。3. Veracode 的 XSS 备忘单。乙)。实践实验室 – 1. bWAPP 2. DVWA(该死的易受攻击的 Web 应用程序)3. prompt.ml 4. CTFs c)。报告 – 1. Hackerone Hactivity 2. Jason Haddix、Geekboy、Prakhar Prasad、Dafydd Stuttard(Portswigger) 等著名安全研究人员的个人博客。
什么是跨站脚本 (XSS)?相关推荐
- php xss速查表,2020跨站脚本[xss]速查表 xss cheat sheet
此跨站脚本(XSS)备忘单包含许多向量,可以帮助您绕过WAF和过滤器.您可以通过事件,标签或浏览器选择向量,每个向量都包含概念证明. 该备忘单会在2020年进行定期更新. 最近更新:2020年6月4日 ...
- payload的使 常用xss_跨站脚本XSS Payloads生成器
xss_payloads xss_payloads是一个基于PHP的跨站脚本XSS Payloads生成器. 用法在您的应用中找到XSS vuln 获取PoC漏洞:alert(1) 等等 在某处托管这 ...
- 跨站脚本(XSS)攻击
什么是XSS 全称:Cross Site Script(跨站脚本) 为了与层叠样式表css区分,将跨站脚本简写为XSS 危害:盗取用户信息.钓鱼.制造蠕虫等. 概念 概念:黑客通过"HTML ...
- burpsuite靶场系列之客户端漏洞篇 - 跨站脚本(XSS)专题
https://www.anquanke.com/post/id/245953 本系列介绍 PortSwigger是信息安全从业者必备工具burpsuite的发行商,作为网络空间安全的领导者,他们为信 ...
- 抵御即跨站脚本(XSS)攻击
1.XSS攻击的危害 作为Web网站来说,抵御XSS攻击是必须要做的事情.XSS攻击的手段很简单,就是通过各种手段向我们的Web网站植入JS代码.比如说普通网站的用户注册.论坛网站的发帖和回帖,以及电 ...
- ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)
本博文翻译自: https://dotnetcoretutorials.com/2017/10/25/owasp-top-10-asp-net-core-cross-site-scripting-xs ...
- 服务器页是指包含什么脚本程序的网页,XSS攻击的本质就是被攻击者访问的页面返回页面中,包含了未经编码的脚本代码,如等信息。而浏览 - 众答网问答...
相关题目与解析 XSS攻击产生的原理是攻击者通过向Web页面里插入(),从而达到特殊目的. SQL注入和XSS跨站攻击,是WEB安全中常见攻击类型,稳居OWASPTOP10.针对SQL注入和XSS跨站 ...
- 开源 CMS Drupal 修复 XSS 和开放重定向漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 开源 CMS Drupal 的更新修复了跨站脚本 (XSS) 漏洞和开放重定向漏洞,不过这些它们仅被评为"中危"级 ...
- java 实现dns劫持_JavaScript 防 http 劫持与 XSS
原标题:JavaScript 防 http 劫持与 XSS 原文作者: 作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site ing).CSRF跨站请求伪造(Cross-site ...
最新文章
- eclipse或者myeclipse的代码提示功能
- Nature Methods:Rob Knight发布Striped UniFrac算法轻松分析微生物组大数据
- 晨风机器人突破限制_厉害了!工程建设领域首创!会自动测量、自动调平的测量机器人...
- python选择某一行_Python常用语法有哪些 如何快速入门Python开发
- 详解CPU几个重点基础知识
- 开发经验分享_04_快速熟悉程序(思路)
- win10升级后chrome碰到对话框就卡死
- 嵌入式Linux系统编程学习之十二守护进程
- MongoDB C#:如何将包含DateTime的JSON反序列化为正确的BsonDocument DateTime值
- (寒假集训)Mooo Moo (完全背包)
- git 实践之冲突管理
- C语言:输入四个数a,b,c,d,将这四个数由小到大排序
- StackExchange.Redis学习笔记(三) 数据库及密码配置 GetServer函数
- ERROR ITMS-90096: Your binary is not optimized for iPhone 5 错误
- 使用vue开源项目vue-framework-wz遇到的问题以及解决方案
- 诚之和:百世离场快递恶战“结束的开始”
- 如火般的风马: 快速迁移本地项目到Bluemix云平台
- 第一章:计算机的软硬件基本结构_3
- 编写Java脚本统计工程代码总行数
- 大学生性价比计算机推荐,快开学了 大学生该如何选择一款高性价比电脑?