> I didn't take the time to figure out exactly what you are doing,

thanks george. sorry, my fault in not making it easy enough to follow.

the top directory for this is a "ramdisk". it is like a filesystem 
that resides only in memory (but it is not a true file system)
it has no presence on a harddisk unless it fills up, in which case 
things get moved from the ramdisk onto the hdd swap partition.
i could be wrong, but that is my understanding of it.  i create the
dirs and symlinks in a tmpfs to reduce hdd activity.

here is what it holds:

## ls -ld *
drwxr-xr-x  2 root root 780 2005-06-04 08:49 0/
drwxr-xr-x  2 root root 780 2005-06-04 08:49 1/
drwxr-xr-x  2 root root 780 2005-06-04 08:49 2/
.
.
-rw-r--r--  1 root root   0 2005-06-04 08:49 the.end
.
drwxr-xr-x  2 root root 780 2005-06-04 08:49 x
drwxr-xr-x  2 root root 780 2005-06-04 08:49 y
drwxr-xr-x  2 root root 780 2005-06-04 08:49 z




each of those 36 directories holds this:

## ls -l
total 4
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 0 -> /TFS/0
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 1 -> /TFS/1
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 2 -> /TFS/2
.
-rw-r--r--  1 root root 3 2005-06-04 08:49 the.end
.
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 x -> /TFS/x
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 y -> /TFS/y
lrwxrwxrwx  1 root root 6 2005-06-04 08:49 z -> /TFS/z

> 42 subdirectories just looks wrong -- whatever your problem is, there
> has got to be a simpler solution.  





in my posts, i have not yet described why i am doing this.
i will, but first i wanted to make sure that the symlinks were 
not causing havoc.





> /TMP/1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2

so with the symlink method, 36*36 things are created. that is alot of things,
but -e will return true for 36^42 paths to ... and if i had a 1/X of a penny
for each, i'd be rich, even if x="the gates fortune". lol. so the
symlink method
is extremely powerfull.  in particular, it can code commands like:

  gimp image.jpg

as

  fp= /TMP/g/i/m/p///i/m/a/g/e//0/j/p/g/the.end

and -e will test positive. 

using sed, it is trivial to decode it.  double slashes signify that the 
next character is "special".  /// is a space, and //0 is a period etc. 
nonspecial characters are [a-z0-9] 

big deal? i guess not so far. but bear with me. i'll either prove myself
a big laugh, or you'll find the ugliest hack that is probably worthless to
you, or something in between.

so then i can write a bash script called shell_game.sh that takes one
argument such.  shell_game decodes $fp back into the command 
line and -- if it matches a case -- it gets executed.

now, i  can set shell_game to be mozilla's helper application for 
files that end in dot-end (as in: the.end)

and then i can write scripts that write html pages with hrefs that will 
execute arbitrary commands in a shell.  

The following is important: without $fp testing true, mozilla will not 
pass it as and argument to the helper app.  mozilla modifies the path
somewhat.  for example /TMP/././a/b/c////z/the.end  gets passed as 
/TMP/a/b/c////z/the.end or something similar.

according to a google search, people want to write html that executes
arbitray commands, but there are no existing solutions.  well, at one 
point there was a way to do it, but it made the system vulnerable.

in actuality,  i do not use a files named "the.end" in /TMP.  instead 
i use xx.$kk, where 

   kk=49gw85h8gq3h954j6nd96j1fti9rj9cdhgsrwda1s5sgek 

or some such, and the mime type in mozilla is $kk.

as a bonus, $fp allows a number of arguments to be passed to the 
helper app (shell_game), instead of just a file name.

afaik, there is no security risk for this method, but don't take my word for it.


--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to