Показать сообщение отдельно

  #10  
Старый 10.12.2009, 03:39
nightmare007
Новичок
Регистрация: 28.10.2006
Сообщений: 23
С нами: 10281445

Репутация: 1
По умолчанию

Здравствуйте.

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

Пройдя по ссылке:

Цитата:
_xттп://_host_/vote/voting.php
Вы попадаете на страничку голосования , нечего особого эта страничка не представляет, формочка куда надо вписать логин и пара кнопок.

Внутри этой странички встроен JScript:

PHP код:
...
<
script language="javascript" type="text/javascript">
function 
game(){
log=document.forms["form1"].login.value;

window.open('http://_host_/vote/game.php?login='+log);
window.open('http://сайт_сюда_перекидывает');
}
<
script>
...
<
form name="form1">
<
input type="text" name="login">
<
input type="hidden" id="vid" name="id">
...
<
input type="button" value="Проголосовать" onclick="game()">
... 
значит после того как вы вписываете логин и тискаете кнопку "проголосовать", у вас открывается две страницы, одна из которых (_хттп://_host_/vote/game.php?login=логин) содержит содержит сообщение о том, что вам была вставлена кука и проголосовать повторно вы не сможете в течении "X" времени.

Кука выглядит вот так:
PHP код:
vote gday10
vote gh
:00
vote gm
:55
vote gmount
12 
Если исправить значения куки, допустим значение "vote gday" изменить с "10" на "фывфы" или на " ' " и перегрузить (_хттп://_host_/vote/game.php?login=Логин)

то выдает страницу с следующим текстом:

Цитата:
Warning: mktime() expects parameter 5 to be long, string given in /var/www/_host_/vote/game.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 27

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 28

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 29

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 30
Логин , спасибо за ваш голос ...
Если же перегрузить страницу без указания конкретного значения Login (_хттп://_host_/vote/game.php?login= ), то выдает страницу с таким тестом:

Цитата:
Warning: mktime() expects parameter 5 to be long, string given in /var/www/_host_/vote/game.php on line 23

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 27


Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 28

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 29

Warning: Cannot modify header information - headers already sent by (output started at /var/www/_host_/vote/game.php:23) in /var/www/_host_/vote/game.php on line 30

, спасибо за ваш голос ...

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 2 in /var/www/_host_/vote/script.php on line 8
изменяя значения (gday,gh,gm,gmount):
PHP код:
vote gday10
vote gh
:00
vote gm
:55
vote gmount
12 
в результате страница ничем почти не изменяется, кроме первой записи:

Цитата:
Warning: mktime() expects parameter ->5 (1,2,3)<- to be long, string given in /var/www/_host_/vote/game.php on line 23
насколько я понимаю значения кук попадает в функцию mktime() в виде параметров, функция не может воспринять передаваемые параметры и выдает ошибку.

Терь вопрос является ли эта вся штука уязвимостью и как эту уязвимость можно использывать, имеетли место sql-inj и можно ли как нибудь достать расс рута mysql? Можно ли как нить залить шелл?
Пробовал через телнет конектится к серваку на 3306, оказалось что открыт удаленный доступ к MySQL.

Насколько мне известно на серваке (Unix,little-endian).
 
Ответить с цитированием