不来练习'XSS 跨站脚本攻击漏洞'吗

admin 2024年12月23日15:49:03评论13 views1字数 1825阅读6分5秒阅读模式
点击标题下「蓝色微信名」可快速关注
不来练习'XSS 跨站脚本攻击漏洞'吗

免责声明:本文仅用于合法范围的学习交流,若使用者将本文用于非法目的或违反相关法律法规的行为,一切责任由使用者自行承担。请遵守相关法律法规,勿做违法行为!本公众号尊重知识产权,如有侵权请联系我们删除。

01

不来练习'XSS 跨站脚本攻击漏洞'吗

XSS漏洞介绍

不来练习'XSS 跨站脚本攻击漏洞'吗

1、漏洞简介

XSS 是跨站脚本攻击(Cross-Site Scripting)的缩写,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。XSS 漏洞主要是因为 Web 应用程序没有对用户输入的数据进行充分的验证和过滤,或者没有正确地对输出内容进行编码,从而导致攻击者可以将恶意脚本注入到网页中,这些恶意脚本能够在受害者的浏览器中执行。

2、漏洞原理

(1)反射型XSS

  • 用户输入的利用:攻击者精心构造一个包含恶意脚本的请求,通常是通过 URL 参数、表单数据等方式。

  • 服务器反射行为:服务器接收到这个请求后,没有对输入内容进行合适的处理,直接将其包含在响应页面中返回给用户。

  • 浏览器执行脚本:当用户的浏览器接收到这个包含恶意脚本的响应时,由于浏览器无法分辨这是恶意脚本,就会按照正常的 JavaScript 代码执行流程来执行这个脚本。攻击者可以利用这种方式窃取用户的登录信息等敏感数据,如通过将用户的登录凭证发送到攻击者控制的服务器。

(2)存储型XSS

  • 数据存储阶段:攻击者将恶意脚本作为用户输入的数据存储到目标 Web 应用程序的数据库、文件系统或其他存储介质中。

  • 数据读取与页面渲染阶段:当其他用户访问包含恶意脚本的页面时,Web 应用程序会从存储介质中读取数据(包括恶意脚本),将其渲染到网页中。

  • 脚本执行与危害产生:用户的浏览器在渲染页面过程中,会执行这个恶意脚本。比如用户的浏览器会将用户的 Cookie 信息发送到攻击者指定的网站,从而使攻击者能够获取用户的敏感信息。

(3)DOM型XSS

  • DOM 操作引入:Web 应用程序大量使用 JavaScript 来动态地操作文档对象模型(DOM),以实现丰富的用户交互功能。

  • 恶意利用方式:攻击者通过构造特殊的 URL 或者其他用户输入的方式,将恶意脚本注入到 DOM 操作的过程中。

02

不来练习'XSS 跨站脚本攻击漏洞'吗

XSS漏洞练习

不来练习'XSS 跨站脚本攻击漏洞'吗

靶场环境:Pikachu靶场

靶场安装参考:如何用phpStudy快速搭建靶场

因篇幅有限,所以本文只练习以下3个,后续会通过视频讲解的方式进行详细讲解。

不来练习'XSS 跨站脚本攻击漏洞'吗
不来练习'XSS 跨站脚本攻击漏洞'吗

1、反射型XSS(get)练习

(1)查看一下这个功能

不来练习'XSS 跨站脚本攻击漏洞'吗

(2)在输入框输入<script>alert(1)</script>

发现输入框限制了输入字符长度,这个限制代码做在前端,可以用Burp绕过或者改前端代码

不来练习'XSS 跨站脚本攻击漏洞'吗

光标停在输入框,右键-检查查看代码

不来练习'XSS 跨站脚本攻击漏洞'吗

这里可以看到,长度限制在20以内,直接在代码里把这长度限制改掉

不来练习'XSS 跨站脚本攻击漏洞'吗

输入<script>alert(1)</script>,弹窗成功,说明js代码被执行了

不来练习'XSS 跨站脚本攻击漏洞'吗

2、存储型XSS练习

(1)查看一下功能

发现会把留言内容展示在留言列表

不来练习'XSS 跨站脚本攻击漏洞'吗

(2)在留言框输入<script>alert(1)</script>

不来练习'XSS 跨站脚本攻击漏洞'吗

发现弹窗了,不同于反射型XSS,多次打开页面都会弹窗

不来练习'XSS 跨站脚本攻击漏洞'吗

3、DOM型XSS练习

(1)在输入框输入<script>alert(1)</script>

发现没有效果,尝试其他途径

不来练习'XSS 跨站脚本攻击漏洞'吗

(2)查看前端代码

发现了关键的JS代码

不来练习'XSS 跨站脚本攻击漏洞'吗

代码如下

functiondomxss(){ var str = document.getElementById("text").valuedocument.getElementById("dom").innerHTML = "<a href='"+str+"'>what do you see?</a>"; }

(3)分析代码并构造语句

var str = document.getElementById("text").value;获取输入的文本,赋值给str变量"<a href='"+str+"'>发现了一个语句拼接可以构造一个如下的语句' onclick="alert('xss')">这样的效果就是<a href='' onclick="alert('xss')">'>

(4)输入' onclick="alert('xss')">

点击click me,再点击蓝色字符what do you see

不来练习'XSS 跨站脚本攻击漏洞'吗

触发弹窗,当然构造的语句可以不只这一个,其他的方法可以去自己尝试一下。

不来练习'XSS 跨站脚本攻击漏洞'吗
THE END

不来练习'XSS 跨站脚本攻击漏洞'吗

亲爱的朋友,若你觉得文章不错,请点击关注。你的关注是笔者创作的最大动力,感谢有你

原文始发于微信公众号(菜根网络安全杂谈):不来练习'XSS 跨站脚本攻击漏洞'吗

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月23日15:49:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   不来练习'XSS 跨站脚本攻击漏洞'吗https://cn-sec.com/archives/3543054.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息