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

浅谈XSS简单漏洞xss-labs-master(初级)

一、环境以及xss漏洞简介

网上很多gethub自己下就行

XSS简介:

  当用户访问被XSS注入的网页,XSS代码就会被提取出来。用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。

  用户最简单的动作就是使用浏览器上网,并且浏览器中有Javascript解释器,可以解析JavaScript,然而由于浏览器不具有人格,不会判断代码是否恶意,只要代码符合语法规则,浏览器就会解析这段XSS代码。

  简单来说,XSS就是通过攻击者精心构造的JS代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击浏览器的效果。XSS攻击的对象是用户浏览器,属于被动攻击。因此XSS攻击涉及到三个角色:

  • 攻击者
  • 用户浏览器
  • 服务器

XSS漏洞的位置通常存在于Web应用程序的输入验证或输出过滤不严格的地方,主要包括以下几种类型:

  1. 存储型XSS(Stored XSS):攻击者将恶意脚本存储在服务器上,当其他用户访问包含这些恶意脚本的页面时,就会触发XSS漏洞。

  2. 反射型XSS(Reflected XSS):恶意脚本作为URL参数发送给服务器,服务器将恶意脚本插入到返回的页面中,用户访问该页面时就会执行该脚本。

  3. DOM-based XSS:攻击不涉及服务器端,而是通过修改页面的DOM结构来实现攻击,通常通过修改客户端脚本中的DOM元素来触发漏洞。

XSS漏洞的危害包括但不限于:

  1. 窃取用户信息:攻击者可以通过XSS漏洞窃取用户的Cookie、会话信息等敏感数据,从而实施账号劫持或者钓鱼攻击。

  2. 篡改网页内容:攻击者可以通过XSS漏洞篡改网页内容,包括植入恶意链接、虚假表单等,诱导用户进行恶意操作。

  3. 传播恶意代码:攻击者可以利用XSS漏洞传播恶意代码,进一步扩大攻击范围,甚至控制用户浏览器。

二、正式开始闯关

反射型xss

2.1、level1

语句插入:

并没有任何限制直接插入

这里进行补充弹窗函数

alert
confirm
prompt
?name=<script>alert(1)</script>

结果

2.2、level2

跟刚才的差不多按刚才的去输入看看怎么个情况

好了,没反弹看看源码很明显有一个过滤函数

 那很简单逃逸双引号编码绕过就行了

第二种方法:点击事件 on

自然点击一下

2.3、level3

我们试着跟刚才一样闭合去加双引号,很明显没有逃逸出来

试试单引号

 那自然闭合了测出来了

2.4、level4

咱们的上一种方法直接过,利用属性

它的考察点在这里,它在考察你的input闭合

2.5、level5

试一试上一关的闭合方式

很明显过滤了看看源码

很明显这里过滤和替换了不能使用script标签了,我们使用javascript伪协议

1" > <a href="javascript:alert(1)">1</a>

很明显可以的

2.6、level6

过滤了这么多东西

 很简单绕过了

2.7、level7

替换为空了on直接进行双写

 

2.8、level8

这友情链接不就是我们刚才玩的javascript伪协议直接输入

很明显被过滤掉了

直接编码不就行了

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:alert(1)

2.9、level9

链接不合法必须加http

命令没有弹窗试着编码一下

 

&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x27;http://;&#x27;&#x29;

2.10、level10

没有post请求了,我们URL传参看看

只是回显到页面但是并没有弹出

 看看源码

?keyword=t_link=aaaaa&t_history=bbbbb&t_sort=aaaaaa" onclick="alert(1)

 很明显进来了

那就失一下焦onblur,再用javascript去看

?keyword=t_link=aaaaa&t_history=bbbbb&t_sort=aaaaaa"%20onblur="javascript:alert(1)

 那怎么让它显示出来执行

???改类型

?keyword=t_link=aaaaa&t_history=bbbbb&t_sort=aaaaaa"%20type="text" onclick="alert(1)

2.11、level11

跟上一关一样看看源码

这不就是上一关的URL,那我们很简单就是利用refere去传参

很明显这里有变动

ok,注入点出现,开始表演

2.12、level12

跟上一关一样,只不过注入点变成user_agent而已

2.13、level13


跟前面还是一样的只是注入点变了

输入发现并没有文本框出现

看看源码吧 cookies后面的是有规范的

user=a" type="text" onclick="alert(1)

 

三、总结

这是一个简单靶场,可以带我们入门xss,之后文章会涉及中级以及高级希望大家持续观看下去,提升更快 

相关文章:

浅谈XSS简单漏洞xss-labs-master(初级)

一、环境以及xss漏洞简介 网上很多gethub自己下就行 XSS简介&#xff1a; 当用户访问被XSS注入的网页&#xff0c;XSS代码就会被提取出来。用户浏览器就会解析这段XSS代码&#xff0c;也就是说用户被攻击了。 用户最简单的动作就是使用浏览器上网&#xff0c;并且浏览器中有J…...

WordPress分类目录ID怎么看?如何查找WordPress标签ID?

在WordPress网站中&#xff0c;我们需要判断某篇文章是否属于某个分类目录&#xff0c;或者是否拥有某个标签&#xff0c;那么就需要用到分类目录ID和标签ID&#xff0c;那么WordPress分类目录ID怎么看&#xff1f;如何查找WordPress标签ID&#xff1f;下面boke112百科就跟大家…...

达梦数据库基础操作(一):用户操作

达梦数据库基础操作(一)&#xff1a;用户操作 1 达梦运行状态 SELECT banner as 版本信息 FROM v$version;1.2 达梦版本号 SELECT banner as 版本信息 FROM v$version;1.3 用户相关操作 默认用户名密码&#xff1a;SYSDBA/SYSDBA 注意&#xff1a;在哪个数据库下创建的用户…...

Java进阶(锁)——锁的升级,synchronized与lock锁区别

目录 引出Java中锁升级synchronized与lock锁区别 缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java进阶&#xff08;锁&#xff09;——锁的升级&#xff0c;synchronized与lock锁区别 Java中锁升级 看一段代码&#xff1a; public class…...

Flask+Gunicorn中文乱码解决方案

在使用FlaskGunicorn部署应用时&#xff0c;发现中文的输出存在乱码的现象。这是因为Python的默认编码是ASCII&#xff0c;而ASCII并不支持中文字符。 解决Python中文乱码问题的首要任务是确保使用合适的编码方式。当你处理中文字符时&#xff0c;应该使用UTF-8编码。UTF-8是一…...

vue3的开发小技巧

「总之岁月漫长&#xff0c;然而值得等待。」 目录 父组件调用子组件函数 父组件调用子组件函数 ref, defineExpose //父组件 代码 <child ref"ch">this.$refs.ch.fn();//子组件 函数抛出 const fn () > { }; defineExpose({ fn });...

十三、Qt多线程与线程安全

一、多线程程序 QThread类提供了管理线程的方法&#xff1a;一个对象管理一个线程一般从QThread继承一个自定义类&#xff0c;重载run函数 1、实现程序 &#xff08;1&#xff09;创建项目&#xff0c;基于QDialog &#xff08;2&#xff09;添加类&#xff0c;修改基于QThr…...

今日话题:---自卑

自卑是一种普遍存在的心理现象&#xff0c;它可能源于个人对自身能力、外貌、社会地位等方面的不满意或不自信。自卑感可能会导致消极的情绪和行为&#xff0c;如焦虑、抑郁、逃避现实等。然而&#xff0c;适度的自卑感也可能激发个人努力提升自己&#xff0c;从而实现自我成长…...

Unity 预制体与变体

预制体作用&#xff1a; 更改预制体&#xff0c;则更改全部的以预制体复制出的模型。 生成预制体&#xff1a; 当你建立好了一个模型&#xff0c;从层级拖动到项目中即可生成预制体。 预制体复制模型&#xff1a; 将项目中的预制体拖动到层级中即可复制。或者选择物体复制粘贴。…...

leetcode:860.柠檬水找零

题意&#xff1a;按照支付顺序&#xff0c;进行支付&#xff0c;能够正确找零。 解题思路&#xff1a;贪心策略&#xff1a;针对支付20的客人&#xff0c;优先选择消耗10而不是消耗5&#xff0c;因为5可以用来找零10或20. 代码实现&#xff1a;有三种情况&#xff08;代表三种…...

Python程序的流程

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 年轻是我们唯一拥有权利去编制梦想的时…...

C语言可以干些什么?C语言主要涉及哪些IT领域?

C语言可以干些什么&#xff1f;C语言主要涉及哪些IT领域&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家…...

element-ui附件上传及在线查看详细总结,后续赋源码

一、附件上传 1、在element-ui上面复制相应代码 a、accept"image/*,.pdf,.docx,.xlsx,.doc,.xls" 是规定上传文件的类型&#xff0c;若是不限制&#xff0c;可以直接将accept‘all即可&#xff1b; b、:action"action" 这个属性就是你的上传附件的地址&am…...

投标中excel表格常用功能梳理

投标中excel表格常用功能梳理&#xff1a; 1.投标报价调整报价的办法&#xff1a; 目的调整报价&#xff0c;把“红框”的报价增加30%&#xff0c;50% 增加30%的步骤&#xff1a; 步骤1&#xff1a;选择1.3 复制&#xff08;ctrlc&#xff09; 步骤2&#xff1a;选择性黏贴 …...

C++二叉搜树的实现(递归和非递归)

目录 1.什么是二叉搜索树 2.二叉搜索树的查找 3.二叉搜索树插入 4.二叉搜索树的删除 1.删除的节点只有左子树或者右子树 2.删除节点左右子树都有的情况 5.代码 1.什么是二叉搜索树 左节点的值小于根节点 右节点大于根节点 左右子树也满足上面两个条件 例&#xff1a;…...

蓝桥杯算法 一.

分析&#xff1a; 本题记录&#xff1a;m个数&#xff0c;异或运算和为0&#xff0c;则相加为偶数&#xff0c;后手获胜。 分析&#xff1a; 369*99<36500&#xff0c;369*100>36500。 注意&#xff1a;前缀和和后缀和问题...

如何学习自然语言处理之语言模型

自然语言处理&#xff08;NLP&#xff09;是一种人工智能技术&#xff0c;它使计算机能够理解和处理人类语言。而语言模型是NLP中的一个重要概念&#xff0c;主要是用来估测一些词的序列的概率&#xff0c;即预测p(w1, w2, w3 … wn)&#xff0c;其中一个应用就是句子的生成。 …...

Zoho ToDo 满足您的需求:任务管理满足隐私和安全要求

任务管理工具已经成为我们日常生活中不可或缺的一部分&#xff0c;它们帮助我们处理各种事务&#xff0c;从杂项和愿望清单到管理截止日期和资源。这些工具不仅仅是简单的任务列表&#xff0c;它们掌握了项目的蓝图、雄心勃勃的目标和完成的最后期限。然而随着这些工具的使用越…...

仿牛客网项目---社区首页的开发实现

从今天开始我们来写一个新项目&#xff0c;这个项目是一个完整的校园论坛的项目。主要功能模块&#xff1a;用户登录注册&#xff0c;帖子发布和热帖排行&#xff0c;点赞关注&#xff0c;发送私信&#xff0c;消息通知&#xff0c;社区搜索等。这篇文章我们先试着写一下用户的…...

虚拟机部署Sentry步骤,国内地址

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能

1. 开发环境准备 ​​安装DevEco Studio 3.1​​&#xff1a; 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK ​​项目配置​​&#xff1a; // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

32位寻址与64位寻址

32位寻址与64位寻址 32位寻址是什么&#xff1f; 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元&#xff08;地址&#xff09;&#xff0c;其核心含义与能力如下&#xff1a; 1. 核心定义 地址位宽&#xff1a;CPU或内存控制器用32位…...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...