Pikachu靶场之XSS

先来点鸡汤,少就是多,慢就是快。

环境搭建

攻击机kali 192.168.146.140

靶机win7 192.168.146.161

下载zip,pikachu - GitCode

把下载好的pikachu-master,拖进win7,用phpstudy打开网站根目录,.....再用kali访问

XSS攻击

反射型xss,一次性的攻击,

就是在html的源代码,插入了你自己的代码,如<script>alert(1)</script>,并执行

防范方式:

<script>alert(1)</script>

有长度限制

观察url,发现把/转义成%2F

把地址栏上的,补充完整,通过URL的方式将恶意代码嵌入

第二种方法,用开发者工具,点击这个输入框出现

更改长度限制,也能成功

反射XSS,post型,看一下提示,登录,获取cookie

<script>alert(document.cookie)</script>

存储型XSS,

会存储到服务器中,多次执行,其它用户访问这个界面也可以执行

在留言板里输入

DOM型xss,是特殊的反射型XSS

看一下源代码,依次是文本框、按钮、超链接(用户的输入,比如这里我输入的1)

<a> 标签定义超链接,用于从一张页面链接到另一张页面,herf属性,它指示链接的目的地

输入#' οnclick="alert(document.cookie)">,点击连接,弹出

这里的 # 是一个锚点,代表当前页面。当用户点击这个链接时,页面不会跳转到其他地方,而是会重新加载当前页面

当用户点击这个链接时,它会执行其中的JavaScript代码

一定要记住随时保存草稿,不然ctrl+z就全没了....

DOM型xss -x 

更上面那个一样,多点2次连接就行

XSS之盲打

两个留言框都可以实现存储XSS攻击,点击提示,登录后台,会弹出弹窗

XSS之过滤

会过滤掉<script>标签,用于嵌入客户端脚本,要么包含脚本语句,要么通过 src 属性 指向外部脚本文件,比如 <script src="path/to/your-script.js"></script>

xss 常用标签及绕过姿势总结 - FreeBuf网络安全行业门户

换个

<img src=1 οnerrοr="alert(1)">

成功

  

再换个<a href="" οnclick="alert('2')">

再点击连接

  

xss之htmlspecialchars

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体(一段以连字号&开头、以分号;结尾的文本字符串),防止代码运行

预定义的字符是: & (和号)成为 &amp;  " (双引号)成为 &quot; 

' (单引号)成为 ' 

  < (小于)成为 &lt;    > (大于)成为 &gt;

看一下源码,οnclick=""多了个双引号

  

' οnclick='alert(2)' 去掉双引号 ,点击链接

  

xss之href输出

a标签的href属性,按道理应该能行的,但是点击没反应,说明代码没执行

  

看一下源代码,双引号和单引号都被编码了

  

[ 常见漏洞篇 ]常见web漏洞总结------XSS绕过方式-CSDN博客

javascript伪协议,不是真实存在的协议,它的功能是将JavaScript:后面的语句当做JavaScript代码在本页面执行,并不跳转到其他网页,而是结果返回给当前页面,相当于一个伪造的超链接,它经常与a标签一起使用,如<a href=javascript:alert(/xss/) > 点击我</a>

输入javascript:alert(1) 点击

  

xss之js输出

  

查看源码,变量 $ms 接收 用户输入的值

  

先输入</script>让<script> $ms=闭合,接着输入攻击代码

</script> <script>alert(1)</script>

  

总结

XSS原理

在网页前端界面,url和各种输入框,对用户的输入没做过滤和限制,用户输入<script>alert(document.cookie)</script>执行JS脚本或者<a herf="" οnclick='alert(1)'>test</a>

一个名为test的超链接 或者<img src=1 οnerrοr='alert(2)'>等各种,就是往网页html文档,写入你想执行的代码,就能执行,最好结合网站源码看,观察代码格式。

DOM是...

DOM型XSS,是一种特殊的反射型XSS,不经过服务器,不会被服务器检测,

防范

(1)htmlspecialchars函数把预定义的字符< > ' " / 转换为 HTML 实体,防止代码运行

(2) HTTP-only Cookie: 设置了HttpOnly属性的cookie不能通过JavaScript的Document.cookie对象访问,攻击者完成 XSS 注入后也无法窃取此Cookie。只通过HTTP(S)传输:HTTP-only cookie只能通过HTTP请求传输

(3)设置CSP,通过限制可以执行的脚本源,CSP可以防止恶意脚本在网页上执行。(限制脚本只能从同一个源加载,图片只能从特定的域加载,并且不允许内联脚本和样式)

(4)长度限制

(5)验证请求头的referer值,给出"引荐网页"的 URL

比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:Referer=http://www.google.com,由此可以看出来:它就是表示一个来源

http请求头中Referer的含义和作用-CSDN博客

过滤<script>标签

绕过

(1)编码绕过,base64 ,十六进制,url编码等

(2)伪协议绕过,javascript:alert(1) 

(3)大小写绕过<SCript>

(4)注释干扰绕过<scri<!--test--> pt> alert(1);</scr<!--test--> ipt>

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

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

相关文章

CleanMyMac 5 for Mac 最新中文破解版下载 系统优化垃圾清理工具

今天给大家带来的是CleanMyMac最新款CleanMyMac 5&#xff0c;它是一个全面的Mac清理和维护工具&#xff0c;通过提供多项强大的功能&#xff0c;帮助用户简化日常维护任务&#xff0c;提升系统性能&#xff0c;同时保护个人隐私和安全。无论是新手还是经验丰富的Mac用户&#…

京东广告投放平台整洁架构演进之路

作者&#xff1a;广告研发 赵嘉铎 前言 从去年开始京东广告投放系统做了一次以领域驱动设计为思想内核的架构升级&#xff0c;在深入理解DDD思想的同时&#xff0c;我们基于广告投放业务的本质特征大胆地融入了自己的理解和改造。新架构是从设计思想到落地框架都进行了彻底的…

Python 解析 Charles JSON Session File (.chlsj)

Charles 代理&#xff0c;是一款抓包软件&#xff0c;可以帮助我们抓取浏览器请求跟响应。 1、在 Filter 里面输入需要抓包的网址 2、右键 Export Session 3、文件类型选择 JSON Session File (.chlsj) 保存 4、解析响应的数据结构 response.body.text 是文本字符串。 # 导入…

自然语言处理-基于注意力机制的文本匹配

背景&#xff1a; 任务三&#xff1a;基于注意力机制的文本匹配 输入两个句子判断&#xff0c;判断它们之间的关系。参考ESIM&#xff08;可以只用LSTM&#xff0c;忽略Tree-LSTM&#xff09;&#xff0c;用双向的注意力机制实现。 参考 《神经网络与深度学习》 第7章 Reaso…

SpringCloud微服务消息驱动的实践指南

Spring Cloud是一个用于构建分布式系统的开发工具&#xff0c;通过它可以快速搭建基于微服务架构的应用&#xff0c;并提供了丰富的功能和解决方案。在Spring Cloud中&#xff0c;消息驱动是一种常见的通信模式&#xff0c;通过消息传递来实现不同微服务之间的数据交互。本文将…

【移动端开发】“明日头条APP”

文章目录 1 系统概述1.1研究背景1.2研究意义 2 系统设计2.1 关键技术2.2 系统设计2.2.1 系统功能模块2.2.2 数据库设计 3 系统实现3.1 数据模型3.1.1 NewsURL3.1.2 NewsType3.1.3 NewsInfo 3.2 数据库操作3.2.1 DBOpenHelper3.2.2 DBManager 3.3 适配器类3.3.1 AddItem3.3.2 In…

LabVIEW机械产品几何精度质检系统

随着制造业的发展&#xff0c;对产品质量的要求越来越高&#xff0c;机械产品的几何精度成为衡量其品质的重要指标。为了提高检测效率和精度&#xff0c;开发了一套基于LabVIEW的几何精度质检系统&#xff0c;该系统不仅可以自动化地进行几何尺寸的测量&#xff0c;而且能实时分…

Qt 边框border - qss样式

border属性 实际上&#xff0c;border并不是一个单独的属性&#xff0c;在Qt样式表中&#xff0c;它通常指的是一系列与边框相关的属性的组合。然而&#xff0c;你也可以在一条样式规则中一次性设置所有这些值&#xff0c;如下所示&#xff1a; QPushButton { border: 2px sol…

smardaten无代码这么牛逼?逻辑编排不用代码!

目录 前言 经典案例 ①计划编排&#xff1a;数据操作自动化 ②工单派工&#xff1a;流程变更自动化 smardaten能力解析 一、逻辑控制篇 &#xff08;1&#xff09;变量定义与操作 &#xff08;2&#xff09;数据校验与反馈 &#xff08;3&#xff09;动态数据获取与回填…

演示:基于WPF自绘的中国省份、城市、区县矢量地图

一、目的&#xff1a;演示一个基于WPF自绘的中国省份、城市、区县矢量地图 二、效果 国 省 市 三、功能 支持实际经纬度显示 支持平移&#xff0c;缩放等功能 显示中国地图 显示各个省份地图 显示各个省份地图&#xff08;包含在表格中&#xff0c;包含缩率图&#xff09; 显…

Android Studio报错: Could not find pub.devrel:easypermissions:0.3.0, 改用linux编译

在Android studio中去编译开源的仓库&#xff0c;大概率就是各种编译不过&#xff0c;一堆错误&#xff0c;一顿改错&#xff0c;基本上会耗费非常多时间&#xff0c;比如&#xff1a; 这个就是改gradle版本&#xff0c;改成7.2 &#xff0c;修改完成之后&#xff0c;还有其他报…

rabbitmq容器化部署

目录 需求 容器化部署rabbitmq服务 部署服务 验证及访问服务 rabbitmq配置LTS 服务验证 rabbitmq配置集群 部署集群 1、创建一个存放配置文件的目录 2、创建配置文件 3、部署各个节点 集群验证 需求 容器化部署rabbitmq服务 基础版本 系统ubuntu 24&#xff0c;docke…

Java后端框架---Spring

目录 一.Spring是什么&#xff1f; 二.Spring Hello World 搭建 三.XML配置bean管理 1.bean标签 2.依赖注入 3.依赖注入的补充 四.注解配置bean管理 1.开启注解扫描 2.使用注解对类进行配置 3.自动注入 五.面向切面编程AOP 1.概述 2.通知 六.spring事务管理 1.数据库…

【踩坑】装了显卡,如何让显示器从主板和显卡HDMI都输出

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 背景介绍 装了显卡后&#xff0c;开机默认是从显卡的HDMI输出&#xff0c;但这很不方便。如何让视频仍然从主板输出&#xff1f;或者说让显卡HDMI和主板…

系统 IO

"裸奔"层次&#xff1a;不带操作系统的编程 APP(应用程序) -------------------------------- Hardware(硬件) 特点&#xff1a;简单&#xff0c;应用程序直接操作硬件(寄存器) 缺点&#xff1a; 1. 搞应用开发的必须要了解硬件的实现细节&#xff0c;能够看懂原理图…

LeetCode_sql_day24(1212.查询球队积分)

描述 表: Teams ------------------------- | Column Name | Type | ------------------------- | team_id | int | | team_name | varchar | ------------------------- team_id 是该表具有唯一值的列。 表中的每一行都代表一支独立足球队。表: Matches…

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

Note091203_Outlook邮件撤回操作

Note091203_Outlook邮件撤回操作 如图所示&#xff1a; step1: 打开outlook step2&#xff1a; 点击已发送邮件&#xff0c;选中目标撤回邮件双击打开&#xff1b; step3&#xff1a; 点击图中2框所示&#xff0c;可看见撤回操作&#xff1b; 以上

Linux操作系统 进程(3)

接上文 Linux进程优先级之后&#xff0c;我们了解到僵尸进程与孤儿进程的形成原因&#xff0c;既然是因为父进程没有接收子进程的退出状态导致的&#xff0c;那么我们该如何去获取子进程的退出状态呢&#xff1f;那本篇文章将围绕这个问题来解释进程。 环境 &#xff1a; vsco…

基于CNN的10种物体识别项目

一&#xff1a;数据导入和处理 1.导入相关包&#xff1a; import numpy as np import pandas as pd import matplotlib.pyplot as plt import tensorflow as tf2.下载数据 (x_train_all, y_train_all), (x_test, y_test) tf.keras.datasets.cifar10.load_data()# x_valid:测…