HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.12.2017, 17:35
crlf
Постоянный
Регистрация: 18.03.2016
Сообщений: 663
С нами: 5344886

Репутация: 441


По умолчанию

В процессе поиска на bugs.php.net краша под свой случай, накопилось много различных реализаций. К сожаленю, я всё ещё в поисках, поэтому предлагаю постить здесь различные примеры и, по возможности, обсуждать их.

Различные кейсы могут быть полезны для возможности оставления временных файлов, развития дальнейшей атаки на интерпретатор и других хитрых штук

Потестить на различных версиях пыха можно здесь.

Следующие примеры тестились на LinuxсPHP 5.6.32.

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]f[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$foo[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$d[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]bad[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$foo[/COLOR][COLOR="#007700"]));[/COLOR][COLOR="#0000BB"]gc_collect_cycles[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]ob0ect[/COLOR][COLOR="#007700"]=new\[/COLOR][COLOR="#0000BB"]stdClass[/COLOR][COLOR="#007700"];}public function[/COLOR][COLOR="#0000BB"]__destruct[/COLOR][COLOR="#007700"](){[/COLOR][COLOR="#FF8000"]//
[/COLOR][COLOR="#007700"]if(![/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]ob0ect[/COLOR][COLOR="#007700"])([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]);}}class[/COLOR][COLOR="#0000BB"]SomeContainer[/COLOR][COLOR="#007700"]{public function[/COLOR][COLOR="#0000BB"]run[/COLOR][COLOR="#007700"](){new[/COLOR][COLOR="#0000BB"]SegfaultScenario[/COLOR][COLOR="#007700"];}}[/COLOR][COLOR="#0000BB"]$container[/COLOR][COLOR="#007700"]=new[/COLOR][COLOR="#0000BB"]SomeContainer[/COLOR][COLOR="#007700"]();[/COLOR][COLOR="#0000BB"]$container[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]run[/COLOR][COLOR="#007700"]();[/COLOR][COLOR="#0000BB"]gc_collect_cycles[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]newImage[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'black'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]// This works fine
[/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$it[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#FF8000"]// This crashes with SIGABRT
[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$im[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]getPixelIterator[/COLOR][COLOR="#007700"]()->[/COLOR][COLOR="#0000BB"]getCurrentIteratorRow[/COLOR][COLOR="#007700"]();
[/
COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$row[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]->[/COLOR][COLOR="#0000BB"]getColor[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]var_dump[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$rgb[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
[PHP]
0; --$len) {
$className.=$symbols[rand(0,count($symbols) -1)];
}
} while (
class_exists($className,false));
$className=trim($className,'_ ');
$code='
PHP код:
 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"];
}

public function[/COLOR][COLOR="#0000BB"]__toString[/COLOR][COLOR="#007700"]() {
[/
COLOR][COLOR="#0000BB"]openssl_pkey_export[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$this[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"];
}

}

[/
COLOR][COLOR="#0000BB"]$csr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]openssl_csr_new[/COLOR][COLOR="#007700"]([],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$certificate[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]openssl_csr_sign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$csr[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]NULL[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]PrivateKey[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]openssl_pkcs12_export_to_file[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$certificate[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'/tmp/test.p12'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$privateKey[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'el_a'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$doc1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]append[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$x[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]stream[/COLOR][COLOR="#007700"]);
}
}
[/
COLOR][COLOR="#0000BB"]stream_filter_register[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'php://memory'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'w'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]$filter[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]stream_filter_append[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'user_filter'[/COLOR][COLOR="#007700"]);
[/
COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$fd[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"foo"[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.