当前位置: 首页 > news >正文

web前端黑客技术揭秘 6.2.3URL编码差异 笔记

问题

在《web前端黑客技术揭秘》的6.2.3 URL 编码差异中,test.php文件是:

<?php
echo '<h3>$_SERVER["QUERY_STRING"]</h3>';
echo $_SERVER['QUERY_STRING'];
echo '';
echo 'in &lt;input&gt; <input type="text" value="'.$_SERVER["QUERY_STRING"].'"/>';
//echo '<h3>$_GET["c"]</h3>';
//echo $_GET["c"];
//echo '';
//echo 'in &lt;input&gt; <input type="text" value="'.$_GET["c"].'" />';
?>

其中echo 'in &lt;input&gt; <input type="text" value="'.$_SERVER["QUERY_STRING"].'" //echo 'in &lt;input&gt; <input type="text" value="'.$_GET["c"].'" />';稍微有点难懂。

解释

这里选第2句说一下。其实它分为三个子字符串

  1. echo 'in &lt;input&gt; <input type="text" value="'
  2. $_GET["c"]
  3. "/>

因为.是字符串连接符。

正常

正常用户会提交1这样的合法输入,形成echo in &lt;input&gt; <input type="text" value="1"/>,显示到页面就是:

web前端黑客技术揭秘 6.2.3URL编码差异 笔记

恶意

而恶意用户会提交"><script>alert(/xeye/)</script>

形成

echo in &lt;input&gt; <input type="text" value=""><script>alert(/xeye/)</script>"/>  

可以看到恶意输入首先闭合属性,接着闭合input标签。接着添加script标签执行alert命令。

在谷歌浏览器被过滤了,而在火狐浏览器上没有被过滤,可以弹框。

web前端黑客技术揭秘 6.2.3URL编码差异 笔记

 

相关文章:

  • WeChall Enlightment (Encoding) Write Up
  • Python 任意进制到任意进制转换 的实现代码
  • 反射型XSS <?php echo $_GET[‘x‘];?> 笔记
  • JavaScript/JS 实现文字逐个显示 延迟缓慢展示
  • idea copy reference没有了
  • Html文件 浏览器上打开 中文乱码的 解决方法
  • Python Undefined variable ‘sqrt‘ 的解决方式
  • WeChall Simply Red (Stegano, Image) 答案
  • Flow Over Astronomy (Coding, Math) 答案
  • Impossible n‘est pas français (Exploit) 答案
  • WeChall htmlspecialchars (Exploit, PHP, XSS)
  • 注意最后一行程序中既有单引号又有双引号.....
  • Python2/3 字符串转16进制 16进制转字符串
  • XSS攻击 eval(location.hash.substr(1)); 笔记
  • Unable to find the wrapper “https“ 解决方法
  • 0x05 Python数据分析,Anaconda八斩刀
  • centos安装java运行环境jdk+tomcat
  • java2019面试题北京
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JS学习笔记——闭包
  • JS字符串转数字方法总结
  • Linux链接文件
  • Node项目之评分系统(二)- 数据库设计
  • PHP的Ev教程三(Periodic watcher)
  • PHP那些事儿
  • quasar-framework cnodejs社区
  • vue:响应原理
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 浮现式设计
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 赢得Docker挑战最佳实践
  • 做一名精致的JavaScripter 01:JavaScript简介
  • Nginx实现动静分离
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # Panda3d 碰撞检测系统介绍
  • #AngularJS#$sce.trustAsResourceUrl
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (04)odoo视图操作
  • (2.2w字)前端单元测试之Jest详解篇
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)appium-desktop定位元素原理
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)创业的注意事项
  • .net FrameWork简介,数组,枚举
  • .net refrector
  • .net Stream篇(六)
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @拔赤:Web前端开发十日谈