NTFS数据流和web安全
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安全的更多相关文章
- 实验吧-杂项-你知道他是谁吗?(转盘密码、NTFS数据流检测及导出)
刚看到的时候听懵,没注意到重点,其实很多时候题目中的细节就是给我们线索的,所以审题和思考是很重要的. 在没做到点上的是,也做了一点努力,没有效果,科普一下这个人((*^▽^*))图片上是托马斯.杰斐逊 ...
- UNCTF杂项题Hidden secret 之NTFS交换数据流隐写
---恢复内容开始--- 做这道题目的经历比较坎坷,题目中用于隐藏flag的jpg文件出了问题,导致不能被交换数据流隐写所以出题人换了一次题目,最后做法也换了,不过出题人一开始的考察点还是基于NTFS ...
- 2018湖湘杯web、misc记录
1.题目名 Code Check 打开题目,右键发现有id参数的url,简单base64解码以后发现不是明文,说明利用了其他的加密方式,那么应该会有具体的加密方式给我们,于是试试常见的文件泄露,可以发 ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- 数据库技术丛书:SQL Server 2016 从入门到实战(视频教学版) PDF
1:书籍下载方式: SQL Server2016从入门到实战 PDF 下载 链接:https://pan.baidu.com/s/1sWZjdud4RosPyg8sUBaqsQ 密码:8z7w 学习 ...
- Powershell 渗透测试工具-Nishang
Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...
- 2019"深思杯"山东省大学生网络安全技能大赛部分wp
签到 载入OD查看字符串 上下左右 这道题出来的时候真的是一点思路都没有,一直以为是什么编码来着,看了大佬们的 wp 原来是画图 拿大佬的脚本: from PIL import Image im = ...
- MISC-极客大挑战-pen_and_apple.rar
额 一道MISC的题目 关键词:NTFS数据流隐藏 链接:http://pan.baidu.com/s/1c14PM3A 密码:d7hn 拿到的是一个rar压缩文件,解压得到一个无节操的最近很流行 ...
- C++ REST SDK的基本用法
微软开发了一个开源跨平台的http库--C++ REST SDK(http://casablanca.codeplex.com/),又名卡萨布兰卡Casablanca,有个电影也叫这个名字,也许这个库 ...
随机推荐
- mysql 等 null 空值排序
[sqlserver]: sqlserver 认为 null 最小. 升序排列:null 值默认排在最前. 要想排后面,则:order by case when col is null then 1 ...
- python3 基础概念
一.3.x新特性 1.print (),打印,3.x必须加括号 2.raw_input,3.x改为input 二.简介 Python是著名的“龟叔”Guido van Rossum在1989年 ...
- unicode字符串解码显示
# encoding: utf-8 ''' unicode字符串解码显示 ''' import sys reload(sys) sys.setdefaultencoding('utf-8') a = ...
- linux平台从源码安装git【转】
转自:http://blog.csdn.net/lianshaohua/article/details/50571560 版权声明:本文为博主原创文章,未经博主允许不得转载. 如果是ubuntu等能自 ...
- jquery 的combobox 处理级联
随笔---jquery 的combobox 处理级联 ------------------------html------------- <select id="groupId&quo ...
- 【SQL】视图
一.虚拟视图 由create table定义的表:以物理形式存在,实际存储在数据库中 视图:虚拟的,并不是一个真正存在的表 1.视图定义 CREATE VIEW <视图名> AS < ...
- 使用MybatisGenerator自动生成Model,Mapping和Mapper文件
Mybatis和Hibernate都是持久层框架,MyBatis出现的比Hibernate晚,这两种框架我都用过,对于二者的优势我的感触不深,个人感觉MyBatis自动生成model,Mapping, ...
- wxBot微信机器人框架(转)
原文:http://blog.csdn.net/tobacco5648/article/details/50722321 wxBot 是Python包装Web微信实现的微信机器人框架.可以很容易地实现 ...
- centos6 部署strongloop
1.安装node 1)下载官方二进制包 cd /opt wget https://nodejs.org/dist/latest-v7.x/node-v7.10.0-linux-x64.tar.gz 2 ...
- 最小生成树的Prim算法
构造最小生成树的Prim算法 假设G=(V,E)为一连通网,其中V为网中所有顶点的集合,E为网中所有带权边的集合.设置两个新的集合U和T,其中集合U用于存放G的最小生成树的顶点,集合T用于 ...