NTFS流简单介绍:

	NTFS因为它的稳定性 强大的功能 以及它所提供的安全性而成为一种更优越的文件系统,NTFS交换数据流(ADSs)是为了和Macintosh的HFS文件系统兼容而设计的,它使用资源派生(resource forks)来维持与文件相关的信息,比如说图标及其他的东西。创建ADSs的语法相对比较简单和直接,比如说创建和文件myfile.txt相关联的ADSs,只需简单的用冒号把文件名和ADSs名分开即可如:

D:\ads>echo This is an ADS > myfile.txt:hidden

	那么这种问题和脚本安全有什么关系呢?80sec的xy7提供了如下的测试代码:

/*-----------------------------------------------------------------------------------------------------------------
<?php
$fp = fopen ("$_GET[a].txt", "a");
fwirte($fp,'80sec.com');
?>
-------------------------------------------------------------------------------------------------------------------*/
当提供一个80sec.php?a=x.php:的时候,在windows系统下会发现在当前目录创建了一个x.php文件,但是内容为空:)但是实际上这已经扰乱了程序的逻辑,生成php文件就是不允许的事情。那么到底怎么回事呢?用记事本执行
notepad x.php:.txt
就可以看到真实的文件路径。那么这个路径在其他文件操作函数是否可用呢?经过测试,像file_exists,include都可以使用这个路径,尽管这个路径在文件目录和dir命令下不可见,并且测试发现,在普通文件名里不允许的<>以及"等字符,在这个路径里是允许存在的,而这些字符就可能在文件操作时不注意而引发一些安全问题。 另外可以看到,这种文件可以很容易在windows系统里隐藏自己的某些代码,譬如将自己的后门代码隐藏在某个php文件里,然后可以在另外一个地方include进来执行,并且这种隐藏在脚本级别是无法查看的,必须借助相应的工具才能查看。 由于文件名的特殊性,可能可以bypass一些文件上传的安全检查,但是经过测试,我们发现并不能在apache和iis里对这种类型文件进行访问,所以即使能上传成功也许也并不能直接访问作为代码直接执行:)但是不排除一些windows下的其他http server能正确处理好这种文件名,而不发生问题,这种问题应该是windows的问题,所以在像其他脚本如asp里也应该是一样存在的。

NTFS数据流和web安全的更多相关文章

  1. 实验吧-杂项-你知道他是谁吗?(转盘密码、NTFS数据流检测及导出)

    刚看到的时候听懵,没注意到重点,其实很多时候题目中的细节就是给我们线索的,所以审题和思考是很重要的. 在没做到点上的是,也做了一点努力,没有效果,科普一下这个人((*^▽^*))图片上是托马斯.杰斐逊 ...

  2. UNCTF杂项题Hidden secret 之NTFS交换数据流隐写

    ---恢复内容开始--- 做这道题目的经历比较坎坷,题目中用于隐藏flag的jpg文件出了问题,导致不能被交换数据流隐写所以出题人换了一次题目,最后做法也换了,不过出题人一开始的考察点还是基于NTFS ...

  3. 2018湖湘杯web、misc记录

    1.题目名 Code Check 打开题目,右键发现有id参数的url,简单base64解码以后发现不是明文,说明利用了其他的加密方式,那么应该会有具体的加密方式给我们,于是试试常见的文件泄露,可以发 ...

  4. 2016第七季极客大挑战Writeup

    第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...

  5. 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF

    1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载  链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...

  6. Powershell 渗透测试工具-Nishang

    Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...

  7. 2019"深思杯"山东省大学生网络安全技能大赛部分wp

    签到 载入OD查看字符串 上下左右 这道题出来的时候真的是一点思路都没有,一直以为是什么编码来着,看了大佬们的 wp 原来是画图 拿大佬的脚本: from PIL import Image im = ...

  8. MISC-极客大挑战-pen_and_apple.rar

    额   一道MISC的题目 关键词:NTFS数据流隐藏 链接:http://pan.baidu.com/s/1c14PM3A 密码:d7hn 拿到的是一个rar压缩文件,解压得到一个无节操的最近很流行 ...

  9. C++ REST SDK的基本用法

    微软开发了一个开源跨平台的http库--C++ REST SDK(http://casablanca.codeplex.com/),又名卡萨布兰卡Casablanca,有个电影也叫这个名字,也许这个库 ...

随机推荐

  1. LCD实验学习笔记(一):Makefile

    主Makefile总领全局的就这句—— lcd.bin: $(objs) 要生成lcd.bin,依赖于objs列举的一堆文件:head.o init.o nand.o interrupt.o seri ...

  2. JS作计算器

    JavaScript制作计算器 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  3. 【 总结 】linux中test命令详解

    test命令在bash shell脚本中经常以中括号([])的形式出现,而且在脚本中使用字母来表示比符号表示更专业,出错率更低. 测试标志 代表意义 文件名.文件类型 -e 该文件名是否存在 -f 该 ...

  4. docker run 的背后的故事(zz)

    当利用docker run来创建并启动容器的时候,docker后台标准的操作包括: 1.检查本地是否存在指定的镜像,不存在就从公有仓库下载. 当我依瓢画葫芦的运行: sudo docker run - ...

  5. Hive知识

    HIVEQL CREATE DATABASE financials(创建数据库) SHOW DATABASES(显示数据库) SHOW TABLES IN 数据库(列出数据库的所有表) SHOW DA ...

  6. python3爬虫爬取猫眼电影TOP100(含详细爬取思路)

    待爬取的网页地址为https://maoyan.com/board/4,本次以requests.BeautifulSoup css selector为路线进行爬取,最终目的是把影片排名.图片.名称.演 ...

  7. 训练指南 UVA - 11090(最短路BellmanFord+ 二分判负环)

    layout: post title: 训练指南 UVA - 11090(最短路BellmanFord+ 二分判负环) author: "luowentaoaa" catalog: ...

  8. LCA【SP913】Qtree - Query on a tree II

    Description 给定一棵n个点的树,边具有边权.要求作以下操作: DIST a b 询问点a至点b路径上的边权之和 KTH a b k 询问点a至点b有向路径上的第k个点的编号 有多组测试数据 ...

  9. 洛谷——P2421 A-B数对(增强版)

    题目背景 woshiren在洛谷刷题,感觉第一题:求两数的和(A+B Problem)太无聊了,于是增加了一题:A-B Problem,难倒了一群小朋友,哈哈. 题目描述 给出N 个从小到大排好序的整 ...

  10. ( 转 ) 优秀REST风格 API的设计原则

    设计优秀的REST风格API非常困难!API是服务提供方和使用方之间的契约,打破该契约将会给服务端开发人员招来非常大的麻烦,这些麻烦来自于使用API的开发人员,因为对API的改动会导致他们的移动app ...