Chinaunix

标题: 怎样得到一个包含/的文件或目录名?(just for fun) [打印本页]

作者: r2007    时间: 2006-01-11 12:46
标题: 怎样得到一个包含/的文件或目录名?(just for fun)
RT
可以用任何方法!
作者: 大蚂蚁    时间: 2006-01-11 13:20
no way?
作者: r2007    时间: 2006-01-11 13:29
I got one, but one of its operation need bypass the file system call.
作者: 大蚂蚁    时间: 2006-01-11 13:37
原帖由 r2007 于 2006-1-11 13:29 发表
I got one, but one of its operation need bypass the file system call.

如果有这样的文件的话,那么差不多要系统紊乱了吧? 要是把目录分割符改成别的符号的话,也许可以做到。 如果真得到了,不晓得你的是什么办法?斑竹办法就是多,不过不知道会不会弄得系统崩溃?得到这样的文件操作它不去 bypass the file system call 还有点说不过去 ^_^  另外\键的定义好像也没有用
作者: waker    时间: 2006-01-11 13:54
来个臭的,linux下的

  1. dd if=/dev/zero of=myrd bs=64K count=1
  2. mkfs -F myrd
  3. mkdir m
  4. mount -o loop myrd m
  5. touch m/aaxxxxxxaa
  6. umount m
  7. sed -i 's:xxxxxx:/:' myrd
  8. mkdir m1
  9. mount -o loop myrd m1
  10. ls
复制代码

作者: 大蚂蚁    时间: 2006-01-11 13:57
太深奥了,一时不能完全吸收,好像都扯上OS方面的了,不过shell就是操作OS的
作者: r2007    时间: 2006-01-11 14:01
加问一句:
如果某一天,突然发现在你的home目录下有这样一个文件foo/bar,现在要删除它,如何处理,等等,出于好奇,你想在删除之前看一下它的内容,应该如何做呢?

BTW:以下代码借鉴google论坛中的一个例子,和瓦克尔的是一回事
$ dd if=/dev/zero bs=1M count=1 > a
$ mke2fs a
$ sudo mount -o loop $PWD/a /mnt
$ touch /mnt/foo-bar
$ sudo umount /mnt
$ sed 's:foo-bar:foo/bar:g' a >b
$ sudo mount -o loop $PWD/b /mnt
作者: waker    时间: 2006-01-11 14:05
俺之所以想到这个方法是因为没有功力去直接修改目录中的内容
没想到有人的水平和俺一样臭
作者: waker    时间: 2006-01-11 14:21
  1. ls -lai
  2. total 17
  3.      2 drwxr-xr-x  3 root  root   1024 Jan 11 14:05 .
  4. 341989 drwxrwxr-x  4 waker waker  4096 Jan 11 14:06 ..
  5.      ? ?---------  ? ?     ?         ?            ? a/b
  6.     11 drwx------  2 root  root  12288 Jan 11 14:03 lost+found
复制代码


西特啊,目录已经被破坏了
作者: 寂寞烈火    时间: 2006-01-11 14:36
太深,搞不懂 *_*
作者: woodie    时间: 2006-01-11 15:38
原帖由 waker 于 2006-1-11 14:21 发表
...
西特啊,目录已经被破坏了

目录结构并没破坏,只是文件名不合法吧?

作者: woodie    时间: 2006-01-11 15:43
原帖由 r2007 于 2006-1-11 14:01 发表
加问一句:
如果某一天,突然发现在你的home目录下有这样一个文件foo/bar,现在要删除它,如何处理,等等,出于好奇,你想在删除之前看一下它的内容,应该如何做呢?

BTW:以下代码借鉴google论坛中的一个例子 ...

这个问题就有实用意义了,假如某个黑客用这种方法在你机器上隐藏了什么文件......
寒!
要直接对裸设备进行操作吧?
作者: r2007    时间: 2006-01-12 13:14
google狂搜了一下,有这样的说法。
据说:启用NFS服务,然后利用Mac,可以生成类似 "2006/01/12" 这样的文件。
哪位有条件的帮忙验证一下^_^
作者: waker    时间: 2006-01-12 13:37
你还没把你的方法贡献出来,压箱底儿啊打算
作者: faintblue    时间: 2006-01-12 13:54
原帖由 r2007 于 2006-1-12 13:14 发表
google狂搜了一下,有这样的说法。
据说:启用NFS服务,然后利用Mac,可以生成类似 "2006/01/12" 这样的文件。
哪位有条件的帮忙验证一下^_^


In general,  non-Unix clients can make such a file in a Unix NFS server.
To remove the bad file, you have to ...


作者: r2007    时间: 2006-01-12 14:02
原帖由 waker 于 2006-1-12 13:37 发表
你还没把你的方法贡献出来,压箱底儿啊打算

我知道的方法就是那个臭的,我拿啥压箱底儿啊?
全都让老瓦掀了个底朝天,我的家底啊
作者: woodie    时间: 2006-01-12 16:19
原帖由 r2007 于 2006-1-12 13:14 发表
google狂搜了一下,有这样的说法。
据说:启用NFS服务,然后利用Mac,可以生成类似 "2006/01/12" 这样的文件。
哪位有条件的帮忙验证一下^_^

Mac指什么?Apple的OS?
作者: woodie    时间: 2006-01-12 16:31
那么darwin或是BSD可以吗?那位有条件试一下。
作者: r2007    时间: 2006-01-12 16:34
标题: 回复 17楼 woodie 的帖子
原文这么写的,具体不太清楚,不过肯定是apple的一个OS
作者: woodie    时间: 2006-01-12 16:35
我曾经在刻盘时由于文件名太长被截断,产生了一个带问号的文件名,结果在windows下无法打开,这是个意外。^_^
作者: woodie    时间: 2006-01-12 16:37
可惜dos/win也不支持文件名里有/字符,否则可以用samba+win来做。^_^
作者: 可可熊    时间: 2008-07-10 16:32
原帖由 waker 于 2006-1-11 13:54 发表
来个臭的,linux下的

dd if=/dev/zero of=myrd bs=64K count=1
mkfs -F myrd
mkdir m
mount -o loop myrd m
touch m/aaxxxxxxaa
umount m
sed -i 'sxxxxx:/:' myrd
mkdir m1
mount -o loop myrd m1 ...



直接操作文件系统。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2