*欢迎关注我的 Github,会在这里持续更新渗透测试和 OSCP 考试的相关学习资源。

%00和0x00:

0x00是十六进制的0

%00是url加密,是url的终止符

burpsuite上传截断估计很多人都用过,但具体原理是什么,还是有很多人不明白。我自己也存在很多疑惑,所以今天就花点时间认真梳理一下,与君共勉。

一、简介

截断的产生核心,就是chr(0)字符 。

这个字符即不为空(Null),也不是空字符(""),更不是空格!

当程序在输出含有chr(0)变量时,chr(0)后面的数据会被停止,换句话说,就是误把它当成结束符,后面的数据直接忽略,这就导致漏洞产生的原因。

二、后端语言

2.1 PHP

2.1.1

在php 5.3.4中修复了0字符,但是在之前的版本中仍然危害巨大。

简单测试一下 (PHP 版本<5.3.4)

$data = $_GET["filename"]`;

echo $data;

?>

url中输入xx.php?filename=test.php%00.txt,实际输出为test.php.

常见利用方法:

1.上传时路径可控,使用00截断

2.文件下载时,00截断绕过白名单检查

3.文件包含时,00截断后面限制(主要是本地包含时)

4.其它与文件操作有关的地方都可能使用00截断。

2.1.2

2.2 ASP

在文件上传路径可控时出现:

response.write(request("Filename"))

%>

传入filename=test.asp%00.txt, 获得参数值是test.asp,asp 会自动截断 %00 后面的内容。

2.3 JSP

String temp=request.getRealPath("/")+request.getParameter("path");

out.println(temp);

String ext = temp.substring(temp.lastIndexOf(".") + 1);

out.println(ext);

%>

传入path=shell.jsp%00.txt 获得后缀是txt,但是操作文件的api是使用 C 实现会导致00截断。因此这个与php相似,利用场景是文件上传 文件下载等。

三、Web容器解析漏洞

3.1 我们都知道windows2003 + IIS6.0下,如果目录结构中有xxx.asp这样的目录,那么所有这个目录下的文件不管扩展名为什么,都会当作asp来解析。

我们一般称这个漏洞为 windows2003+iis6.0目录解析漏洞。

3.2

image.png

php00截断原理,burpsuite上传截断及截断原理介绍相关推荐

  1. php 00截断,文件上传之\00截断与文件包含之%00截断 文件包含漏洞详解 – jinglingshu的博客...

    首先要明确\00截断与%00截断的关系:00截断就是将上传文件的文件名或路径名中使用ascii码值为0的字符进行截断来达到突破上传限制的目的,而%00一般用在URL中用于截断url来进行文件包含.两者 ...

  2. 文件上传保姆级教程(原理,大小马,CTF,防御,绕狗一句话,upload-labs)

    文章目录 文件上传漏洞简历 产生原因 危害 容易出现文件上传漏洞的地方 概括 环境搭建 一句话马 一句话木马原理 webshell常用的一句话 图片一句话 小马与大马的区别 webshell管理工具 ...

  3. php怎么上传函数,PHP单文件上传原理及上传函数的封装操作示例

    搜索热词 @H_404_0@本文实例讲述了PHP单文件上传原理及上传函数的封装操作.分享给大家供大家参考,具体如下: @H_404_0@表单: @H_404_0@0.PHP: 无标题文档 请选择您要上 ...

  4. php 打包上传的文件,PHP单文件上传原理及上传函数的打包

    PHP单文件上传原理及上传函数的封装 服务器(临时文件)-->指定目录,当文件进入服务器时它就是临时文件了,这时操作中要用临时文件的名称tmp_name.//在客户端设置上传文件的限制(文件类型 ...

  5. 在SecureCRT使用sz与rz命令上传、下载文件命令介绍

    在SecureCRT使用sz与rz命令上传.下载文件命令介绍    一.简介 借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务 ...

  6. 上传截断_文件上传路径截断实例

    上传截断pass-13(post00截断):白名单,文件上传路径拼接生成,而且使用了post发送的数据进行拼接,我们可以控制post数据进行0x00截断绕过白名单(这里使用的是php5.2.17+ap ...

  7. PHP 表单文件上传的原理,php上传文件的原理

    文件上传原理 将客户端的文件上传到服务器,再将服务器的临时文件上传到指定目录 客户端配置 提交表单 表单的发送方式为post 添加enctype="multipart/form-data&q ...

  8. html web上传文件原理,Web上传文件的原理及实现

    本文为原创,如需转载,请注明作者和出处,谢谢! 现在有很多Web程序都有上传功能,实现上传功能的组件或框架也很多,如基于java的Commons FileUpload.还有Struts1.x和Stru ...

  9. jquery form插件(ajax)上传文件实现及原理

    原理: jquery form插件ajax上传文件的原理, 1.浏览器实现了XMLHttpRequest level2规范的,则插件使用xhr直接提交文件.通常来说chrome.firefox都实现了 ...

最新文章

  1. iOS开发之UIWindow
  2. 修改linq结果集_UTXO集优化
  3. 18.了解各种与排序有关的选择
  4. JDK6u25里添加的按线程统计分配内存量: JMX
  5. AttributeError: 'NoneType' object has no attribute '__array_interface__'
  6. JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端
  7. 前端学习(927):淘宝flexiblejs源码分析之pageshow原理
  8. Windows下DNS ID欺骗的原理与实现
  9. 学python有前途吗-现在学Python还有前途吗?能做什么?
  10. 拼多多显示服务器有点问题,拼多多打不开网页怎么回事
  11. 告诉我图样图森破的两道简单C++笔试题
  12. Airtest 网易 UI 自动化工具 Airtest 浅用记录
  13. 指令于动作之forward动作
  14. strcpy和strncpy区别
  15. docker安装redis无法启动: The container name “/ly-redis“ is already in use by container
  16. 如何批量将 Word 文档转为 ePub 格式
  17. 星环科技数据中台解决方案,助力某政府机构建设新型智慧城市
  18. 基于图像去雾处理的雾霾污染程度评估(任务书+lunwen+翻译及原文+答辩PPT)
  19. 解决浏览网页禁用鼠标右键的方法
  20. C++1157哥德巴赫猜想

热门文章

  1. 专科咋了?5年时间从三流外包到阿里P6,逆袭成功终于肝出了这份大厂Android研发岗中高级面经!
  2. Codeforces 446C. DZY Loves Fibonacci Numbers (Fibonacci + 线段树)
  3. VCS(DVE)仿真波形的存储和打开.vpd
  4. ctab法提取dna流程图_CTAB法提取DNA
  5. 混合现实手术规划模拟系统——阿里云资源+MR技术在医疗行业的典型应用
  6. 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2
  7. 拆书帮第14期训练营——作业一:如何进行有目的的练习
  8. android 彻底 关 亮度,Android设置屏幕亮度为0关闭屏幕 – 如何避免
  9. 我的程序员转行过程,聊聊程序员的职业出路在哪里?
  10. 学习日记day16 ps