XSS跨站--原理和分类
本文主要内容
原理
XSS漏洞产生原理?
XSS漏洞危害影响?分类
反射型、存储型、DOM型
手法XSS平台使用
XSS工具使用
XSS结合其他漏洞
靶场搭建
pikachu 靶场搭建(完整版)-CSDN博客https://blog.csdn.net/weixin_51446936/article/details/117789696
[1]XSS跨站漏洞原理
本质,产生层面
函数类,漏洞操作对应层,危害影响,浏览器内核版本等
XSS漏洞的本质与产生层面
XSS(跨站脚本攻击)的本质是攻击者通过注入恶意脚本到可信页面中,使得用户浏览器执行非预期的代码。其产生层面主要是Web应用程序对用户输入的数据没有进行充分的过滤和验证,导致攻击者可以将恶意脚本注入到动态页面中。
XSS漏洞的产生原理
当动态页面中插入的内容含有特殊字符(如
<
)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。XSS漏洞的产生主要与以下几个方面有关:
输入层面:用户输入的数据未经过滤直接被插入到HTML页面中。
输出层面:服务器将用户输入的数据未经转义直接输出到HTML页面。
函数类:一些输出函数(如
alert
、XSS漏洞的类型
XSS漏洞主要分为以下三种类型:
(1)存储型XSS
数据存储与渲染 :当用户提交数据(如评论、用户名、个人简介等)到服务器时,服务器没有对这些数据进行严格的过滤和转义,而是直接将这些数据存储到数据库中。之后,当其他用户访问该页面时,服务器从数据库中取出这些数据并直接渲染到网页中。
恶意脚本执行 :如果攻击者在提交数据时插入了恶意脚本代码(如
< script>alert("XSS")</script
),这些代码就会被存储到数据库中。当其他用户访问该页面时,浏览器会将这些恶意脚本代码当作正常的HTML代码解析并执行,从而导致XSS攻击。(2)反射型XSS
数据输入与输出 :用户在访问一个网页时,通过URL参数、表单提交等方式向服务器发送数据。服务器在处理这些数据后,将数据直接嵌入到返回的网页内容中。
恶意脚本注入 :如果攻击者构造了一个包含恶意脚本代码的URL(如
http://exam ple.com/search?q=<script>alert("XSS")</script>
),当用户访问这个URL时,服务器会将URL中的参数值(<script>al ert("XSS")</script>
)直接嵌入到返回的网页中。浏览器在解析这个网页时,就会执行恶意脚本代码。(3)DOM型XSS
客户端脚本操作 :DOM型XSS主要发生在客户端的JavaScript代码中。当JavaScript代码从URL参数、表单输入等地方获取数据,并将这些数据动态地插入到DOM中时,如果没有进行适当的过滤和转义,就可能会导致XSS漏洞。
恶意脚本触发 :例如,JavaScript代码通过
document.getElementById("res ult").innerHTML = location.search
将URL参数直接插入到页面的DOM中。如果攻击者构造了一个包含恶意脚本代码的URL(如http://examp le.com/page.html?data=<script>ale rt("XSS")</sc ript>
),当用户访问这个页面时,JavaScript代码会将恶意脚本代码插入到DOM中,浏览器在解析DOM时就会执行恶意脚本代码。XSS漏洞的操作对应层
XSS漏洞的操作对应层主要在客户端,即用户的浏览器。攻击者通过注入恶意脚本,使得用户的浏览器执行这些脚本,从而达到攻击目的。不过,XSS漏洞的产生也可能涉及到服务器端,如存储型XSS中,服务器将恶意脚本存储到数据库中。
浏览器内核版本对XSS漏洞的影响
不同浏览器内核版本对XSS漏洞的防护能力有所不同。一些现代浏览器内置了XSS防护机制,如Chrome的XSS Auditor,能够在一定程度上阻止XSS攻击。然而,攻击者可能会绕过这些防护机制,或者利用浏览器的某些漏洞来实施攻击。因此,用户应及时更新浏览器版本,以提高安全性。
基本危害
1. 对用户的影响
窃取敏感信息 :攻击者可以通过注入恶意脚本,窃取用户的敏感信息,如用户名、密码、Cookie等。这些信息可以用来冒充用户身份进行恶意操作。
劫持用户会话 :攻击者通过窃取用户的会话令牌或Cookie,能够劫持用户的会话,实施未经授权的操作,如修改账户信息、发表言论等。
恶意操作 :攻击者可以在用户浏览器中执行恶意脚本,例如发起DDoS攻击、改变用户设置、执行未授权操作等,从而对用户和网站造成实际损害。
2. 对网站的影响
篡改网页内容 :攻击者可以通过注入恶意脚本,修改网页上的内容,向用户展示虚假信息、欺骗性的广告、恶意链接等,影响用户的体验和信任。
网页挂马 :攻击者可以在网站页面中植入恶意软件下载链接或自动下载脚本,当用户访问该页面时,浏览器会在用户不知情的情况下自动下载并安装恶意软件。
数据篡改与服务拒绝 :攻击者可能会篡改页面内容或者植入钓鱼链接,进一步欺骗用户。此外,大规模自动化工具也可以同时发起多个请求,从而造成服务拒绝(DoS)的效果,让正常用户无法访问网站。
提升权限 :如果攻击者能够成功利用XSS漏洞,在具有管理员权限的页面上执行恶意脚本,就有可能获取管理员的权限,对网站进行全面的控制。
[2]XSS漏洞分类
反射型
发包 x=hello => x.php =>回包 --# 非持续型攻击
存储型
发包 x=hello => x.php =>写到数据库某个表 => x.php =>回显 --# 持续型攻击
dom型
发包 x=hello => 本地浏览器静态前端代码 =x.php --# 本地js直接执行--#反射型XSS的脚本被解析的地方是浏览器,而存储型XSS的脚本被解析的地方是服务器,
DOM型XSS脚本被解析的地方也是浏览器,所以DOM型又叫DOM反射型XSS,但是反射型XSS需要联网而DOM型不需要
[3]XSS常规攻击手法
平台,工具,结合其他等
实际场景:留言或者是购买商品,留下跨站脚本代码,管理员查看的时候,会触发恶意代码,此时用户可以拿到管理权限干坏事
XSS免费平台
用于直观观察受到攻击的用户
XSS平台-XSS测试网站-仅用于安全免费测试https://xssaq.com/
XSS免费工具
kali安装beef
kali安装beef_kali安装beef工具-CSDN博客https://blog.csdn.net/weixin_43847838/article/details/110312851
总结:XSS漏洞被称为钓鱼漏洞的原因,要满足诸多条件,比如浏览器不禁止,用户存储了cookie,管理员要点击指定网页,而且以存储型XSS为主