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

图解http xss攻击url中加号+问题

页码: P215

服务器后台程序通过url中指定的ID查询字段来获取到ID值,并原文不动得显示在了页面中。

问题: 在url中出现了+,但是到了html中换成了空格


原因:

W3C标准规定,当Content-Typeapplication/x-www-form-urlencoded时(也就是提交表单),URL中查询参数名和参数值中空格要用加号+替代。

在HTML 4.01规范中就明确规定了:当content-type为application/x-www-form-urlencoded时,对names和values进行转义,空格用’+'代替。


可以手动验证下:

https://www.baidu.com/s?ie=UTF-8&wd=abc+def

在这里插入图片描述


补充:

另一份规范(RFC 2396,定义URI)里, URI里的保留字符都需转义成%HH格式(Section 3.4 Query Component),因此空格会被编码成%20

所以这种格式的url也可以:

https://www.baidu.com/s?ie=UTF-8&wd=abc%20def

如果就是希望html中出现的是+而不是空格呢?

可以将+编码成%2B

https://www.baidu.com/s?ie=UTF-8&wd=abc%2Bdef

更多

如果查看tomcat的源码,可以发现它会把加号换成空格
在这里插入图片描述
这里更详细:
http请求中加号被替换为空格?源码背后的秘密_why技术的博客-CSDN博客

相关文章:

  • 如何理解停机问题
  • java核心技术卷1 2 英文版pdf/epub+源代码 Core Java, 11th Edition
  • Files.readAllBytes() 方法
  • 查看mysql版本
  • cmd命令行设置绿色字体 透明度
  • distinct 不能用于count(*) 的原因
  • sidr制作移动端隐藏式菜单教程
  • post发包获取到的响应json 出现中文乱码
  • 深入剖析Tomcat第一章ERR_INVALID_HTTP_RESPONSE
  • Classic VM 使用句柄查找对象
  • Mac command line tools for xcode 安装
  • Eclipse Memory Analyzer 安装教程
  • java -Xss缩写
  • Not quite a no-op; ensures volatile write semantics
  • 易语言 json取成员数 根节点就是数组
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • C++入门教程(10):for 语句
  • Fundebug计费标准解释:事件数是如何定义的?
  • JS+CSS实现数字滚动
  • React-生命周期杂记
  • SQLServer之创建显式事务
  • ucore操作系统实验笔记 - 重新理解中断
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • - 概述 - 《设计模式(极简c++版)》
  • 工作中总结前端开发流程--vue项目
  • 关于使用markdown的方法(引自CSDN教程)
  • 开发基于以太坊智能合约的DApp
  • 网页视频流m3u8/ts视频下载
  • 微信小程序填坑清单
  • python最赚钱的4个方向,你最心动的是哪个?
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (8)STL算法之替换
  • (Matlab)使用竞争神经网络实现数据聚类
  • (windows2012共享文件夹和防火墙设置
  • (附源码)计算机毕业设计大学生兼职系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (算法设计与分析)第一章算法概述-习题
  • (推荐)叮当——中文语音对话机器人
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)Mysql的优化设置
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .Net Core与存储过程(一)
  • .net 设置默认首页
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • // an array of int
  • /proc/vmstat 详解
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • @transaction 提交事务_【读源码】剖析TCCTransaction事务提交实现细节
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解