浅谈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,之后文章会涉及中级以及高级希望大家持续观看下去,提升更快 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/497801.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony 项目实战:智能体重秤

一、简介 本 demo 基于 OpenHarmony3.1Beta 版本开发&#xff0c;该样例能够接入数字管家应用&#xff0c;通过数字管家应用监测体重秤上报数据&#xff0c;获得当前测量到的体重&#xff0c;身高&#xff0c;并在应用端形成一段时间内记录的体重值&#xff0c;以折线图的形式…

【程序员英语】【美语从头学】初级篇(入门)(笔记)Lesson 16 At the Shoe Store 在鞋店

《美语从头学初级入门篇》 注意&#xff1a;被 删除线 划掉的不一定不正确&#xff0c;只是不是标准答案。 文章目录 Lesson 16 At the Shoe Store 在鞋店对话A对话B笔记会话A会话B替换 Lesson 16 At the Shoe Store 在鞋店 对话A A: Do you have these shoes in size 8? B:…

网站添加pwa操作和配置manifest.json后,没有效果排查问题

pwa技术官网&#xff1a;https://web.dev/learn/pwa 应用清单manifest.json文件字段说明&#xff1a;https://web.dev/articles/add-manifest?hlzh-cn Web App Manifest&#xff1a;Web App Manifest | MDN 当网站添加了manifest.json文件后&#xff0c;也引入到html中了&a…

Eureka介绍与使用

Eureka介绍与使用 一、Eureka介绍1.Eureka的诞生2.Eureka的优势2.1 提供完成的服务注册和服务发现实现2.2 与spirngcloud无缝集成2.3 采用AP而非CP2.4 Eureka开源 3.Eureka和zk作为注册中心比较4.Eureka的架构设计4.1 设计理念4.1.1 AP由于CP4.1.2 Peer to Peer设计4.1.3 Zone和…

iOS App冷启动优化:Before Main阶段

iOS应用冷启动时&#xff0c;在 UIApplicationMain(argc, argv, nil, appDelegateClassName)方法执行前&#xff0c;主要经历以下阶段&#xff1a; 1. 执行exec&#xff08;&#xff09;启动应用程序进程 2. 加载可执行文件&#xff0c;即将应用程序的Mach-O文件加载到内存…

仓储自动化新解:托盘四向穿梭车驶入智能工厂 智能仓储与产线紧密结合

目前&#xff0c;由于对仓库存储量的要求越来越高&#xff0c;拣选、输送以及出入库频率等要求也越来越高&#xff0c;对此&#xff0c;在物流仓储领域&#xff0c;自动化与智能化控制技术得以快速发展&#xff0c;货架穿梭车在自动库领域的应用越来越广泛。现阶段&#xff0c;…

Qt 简约美观的加载动画 小沙漏风格 第六季

这次和大家分享一个沙漏风格的加载动画 效果如下: 这是本系列的第六季了, 本次内容的关键在于cubicTo函数的使用, 在这里分享一个非常好用的网站https://www.desmos.com/calculator/cahqdxeshd 在这上面可以手动拖动贝塞尔曲线的控制点, 并且显示了起终点和两个控制点的精确坐…

前端JS 时间复杂度和空间复杂度

时间复杂度 BigO 算法的时间复杂度通常用大 O 符号表述&#xff0c;定义为 T(n) O(f(n)) 实际就是计算当一个一个问题量级&#xff08;n&#xff09;增加的时候&#xff0c;时间T增加的一个趋势 T(n)&#xff1a;时间的复杂度&#xff0c;也就相当于所消耗的时长 O&#xff1…

动态规划(算法竞赛、蓝桥杯)--混合背包DP

1、B站视频链接&#xff1a;E14 背包DP 混合背包_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N1010,M10000; int a[M],b[M],c[M];//体积、价值、类型 int f[N];int main(){int n,m,v,w,s;cin>>n>>m;int num1;for(int i1;i&…

【Java程序设计】【C00331】基于Springboot的驾校预约学习系统(有论文)

基于Springboot的驾校预约学习系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的驾校预约学习系统&#xff0c;本系统有管理员、用户和教练三种角色&#xff1b; 管理员&#xff1a;个人中心、管理员管理、教练…

linux gdb 调试工具

1.写程序 首先&#xff0c;我们先写出一个 .c 或者.cpp程序 如 然后 gcc -g hello.c -o hello 或者 g -g hello.cpp -o hello &#xff08;-g&#xff09;要加 2. gdb调试 用 gdb &#xff08;可执行程序&#xff0c;如hello&#xff09; 进入之后&#xff0c;有…

mongoDB 优化(1)索引

1、创建复合索引&#xff08;多字段&#xff09; db.collection_test1.createIndex({deletedVersion: 1,param: 1,qrYearMonth: 1},{name: "deletedVersion_1_param_1_qrYearMonth_1",background: true} ); 2、新增索引前&#xff1a; 执行查询&#xff1a; mb.r…