xss跨站之代码及http only绕过

news2024/11/27 4:22:48

什么是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.coloradmin.cn/o/573402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

线程池各参数学习

线程池学习_alutimo的博客-CSDN博客尚硅谷java并发包JUC线程池部分学习总结https://blog.csdn.net/qq_41228145/article/details/125650075老生常谈 线程池的参数ThreadPoolExecutor.java 的构造器 /*** Creates a new {code ThreadPoolExecutor} with the given initial* par…

PLC【西门子】几种常见的连接口和通讯协议简介

S7-200 PLC支持的几种通讯协议 一、PPI通讯 是西门子公司专为s7-200系列plc开发的通讯协议。内置于s7-200CPU中。PPI协议物理上基于RS-485口,通过屏蔽双绞线就可以实现PPI通讯。PPI协议是一种主-从协议。主站设备发送要求到从站设备,从站设备响应,从站不能主动发出信息。主…

简述什么是微前端 微前端几种框架的区别

微前端就是将各个模块分成不同项目 方便多个团队一起开发互相不影响 例如:a团队维护较老的项目使用angular,b团队开发react,c团队开发vue 。按道理说abc三个项目并没有关联,但是他们又都是公司内部管理的系统。需要集成在一起 &…

智能排班系统 【管理系统功能、操作说明——中篇】

文章目录 页面与功能展示企业管理角色管理用户管理系统管理员身份使用企业管理员身份使用门店管理员身份使用 门店管理职位管理排班规则设置节日管理消息管理 页面与功能展示 企业管理 企业管理页面如图 34所示,在企业管理页面,系统管理员可以查询所注…

IAT Hook

一、IAT HOOK介绍 IAT (Import Address Table) HOOK 是一种在 Windows 程序中进行函数钩子的技术。它通过修改程序的导入地址表来实现对目标函数的替换或拦截。 在 Windows 运行时,程序需要调用其他模块(DLL)中的函数来完成特定的功能。为了…

java项目打包方式

普通项目打包 项目内容很简单,只是引用了一个三方包。 打包步骤 File-Project Structure... 点击确定后选择Build - Build Artifacts.. 选择build即可,可以查看编译日志 maven项目打包 若果是普通项目就先转为maven项目。 右键项目选择第二项add frame…

【Netty】Netty 解码器(十二)

文章目录 前言一、编解码概述1.1、编解码器概述1.2、Netty 内嵌的编码器 二、解码器2.1、ByteToMessageDecoder 抽象类2.1.1、常用方法2.1.2、将字节转为整形的解码器示例 三、ReplayingDecoder 抽象类四、MessageToMessageDecoder 抽象类总结 前言 回顾Netty系列文章&#xf…

K-Means算法实现鸢尾花数据集聚类

目录 1. 作者介绍2. K-Means聚类算法2.1 基本概念2.2 算法流程 3. K-Means聚类算法实现3.1 鸢尾花数据集3.2 准备工作3.3 代码实现3.4 结果展示 4. 问题与解析参考链接 1. 作者介绍 张勇,男,西安工程大学电子信息学院,2022级研究生 研究方向…

第3章“程序的机器级表示”:算术和逻辑操作

文章目录 3.5 算术和逻辑操作3.5.1 加载有效地址3.5.2 一元和二元操作3.5.3 移位操作3.5.4 讨论3.5.5 特殊的算术操作 3.5 算术和逻辑操作 下图列出了一些双字整数操作,分为四类。 二元操作有两个操作数,而一元操作只有一个操作数。 描述这些操作数的…

极光笔记 | EngageLab Push的多时区解决方案

01、引言 多时区问题一直是全球客户和终端用户面临的挑战之一。EngageLab Push 致力于解决这个问题,确保全球各地的终端用户可以平等地享受到同样的推送服务,同时让客户能够更好地管理不同时区的应用和对应的终端用户。 02、解决多时区问题的总体方案 1…

软件测试----软件开发模型

1、瀑布模型 (1)瀑布模型如下 (2)瀑布模型的缺点: 在瀑布模型中,测试是在编码结束后才介入,对软件开发流程前期质量是没有保障的 (3)采用瀑布模型的场景: …

31 KVM管理系统资源-管理虚拟内存NUMA

文章目录 31 KVM管理系统资源-管理虚拟内存NUMA31.1 NUMA简介31.2 配置Host-NUMA操作步骤 31.3 配置Guest-NUMA操作步骤 31 KVM管理系统资源-管理虚拟内存NUMA 31.1 NUMA简介 传统的多核运算使用SMP(Symmetric Multi-Processor)模式:将多个…

Flume系列:Flume 自定义Interceptor拦截器

目录 Apache Hadoop生态-目录汇总-持续更新 1:Interceptor拦截器的使用场景 2:Interceptor拦截器在采集流程中的位置 3:自定义Interceptor拦截器 pom.xml 拦截器java代码 打包上传 4:使用自定义的拦截器 方式一&#xff1…

Springboot +spring security,自定义认证和授权异常处理器

一.简介 在Spring Security中异常分为两种: AuthenticationException 认证异常AccessDeniedException 权限异常 我们先给大家演示下如何自定义异常处理器,然后再结合源码帮助大家进行分析 二.创建项目 如何创建一个SpringSecurity项目,前…

分布式锁和事务关系的细节

使用redssion在redis上以及结合自定义注解利用spring的环绕切面来实现分布式锁功能 代码示例 controller、service层 RequestMapping("insertNumber/{number}/{id}") public boolean insertNumber(PathVariable Long number,PathVariable Long id){return testSer…

rust 中protobuf生成与使用

首先创建一个项目proto 进入到这个文件夹中 创建我们的proto文件 初始化的项目结构是这个样子的 新建一个hello.proto文件内容如下 syntax "proto3";package hello;service Greeter {rpc SayHello (HelloRequest) returns (HelloReply) {} }message HelloRequest …

干货 | 师兄手把手教你如何踏上科研道路

Hello,大家好! 这里是壹脑云科研圈,我是喵君姐姐~ 今天,邀请到鲁小白,给大家分享一下他踏上科研道路的心路历程。 大家好,我是鲁小白,我真正进入科研的时间,研究生3年再…

【C++】类和对象——类的引入、类的访问限定符、类的作用域、类的实例化、类的储存、this指针的引出和特性

文章目录 1.类的引入2.类的访问限定符3.类的作用域4.类的实例化5.类的储存6.this指针6.1this指针的引出6.2this指针的特性 1.类的引入 C是在C的基础上加以扩展。 在C语言中,我们想要让一个类型含有多种成员变量,我们使用结构体;而在C中我们可…

Doris节点扩容及数据表

扩容和缩容 上篇文章简单讲了doris的安装,本章分享的是doris中fe和be节点的扩容缩容以及doris的数据表1、FE 扩容和缩容 使用 MySQL 登录客户端后,可以使用 sql 命令查看 FE 状态,目前就一台 FE mysql -h linux -P 9030 -uroot -p mysql&…

python+django乡村居民数据的可视化平台

本论文主要论述了如何使用Django框架开发一个乡村振兴数据的可视化平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述乡村振兴数据的可视化平台的当前背景以…