php反射型xss,反射型XSS测试及修复

php反射型xss,反射型XSS测试及修复反射型XSS一般出现的位置,如GET参数中测试搜索功能F12查看源码,查找出现1111的位置第一个位置在title处尝试闭合掉title标签,然后测试JS代码,成功弹窗查看源码,XSS执行第二处位置在搜索框,此处XSS无法执行,因为位于value属性内,需要将其闭合测试时注意闭合掉多余的双引号”接下来对XSS漏洞进行源码修复第一处XSS在title位置,输入的搜索参数ks直接echo输出,没有进行…

大家好,又见面了,我是你们的朋友全栈君。

反射型XSS一般出现的位置,如GET参数中

测试搜索功能

fb72925c06fb99851b2baabb7d3f5d37.png

F12查看源码,查找出现1111的位置

第一个位置在title处

a2e246e5cab473010aa54caa8565165d.png

尝试闭合掉title标签,然后测试JS代码,成功弹窗

5c28e8974da8fe388c21d80785221761.png

查看源码,XSS执行

5f7b088ee6e918d0c53a0fcdd802ccb1.png

第二处位置在搜索框,此处XSS无法执行,因为位于value属性内,需要将其闭合

d055a66a0dccdd84b96e846defef2539.png

测试时注意闭合掉多余的双引号”

7c6fac19b124fa69134f08448ba83365.png

接下来对XSS漏洞进行源码修复

第一处XSS在title位置,输入的搜索参数ks直接echo输出,没有进行任何转义等操作

<?php echo input(‘ks’);?>|{$site_config[‘site_title’]}|{$site_config[‘seo_title’]}

添加过滤代码strip_tags()操作

测试发现对

图片22.png

第二处XSS位于搜索框,位于index_menu.html中

同样的漏洞,对输入的ks没有进行任何过滤操作直接echo输出

添加过滤函数strip_tags()

<?php echo strip_tags(input(‘ks’));?>

测试发现对

图片23.png

然而这个修复是不完善的,存在绕过,将value值闭合后,添加一个事件属性依然可以有效XSS

图片24-1.png

最好的过滤方法是使用htmlsepcial函数进行过滤

<?php echo htmlspecialchars(input(‘ks’));?>

再次测试,双引号进行了转义成 ”

无法触发XSS,修复成功。

图片25-1.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130466.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月14日 上午10:46
下一篇 2022年6月14日 上午10:46


相关推荐

  • [日常训练]AekdyCoin的跳棋「建议收藏」

    [日常训练]AekdyCoin的跳棋「建议收藏」AekdyCoin正在玩一个游戏,该游戏要用到两副牌和一个数轴和一个棋子。刚开始的时候棋子位于数轴的0位置。然后AekdyCoin交替的从两副牌中抽取一张牌,然后执行相应的动作。设这两幅牌为A

    2022年7月1日
    23
  • 购书记

    购书记

    2021年5月8日
    135
  • vue解构赋值_vue解构赋值_ES6解构赋值

    vue解构赋值_vue解构赋值_ES6解构赋值写 vue 或 react 项目 我们经常在接收到数据的时候 需要对数据进行二次加工操作 一些传统的办法可以实现对数据的加工 但利用到 ES6 的解构赋值 则更为简单 解构赋值主要分为对象的解构和数组的解构 在没有解构赋值的时候 我们的赋值是这样的 letarr 1 2 3 leta arr 0 letb arr 1 letc arr 2 这样写很繁琐 解构赋值可以轻松解决上面的问题 一 数

    2026年3月18日
    2
  • FutureTask详解

    FutureTask详解FutureTask 介绍一个可取消的异步计算 FutureTask 提供了对 Future 的基本实现 可以调用方法去开始和取消一个计算 可以查询计算是否完成并且获取计算结果 只有当计算完成时才能获取到计算结果 一旦计算完成 计算将不能被重启或者被取消 除非调用 runAndReset 方法 除了实现了 Future 接口以外 FutureTask 还实现了 RunnableFutu 使用 Futu

    2026年3月26日
    2
  • 什么品种的猫最受欢迎?Python爬取猫咪网站交易数据[通俗易懂]

    什么品种的猫最受欢迎?Python爬取猫咪网站交易数据[通俗易懂]本篇文章是关于某化妆品企业的销售分析。从分析思路开始带大家一步步地用python进行分析,找出问题,并提出解决方案的整个流程。以下文章来源于修炼Python作者:叶庭云Python爬虫、数据分析、网站开发等案例教程视频免费在线观看https://space.bilibili.com/523606542一、前言看到可爱的猫咪表情包,总是会忍不住收藏,晒部分图如下:认识的一些朋友也养了猫,比如橘猫、英短、加菲猫之类的,看他们发朋友圈撸猫,老羡慕了,猫咪真的太可爱啦。发.

    2025年11月14日
    2
  • 路由WDS 中继模式Repeater和桥接模式Bridge的区别,同时WDS对网速的影响

    路由WDS 中继模式Repeater和桥接模式Bridge的区别,同时WDS对网速的影响WDS WirelessDist 无线分布式系统 是无线连接两个接入点 AP 的协议 在整个 WDS 无线网络中 把多个 AP 通过桥接或中继器的方式连接起来 使整个局域网络以无线的方式为主 WDS 有中继模式 Repeater 和桥接模式 Bridge 两种 Repeater 中继模式和 Bridge 桥接模式 中继模式是工作在桥接 二层 方式 从某一

    2026年3月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号