xss跨站之代码及http only绕过

news/2024/11/22 13:43:20/

什么是http only,在cookie中设置了http only属性,那么通过js代码无法获取cookie,并不能防止xss漏洞,在上一节的靶场网站源代码里面,写上这一串代码就是启动http only

 再加上带去cookie的代码

 然后我们再去访问网站的后台,看看cookie有没有被盗走

 答案是没有。绕过出现http only,这个盗取cookie的攻击,基本上就直接阻止了,获取不到cookie信息了。

如何绕过http only,他只是防止cookie被读取,并不防止跨站漏洞,我想要获取后台的权限,有两种方法可以获取后台权限,一种是cookie,另一种是直接的账户密码登陆,因为http only限制了cookie的获取只能用账户密码去登陆,账户密码有些个人习惯,会把账户密码进行个保存,避免下次忘了密码,有一些浏览器会自动保存,如果对方设置了保存或者浏览器自动保存账户密码,我们是可以利用xss去读取账户免密的。

有两种情况,一种是保存读取,就是输入账号浏览器会自动补齐免密就是保存读取,比如qq的保存密码。

另一种没有保存读取,没保存就要重新输入一遍,

攻击就针对这两种情况进行攻击,保存的话,就可以通过读取他保存的数据,如果没有保存,就采用表单劫持,表单劫持这个xss平台什么就有

 我们看一下后台网站的前端,点开查看元素,看看什么是表单,

 表单劫持就是,把这个form表达给劫持了,我们抓一下登陆时数据包看看就清楚了,在后台登录界面,输入账户admin,密码123456,然后点登陆抓包看一下

 表单劫持就是把账户密码在发送到跨站平台里面去,相当于数据发了两份,一个正常发送出去,一个发送给了xss跨站平台,所以跨站平台就会收到账户密码,因为是明文账户密码就可以直接去登陆,这种是没有保存的攻击方式。这个跨站攻击方式是有前提的,前提就是跨站漏洞要产生在登录框哪里,如果没有产生在登录框哪里,跨站漏洞就要写在对方代码里面,或者执行其他代码能够触发跨站。登录框一般就是我们后台登陆地方,如果这个地方没有跨站的话,这种方法是不可行的。

我们刚刚攻击成功是因为是测试靶场,把跨站语句写在代码里面了,我们攻击方式要么在后台登陆页面把跨站语句写到对方代码里面去,要么去在这个页面构造一个触发地址,对方去访问他触发这个跨站代码。

如果采用登录框跨站劫持的话,必须是在登陆的地方有跨站漏洞,其他地方就不行,利用起来有些鸡肋。

保存读取,

保存读取账户密码是储存在浏览器的,我们新创建一个跨站漏洞,选项里面就有获取浏览器保存的明文密码,

 这几个值要和后台登陆的对应,我们可以直接在后台登陆网页,点击查看我网页源代码,就可以看到那些值,然后把对应的值填上就好,下面箭头所指就是,

 现在这个配置的跨站,就是专门用来搞浏览器保存账号密码的地方,我们在跨站平台复制跨站语句,假设我们已经攻击进来了,跨站语句写到了代码里面

 用这个跨站漏洞直接写入对方代码,或者引诱对方访问那个代码的地址,触发这个跨站漏洞。

我们打开xss跨站靶场来干

 第一关很明显,网站里面name=tesr,然后网页上欢迎以后test,所以test是自定义,且可以输出出来的,我们把test改成1,测试一下,就变成了欢迎用户1.所以我们把注入语句写道test那里试一下,

第一关很简单。 

第二关,


http://www.ppmy.cn/news/91211.html

相关文章

ZooKeeper(一):基础介绍

文章目录 什么是 ZooKeeper?ZooKeeper 发展历史ZooKeeper 应用场景ZooKeeper 服务的使用ZooKeeper 数据模型data tree 接口znode 分类 总结 什么是 ZooKeeper? ZooKeeper 是一个分布式的,开放源码的分布式应用程序协同服务。ZooKeeper 的设计…

5月的面试难度有点大....

大家好,最近有不少小伙伴在后台留言,又得准备面试了,不知道从何下手! 不论是跳槽涨薪,还是学习提升!先给自己定一个小目标,然后再朝着目标去努力就完事儿了! 为了帮大家节约时间&a…

RabbitMQ面试整理

消息队列有什么优缺点? 你们公司生产环境用的是什么消息中间件? ActiveMQ、RabbitMQ、RocketMQ、kafka的对比 MQ有哪些问题?如何去解决这些问题? RabbitMQ的基本概念 RabbitMQ的工作模式 》 可以变相理解为有几种类型的交换…

java基础知识一

1、Java语言概述 1、java的出现标志着真正的分布式系统的到来 2、Java与c的区别 2.1、全局变量 Java中没有全局变量,使用类中的公共的静态变量作为这个类的全局变量 2.2、指针 Java中没有任何在指针操作 2.3、条件转移指令 Java中没有goto语句,通…

APP UI自动化测试框架总结,各种项目实战加源码等你来拿

目录 开发语言选择 UI测试框架选择 单元测试框架选择 测试环境搭建 脚本编写 Jenkins集成 开发语言选择 通常用于自动化测试的编程语言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我们会选择自己熟悉的编程语言来编写自动化脚本,但对于编…

微服务注册中心-Nacos概述

1、Nacos基本介绍 1.1. 什么是 Nacos? Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮…

如何在华为OD机试中获得满分?Java实现【递增字符串】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 定义字符串完全由“A’和…

cv::GaussianBlur()

cv::GaussianBlur()函数是OpenCV中用于对图像进行高斯模糊的函数。它接受三个参数:输入图像,输出图像和核大小。下面是这些参数对结果的影响: 输入图像:输入图像是要应用高斯模糊的原始图像。此函数可以处理单通道或多通道图像。…