pikachu靶场之XSS漏洞测试

news/2024/12/22 15:34:36/

一、环境配置

1.pikachu官网下载

下载地址:https://github.com/zhuifengshaonianhanlu/pikachu

2.百度网盘(里面含有pikachu跟phpstudy

链接:pikachu下载

密码:abcd

配置:pikachu下载及安装-图文详解+phpStudy配置-CSDN博客

二、XSS漏洞测试

1.反射型xss(get) 

开始提示哪个是你最喜欢的nba球员,我们先点击提交试试

输入kobe之后,我们可以发现url中的message从没有变成了kobe,利用此参数进行xss注入js代码

<script>alert(1)</script>                                            #最基本的js攻击代码

当你尝试利用在框里写上以上代码时,发现对长度进行了限制,我们可以在前端修改限制的长度,从而进行攻击 。如果你在url中攻击就没有这样的烦恼

以下图片是在前端中进行修改长度来进行攻击 

2.反射型xss(post)

当我们输入正确密码登录进去后,发现url出现了post反映的.php文件,GET和POST的区别是GET是以url方式提交数据而POST是以表单方式在请求体里面提交即在上一个实验中,可以通过URL来改变参数利用xss漏洞,而在这个实验中不可以。

<script>alert(1)</script> 

 

3.存储型xss 

进入此关卡,发现了一个留言板,尝试用基本的js代码攻击

注意:与前两个关卡不同(反射型xss攻击是一次性的),而存储型xss攻击是持久的,它是将攻击代码存储到数据库中,当被攻击的用户每次打开这个留言板界面,都会出现回显

<script>alert('xss')</script>

4.DOM型xss 

 DOM概念:DOM文档就是一份XML文档,当有了DOM标准之后,DOM便将前端html代码化为一个树状结构,方便程序和脚本能够轻松的动态访问和更新这个树状结构的内容、结构以及样式,且不需要经过服务端,所以DOM型xss在js前端自己就可以完成数据的输入输出,不与服务器产生交互,这样来说DOM型xss也可以理解为反射性xss,但是反射型xss需要与服务器交互,这就是二者的区别。

打开前端代码,看到我们攻击的代码被注释掉了,此时我们需要尝试绕过

点击提交按钮时会触发onclick事件,执行domxss()函数,通过document.getElementById()函数获取输入框内内容显示到页面
只要将 < a href="' "> < /a >标签造成闭合即可通关,我们输入

#' οnclick="alert('xss')">

 5.xss盲打

随便输入什么,提示谢谢参与,阁下的看法我们已经收到,说明我们输入的内容像是被提交给了后台, 我们接着尝试输入语句

<script>alert('xss')</script>

 点击提交,查看提示,进入xss后台,

后台登录地址是/xssblind/admin_login.php                  #在url上进行修改即可,登录成功就会回显     

6.xss之过滤 

xss绕过-过滤
1.前端限制绕过,直接抓包重放,或者修改html前端代码
2.大小写,标签,双写,编码,拼凑

先尝试基本的攻击语句,发现没有什么反应,出现了过滤

<script>alert('xss')</script>                                

我们查看源代码,发现对<script>进行了过滤

我们尝试用大小混写的方式绕过

<ScRipT>alert('xss')</ScRipT>

 

7.xss之htmlspecialchars 

将上一关过关代码尝试攻击,猜测<>被htmlspecialchars函数转义了

htmlspecialchars()函数把预定义的字符转换为HTML 实体。

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

'(单引号)成为'                     ‘’< ‘’(小于)成为<                             ‘’> ‘’(大于)成为 >


尝试输入特殊符号,''""<>123,看看过滤,发现除了',其他全被过滤了

 

此时,我们构造'闭合语句,之后点击蓝色字体,出发鼠标点击事件

' οnclick='alert(123)' 

 

 

8.xss之href输出 

尝试代码过滤内容,发现我们输入的内容在a标签中的href中,可以使用javascript协议来执行js

 javascript:alert(123)

输入完成后,点击下方蓝字 

 

9.xss之js输出

尝试看看有没有过滤,查看网页源代码,翻到底下,发现并没有过滤,尝试用'闭合

这里用'闭合$ms,用</script>闭合上面的<script> 

'</script><script>alert('123')</script>

 

 

 


http://www.ppmy.cn/news/1470785.html

相关文章

Docker:centos79-docker-compose安装记录

1.安装环境&#xff1a;centos7.9 x86 2.安装最新版&#xff1a; [rootlocalhost ~]# curl -fsSL get.docker.com -o get-docker.sh [rootlocalhost ~]# sh get-docker.sh # Executing docker install script, commit: e5543d473431b782227f8908005543bb4389b8desh -c yum in…

mediasoup源码分享(四)channel返回信令及notify通知

channel返回信令及notify通知 前言正常成功返回Accept异常失败返回Rejectmediasoup主动推送&#xff0c;Emitmediasoup推送数据到信令服务的具体实现: 前言 在mediasoup源码分析(三)channel创建及信令交互一文中介绍了mediasoup中channel的创建&#xff0c;接下来在本文中&…

利用LinkedHashMap实现一个LRU缓存

一、什么是 LRU LRU是 Least Recently Used 的缩写&#xff0c;即最近最少使用&#xff0c;是一种常用的页面置换算法&#xff0c;选择最近最久未使用的页面予以淘汰。 简单的说就是&#xff0c;对于一组数据&#xff0c;例如&#xff1a;int[] a {1,2,3,4,5,6}&#xff0c;…

selenium 处理网页上的弹窗

处理网页上的弹窗按钮&#xff0c;主要取决于弹窗的类型。在Web自动化测试中&#xff0c;常见的弹窗类型包括&#xff1a;JavaScript弹窗&#xff08;如alert、confirm和prompt弹窗&#xff09;和Web页面自定义弹窗&#xff08;通常是HTML元素实现的&#xff09;。以下是处理这…

超级数据查看器 教程pdf 1-31集 百度网盘

百度网盘链接 提取码1234https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 通过百度网盘分享的文件&#xff1a;超级数据查看器 … 链接:https://pan.baidu.com/s/1s_2lbwZ2_Su83vDElv76ag?pwd1234 提取码:1234 复制这段内容打开「百度网盘APP 即可获取」

Apple - Secure Coding Guide

本文翻译整理自&#xff1a;Secure Coding Guide https://developer.apple.com/library/archive/documentation/Security/Conceptual/SecureCodingGuide/Introduction.html#//apple_ref/doc/uid/TP40002477-SW1 文章目录 一、安全编码指南简介1、概览黑客和攻击者没有平台是免疫…

kafka 管理节点 Controller 角色分析

kafka 管理节点 Controller 角色分析 kafka controller 如何管理分区的创建、状态监测、故障切换、内容复制、如何管控分区副本的状态检测故障切换、数据同步、learder 选举?Kafka Controller 是 Kafka 集群中的一个关键组件,负责管理分区的创建、状态监测、故障切换、内容 …

java面试(企业场景)

设计模式 工厂方法模式 简单工厂模式 简单工厂包括以下角色&#xff1a; 抽象产品&#xff1a;定义了产品的规范&#xff0c;描述了产品的主要特性和功能具体产品&#xff1a;实现或者继承抽象产品的子类具体工厂&#xff1a;提供了创建产品的机会&#xff0c;调用者通过该…