当前位置: 首页 > news >正文

xss笔记与打靶(更新中)

这个文章好
https://blog.csdn.net/huangyongkang666/article/details/123624164?fromshare=blogdetail&sharetype=blogdetail&sharerId=123624164&sharerefer=PC&sharesource=2401_88818565&sharefrom=from_link

什么是xss

XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的网络安全漏洞,攻击者在网页中嵌入客户端脚本,通常是js编写的危险代码,当用户使用浏览器浏览网页时,脚本就会在用户的浏览器上执行,从而达到攻击者的目的。XSS 通常用于窃取用户信息、会话劫持、篡改网页内容或传播恶意软件。

如:盗取网站保存的cookie登陆其他用户,摄像头拍照

  1. 需要有xss接受平台
  2. 生成一段js文件
  3. 找到由xss漏洞的地方,植入js
  4. 等待受害者访问

发送的网址不要点,用虚拟机点

相关问题

网站:正常网站(有xss漏洞)
xss平台:js文件下载
客户端浏览器
js执行
js可以操作cookie

跨站脚本攻击:执行了其他网址上的恶意js文件

如何区别是不是同一个网站:
https
http
浏览器根据同源策略判断这两个是不是同一个网站

同源策略:
协议 + 主机(域名/IP) + 端口,任何一个地方不一样就不是同一个网站

浏览器是根据同源策略来单独存储每一个网站的cookie

漏洞产生原因

前端传入的数据没有做处理,变成了html的一部分来处理

处理指的是编码处理。
<变成了&lt;

在html语言里很注重<>
如何让语句里出现尖括号,用html实体符号

显示结果描述实体名称实体编号
空格&nbsp;&#160;
<小于号&lt;&#60;
>大于号&gt;&#62;

xss漏洞的危害

  1. 对于访问量小的网站,发生xss漏洞没什么用。一般在各类的社交平台,邮件系统,开源流行的web应用,博客等。造成的杀伤力十分强大。
  2. 劫持用户cookie是常见的跨站攻击形式,通过在网页中写入并执行脚本执行文件(多数情况下是js脚本代码),劫持用户浏览器,将用户当前使用的sessionID信息发送到攻击这控制的网站或服务器中
  3. “框架钓鱼”,利用js脚本的基本功能之一:操作网页的DOM树结构和内容,在网页中通过js脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容会被发送到攻击者的服务器上。
  4. 挂马(水坑攻击)
  5. 有局域性的键盘记录

xss分类

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

挖漏洞,点到为止用alter()

反射型

中危漏洞
把http请求发送后又回到客户端前端代码中。

必须要点击url,http

别乱点什么别人发的网址

出现位置:搜索框

存储型

留言,到数据库

先有一个人,把数据存进数据库,又有人访问时,将数据库里的数据返回到客户端浏览器。

高危漏洞。

进入网站就触发

DOM型

js代码弹窗
alert
href
prompt(1)
能看懂前端js代码,不需要给服务器发http请求

xss漏洞存在位置

  1. 搜索框
  2. 登录框
  3. 发表评论/发表文章
  4. 其他输入框

常见的执行xss的html标签

xss执行方法:

  1. 使用<script>alert(111)</script>
    有的客户端会有过滤,将script替换为空
  2. <img src=xx onerror="alert(111)">
  3. <a href=xx onclick="alert(111)"></a>
  4. <svg olnload="alert(111)">
  5. 可以去网上搜索‘

xss防御

xss防御的总体思路是:对输入进行过滤,单引号,双引号,尖括号之类,对输入进行编码

过滤:根据业务需求进行过滤,比如输入点要求输入手机号,则只允许输入手机号格式的数字

转义:所有输出到前端的数据都是根据输出点进行转义,比如输入到html中进行html实体转义,输入到js里面的进行js转义

xss之href输出绕过:javascript:alert(111),直接带入a标签href里面一样可以绕过htmlspecialchars,如果没有用户提交的数据交给a标签,其实很难绕过

xss-labs

1

url?name=

2 转义

再试一下1没成功
看到网页源码,发现特殊符号没有转义

">  <script>alert()</script>

3 onclick

先试一下
看看源代码,这里是单引号闭合,并且符号被实体化

htmlspecialchars()函数将一些预定义的字符转换为html实体

没对’设置,可以用onfocus或者onclick

js’ οnclick=‘alert(111)’
'将value闭合
但是我再搜索框中不行,闭合不了,但再开发者工具里编辑html元素可以

4

这里和3一样,不过将’改为"就行

5 a href

我咋感觉f12中,找到需要更改的位置编辑为html元素就行

正常先试试3的payload发现不行,所有带on的语句在on中间会加入_,那这里用a href标签
" > <"

6 大小写

这一关href也不行了
过滤了好多,看看大小写能不能绕过

发现大小写没有被过滤掉,这题能利用大小写进行绕过,所以我们可以用下面的方法,构造payload

用上面的改成部分大写
“> <”

7 的、双写

先上关键字试试看
由源码
这里面进行了小写转化,将检测出来的on,script,href给删掉了,但是没有关系,我们可以利用双拼写来绕过。

我是l" oonnclick=‘alert(123)’

8 编码

输入的值在两个,input标签,href属性

看看过滤了啥关键字

input标签添加了html实体转化函数还把双引号也给实体化了, 添加了小写转化函数,还有过滤掉了src、data、onfocus、href、script、"

利用href的隐藏属性自动Unicode解码,将之前的payload编码

javascript:alert(123)

9

这一关有检查,需要向传入的值里面添加http://并用注释符注释掉否则会执行不了无法弹窗

javascript:alert()/* http:// */

10 隐藏传参

没搜索框

看到源代码,有隐藏传参,并过滤掉了<>号,不能闭合插入标签,但是我们还能用on
click事件,因为这里输入框被隐藏了,需要添加type=“text”

?t_sort="οnclick=‘alert(11)’ type="text

11 referer抓包

试试和上一关一样的
发现被转义
?t_sort="οnclick=‘alert(11)’ type="text
其他的传参也试试了发现不行

难搞查了一下,t_ref的标签是http头referer的参数(就是由啥地址转跳到这里的,http头的referer会记录有)

那进行抓包传参
把大于小于号><给删掉了

抓包之后构造请求

Referer:js" οnclick=‘alert(111)’ type="text

12 User-Agent

和11一样看到网页源代码可以看到,t_ua

在User-Agent中清除加入:js" οnclick=‘alert(111)’ type="text

13 cookie

t_cook,想到cookie
f12
cookie名为user,我们直接在这里改一下就好

相关文章:

xss笔记与打靶(更新中)

这个文章好 https://blog.csdn.net/huangyongkang666/article/details/123624164?fromshareblogdetail&sharetypeblogdetail&sharerId123624164&sharereferPC&sharesource2401_88818565&sharefromfrom_link 什么是xss XSS&#xff08;跨站脚本攻击&…...

游戏引擎学习第133天

仓库:https://gitee.com/mrxiao_com/2d_game_3 回顾并设定今天的主题 今天的任务是进一步优化背景资源的流式加载&#xff0c;尤其是在内存管理方面。昨天&#xff0c;我们实现了资源流式加载&#xff0c;让游戏在加载时可以动态地加载背景&#xff0c;而不是一开始就把所有资…...

【鸿蒙操作系统】- 1:实习阶段的一些总结

本文目录 1. 序2.鸿蒙与欧拉的概念微内核LiteOS鸿蒙微内核POSIX标准 3.实习干了些什么身份鉴别访问控制恶意代码防范安全审计入侵防范性能压测检查系统版本网络测试常见的linux测试命令 1. 序 之前在某国企实习的时候&#xff0c;有幸参与了鸿蒙系统、鸿蒙欧拉的项目&#xff…...

Qt基础入门-详解

前言 qt之路正式开启 &#x1f493; 个人主页&#xff1a;普通young man-CSDN博客 ⏩ 文章专栏&#xff1a;C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见&#x1f4dd; &#x1f389;欢迎大家点赞&#x1f44…...

【前端】HTML 备忘清单(超级详细!)

文章目录 入门hello.html注释 Comment段落 ParagraphHTML 链接Image 标签文本格式标签标题Section Divisions内部框架HTML 中的 JavaScriptHTML 中的 CSS HTML5 标签页面标题导航HTML5 TagsHTML5 VideoHTML5 AudioHTML5 RubyHTML5 kdiHTML5 progressHTML5 mark HTML 表格Table …...

版图自动化连接算法开发 00004 ------ 给定一个点,添加一个中间点实现 Manhattan 方式连接两个给定的坐标点

版图自动化连接算法开发 00004 ------ 给定一个点,添加一个中间点实现 Manhattan 方式连接两个给定的坐标点 引言正文引言 必读文章 ------ 版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点。 此处,我们对给定点的坐标进行一下限制,因为是只添加一个点,因…...

C# Enumerable类 之 数据筛选

总目录 前言 在 C# 中&#xff0c;System.Linq.Enumerable 类是 LINQ&#xff08;Language Integrated Query&#xff09;的核心组成部分&#xff0c;它提供了一系列静态方法&#xff0c;用于操作实现了 IEnumerable 接口的集合。通过这些方法&#xff0c;我们可以轻松地对集合…...

Grafana服务安装并启动

Grafana服务安装并启动 1、介绍2、下载Grafana3、解压缩文件4、启动Grafana服务5、增加数据源,填写Prometheus访问地址6、增加图表 1、介绍 Grafana是一个开源的可视化系统监控和警报工具包。 2、下载Grafana 介绍&#xff1a;Grafana是一个开源的可视化系统监控和警报工具包…...

蓝桥杯web第三天

展开扇子题目&#xff0c; #box:hover #item1 { transform:rotate(-60deg); } 当悬浮在父盒子&#xff0c;子元素旋转 webkit display: -webkit-box&#xff1a;将元素设置为弹性伸缩盒子模型。-webkit-box-orient: vertical&#xff1a;设置伸缩盒子的子元素排列方…...

C#开发——时间间隔类TimSpan

TimeSpan 是 C# 中的一个结构&#xff08; struct &#xff09;&#xff0c;用于表示时间间隔或持续时间。它位于 System 命名空间中&#xff0c;是处理时间相关操作时非常重要的工具&#xff0c;尤其是在计算两个日期或时间之间的差值、表示时间段或执行时间相关的运算…...

NModbus 连接到Modbus服务器(Modbus TCP)

1、在项目中通过NuGet添加NModbus&#xff0c;在界面中添加一个Button。 using NModbus.Device; using NModbus; using System.Net.Sockets; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Docu…...

蓝桥杯 之 图形规律

文章目录 分析组成&#xff0c;找到规律数正方形 在蓝桥杯中&#xff0c;常常会有一些图形的规律的题目需要我们去解决&#xff0c;所以我们需要学会其中的一些方法&#xff0c;我们这样才能解决对应的问题 方法1&#xff1a;直接对n进行拆分方法2&#xff1a;使用递归的思路&a…...

多线程学习之路

多线程的创建方式主要有以下几种&#xff1a; 1. 继承 Thread 类 通过继承 Thread 类并重写 run() 方法来创建线程。 class MyThread extends Thread {Overridepublic void run() {// 线程执行的任务System.out.println("Thread is running");} }public class Mai…...

英码科技携昇腾DeepSeek大模型一体机亮相第三届北京人工智能产业创新发展大会

2025年2月28日&#xff0c;第三届北京人工智能产业创新发展大会在国家会议中心隆重开幕。本届大会以"好用、易用、愿用——以突破性创新加速AI赋能千行百业”为主题&#xff0c;重点展示人工智能技术创新成果与产业化应用实践。作为昇腾生态的APN伙伴&#xff0c;英码科技…...

【AI】如何理解与应对AI中的敏感话题:详细分析与实用指南

引言 随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;我们在与AI交互时&#xff0c;可能会遇到敏感话题的讨论限制。在许多情况下&#xff0c;AI系统为了避免触及社会、政治或文化敏感点&#xff0c;会对用户输入进行一定的筛选和过滤。那么&#xff0c;这…...

(十 三)趣学设计模式 之 模版方法模式!

目录 一、 啥是模板方法模式&#xff1f;二、 为什么要用模板方法模式&#xff1f;三、 模板方法模式的实现方式四、 模板方法模式的优缺点五、 模板方法模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&a…...

20250225-代码笔记03-class CVRPModel AND other class

文章目录 前言一、class CVRPModel(nn.Module):__init__(self, **model_params)函数功能函数代码 二、class CVRPModel(nn.Module):pre_forward(self, reset_state)函数功能函数代码 三、class CVRPModel(nn.Module):forward(self, state)函数功能函数代码 四、def _get_encodi…...

【postman】postman找回接口数据

项目提测&#xff0c;一打开postman天塌了&#xff0c;所有接口都不见了。。。。conllection目录也看不见了&#xff0c;也导入不了同事给我发的json文件。 然后重新找同事要了一个安装包&#xff0c;覆盖安装了之后&#xff0c;在下面的目录里面找到了备份文件【C:\Users\yan…...

Milvus向量数据库部署

一、什么是Milvus Milvus 是一款开源的向量数据库&#xff0c;旨在帮助开发者轻松管理和检索大规模向量数据。它通过高效的索引技术&#xff0c;支持快速的相似度搜索&#xff0c;使得从海量数据中查找最接近的匹配变得简单而快捷。无论是构建推荐系统、进行图像识别还是分析自…...

显式 GC 的使用:留与去,如何选择?

目录 一、什么是显式 GC&#xff1f; &#xff08;一&#xff09; 垃圾回收的基本原理 &#xff08;二&#xff09;显式 GC 方法和行为 1. System.gc() 方法 2. 显式 GC 的行为 &#xff08;三&#xff09;显式 GC 的使用场景与风险 1. JVM 如何处理显式 GC 2. 显式 GC…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...