Просмотр полной версии : url элемента
user6334
27.10.2015, 12:28
Помогите! Как узнать url всплывающего окна? Просматриваю код элемента (кнопки, которая его открывает), но там только такое:
Войти
Можно каким нибудь http снифером глянуть (plug. HttpFox for FF).
-=lebed=-
27.10.2015, 13:11
↑ (https://antichat.live/posts/3907423/)
Помогите! Как узнать url всплывающего окна? Просматриваю код элемента (кнопки, которая его открывает), но там только такое:
Войти
Поставь в ФФ плагин Firebug http://getfirebug.com/
user6334
27.10.2015, 15:38
Нифига, и снифером смотрел, пришел к выводу, что страницу в браузере формирует js, который в нем же выполняется. Но как найти этот js? Через браузер я могу спокойно просмотреть код всплывающего элемента и увидеть, что мне нужно, но как открыть его в URL?
↑ (https://antichat.live/posts/3907499/)
Нифига, и снифером смотрел, пришел к выводу, что страницу в браузере формирует js, который в нем же выполняется. Но как найти этот js? Через браузер я могу спокойно просмотреть код всплывающего элемента и увидеть, что мне нужно, но как открыть его в URL?
не пойму для чего вам это надо? Чтоб заполнить форму во всплывающем окне и отправить её? Или для чего?
user6334
27.10.2015, 16:00
↑ (https://antichat.live/posts/3907511/)
не пойму для чего вам это надо? Чтоб заполнить форму во всплывающем окне и отправить её? Или для чего?
поясню, мне надо спарсить CSRF-токен
↑ (https://antichat.live/posts/3907499/)
Нифига, и снифером смотрел, пришел к выводу, что страницу в браузере формирует js, который в нем же выполняется. Но как найти этот js? Через браузер я могу спокойно просмотреть код всплывающего элемента и увидеть, что мне нужно, но как открыть его в URL?
Был у меня похожий вопрос, может, что-то типа Acunetix+deep crawling?
user6334
28.10.2015, 10:44
спарсил я токен, но появилась проблема:
-boundary
указываетчся как параметр в заголовке content type
как он формируется?
выглядит так: ---------------------------4962140363242
↑ (https://antichat.live/posts/3907512/)
поясню, мне надо спарсить CSRF-токен
Возникла такая же проблема. Можете рассказать, как вы её рышили? Можно ли как-то получить страницу, на которой уже выполнились все яваскрипты?
↑ (https://antichat.live/posts/3907786/)
спарсил я токен, но появилась проблема:
-boundary
указываетчся как параметр в заголовке content type
как он формируется?
выглядит так: ---------------------------4962140363242
браузером рандомно
нужен для того, чтобы разграничить разные части mutipart-запроса, например, два разных файла
если ты пишешь какой-то парсер, то можешь просто захардкодить достаточно длинную уникальную строку
чуть-чуть информации можешь найти в вики в примере и пару строк под примером
https://ru.wikipedia.org/wiki/Multipart/form-data
M_script
06.11.2015, 14:56
Нужно смотреть не исходный код, а DOM-модель страницы. В разных браузерах инструменты для разработчика называются по-разному, но хоткеи обычно совпадают - Ctrl+Shift+I
↑ (https://antichat.live/posts/3911939/)
Нужно смотреть не исходный код, а DOM-модель страницы. В разных браузерах инструменты для разработчика называются по-разному, но хоткеи обычно совпадают - Ctrl+Shift+I
если это мне, то я знаю как в ручную это сделать, а как это сделать во время парсинга програмно - не понятно
M_script
06.11.2015, 15:05
altai, это было всем.
Программно можно выполнить JS интерпретатором или переписать код JS на нужный ЯП. Если интересует только AJAX, он перехватывается так же, как все остальные HTTP-запросы.
user6334
07.11.2015, 01:18
Есть такая фигня, открываешь сайт, печатать её в адресной строке после javascript:, и она пишет тебе все урлы js на сайте, которые ты видишь в алерте
user6334
07.11.2015, 01:29
↑ (https://antichat.live/posts/3911888/)
браузером рандомно
нужен для того, чтобы разграничить разные части mutipart-запроса, например, два разных файла
если ты пишешь какой-то парсер, то можешь просто захардкодить достаточно длинную уникальную строку
чуть-чуть информации можешь найти в вики в примере и пару строк под примером
https://ru.wikipedia.org/wiki/Multipart/form-data
А вот и рандомно, да не всегда. Написано же, по спец. Алгоритму. Как узнать алгоритм? Я подставил другие значения и запрос не проходит. Вообще зачем генерировать что-то? Как проверяется потом валидность сгенерированного значения?
M_script
07.11.2015, 06:41
↑ (https://antichat.live/posts/3912175/)
Написано же, по спец. Алгоритму.
Это вырвано из контекста, там другое написано.
"boundary (граница) — это последовательность байтов, которая не должна встречаться внутри закодированного представления данных части." Все просто и понятно, никаких дополнительных условий нет.
"Обычно клиент (браузер) генерирует эту последовательность случайно или по специальному алгоритму." В данном случае клиент - это твой софт. Как ты напишешь алгоритм, такой он и будет.
↑ (https://antichat.live/posts/3912175/)
А вот и рандомно, да не всегда. Написано же, по спец. Алгоритму. Как узнать алгоритм? Я подставил другие значения и запрос не проходит. Вообще зачем генерировать что-то? Как проверяется потом валидность сгенерированного значения?
Алгоритм, как написали выше выбираешь ты сам
Смотри
В том случае, когда ты используешь application/x-www-form-urlencoded ты посылаешь несколько параметров разделенных амперсандом
param1=qwerty¶m2=123
Сервер получая такой запрос, знает, что между & и = находится название параметра, между = и & - значение и он может распарсить их
Multipart/form-data часто используется для передачи файлов и никто не может гарантировать, что в бинарном формате твоего файла не встретится что-то вроде & или =
Поэтому ты говоришь: сервер, смотри, я использую Asrf456BGe4h для разделения разных частей запроса
Content-Type: multipart/form-data; boundary=Asrf456BGe4h
и дальше формируешь запрос
--Asrf456BGe4h
Content-Disposition: form-data; name="DestAddress"
(пустая строка)
brutal-vasya@example.com
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageTitle"
(пустая строка)
--Asrf456BGe4h
Content-Disposition: form-data; name="MessageText"
(пустая строка)
Привет, Василий! Твой ручной лев, которого ты оставил
у меня на прошлой неделе, разодрал весь мой диван.
Пожалуйста забери его скорее!
Во вложении две фотки с последствиями.
--Asrf456BGe4h
Content-Disposition: form-data; name="AttachedFile1"; filename="horror-photo-1.jpg"
Content-Type: image/jpeg
(пустая строка)
(двоичное содержимое первой фотографии)
--Asrf456BGe4h
Content-Disposition: form-data; name="AttachedFile2"; filename="horror-photo-2.jpg"
Content-Type: image/jpeg
(пустая строка)
(двоичное содержимое второй фотографии)
--Asrf456BGe4h--
(отсутствующий эпилог - пустая строка)
и сервер прочитав хедер content-type может распарсить этот запрос и при генерации boundary рандомно и достаточно большой длины с высокой долей вероятности не возникнет проблем с тем, что внутри приаттаченного файла есть данные, которые сломают серверу парсинг
user6334
07.11.2015, 17:47
Спасибо за подробное объяснение, я с этим уже и так разобрался, но. Отправляю, запрос с сайта, он проходит, нажимаю в просмотре заголовков реплей, меняю значение
boundary в заголовке и в пост-запросе - вываливается ошибка, что вроде как неверный csrf токен, если значение boundary я не меняю, реплей проходит нормально
M_script
07.11.2015, 19:03
↑ (https://antichat.live/posts/3912405/)
нажимаю в просмотре заголовков реплей
В какой программе?
user6334
07.11.2015, 19:32
↑ (https://antichat.live/posts/3912421/)
В какой программе?
Плагин для мадзиллы
M_script
07.11.2015, 20:43
Попробуй charles.
user6334
08.11.2015, 09:47
↑ (https://antichat.live/posts/3912460/)
Попробуй charles.
А что, смена программы разве выход? Ошибку выдает не программа, а сайт! Реплей с другими изменениями параметрами обрабатывает корректно
M_script
08.11.2015, 11:12
↑ (https://antichat.live/posts/3912681/)
А что, смена программы разве выход? Ошибку выдает не программа, а сайт!
В данном случае ошибка не в сайте, а в программе или человеке. Смена программы поможет это выяснить.
Если через charles не будет работать, тогда по его скринам в этой теме можно будет найти ошибку.
user6334
08.11.2015, 22:04
↑ (https://antichat.live/posts/3912701/)
В данном случае ошибка не в сайте, а в программе или человеке. Смена программы поможет это выяснить.
Если через charles не будет работать, тогда по его скринам в этой теме можно будет найти ошибку.
Не, ну я конечно попробую, однако сомневаюсь. Вот с чем это связано. Не понятно, почему браузера генерит число при каждом запросе. Это первое. Второе, сам токен в форме не меняется, и связан с сессий. Третье я уже сказал, при смене числа разделителя вылезает ошибка с токеном. Вообщем предположение следующее
user6334
08.11.2015, 22:08
В странице кроме токена в скрытом поле, еще и передаётся некий рандомно код вроде соли для токена, сама соль и является разделителем, либо она может передаваться в заголовке
M_script
09.11.2015, 07:34
↑ (https://antichat.live/posts/3912946/)
сама соль и является разделителем, либо она может передаваться в заголовке
Обычно сам токен передается в заголовке.
user6334
09.11.2015, 09:22
↑ (https://antichat.live/posts/3913049/)
Обычно сам токен передается в заголовке.
в смысле я передаю, или сервер мне передает?
M_script
09.11.2015, 10:27
Клиент передает один токен в теле запроса и второй такой же в заголовке (в куках или отдельным заголовком). Это нужно для защиты от CSRF и XSS.
user6334
09.11.2015, 13:18
↑ (https://antichat.live/posts/3913078/)
Клиент передает один токен в теле запроса и второй такой же в заголовке (в куках или отдельным заголовком). Это нужно для защиты от CSRF и XSS.
нет, у меня только в теле. С boundary я разобрался, говорю вам спасибо
uniplace
11.11.2015, 14:18
↑ (https://antichat.live/posts/3907423/)
Помогите! Как узнать url всплывающего окна? Просматриваю код элемента (кнопки, которая его открывает), но там только такое:
Войти
Включаешь режим отладки в гугл хроме (F12) и смотришь в окошке Network откуда растут ноги у загружаемого окна.
Но, конкретно у тебя окно не загружается. Оно прописано в коде - ищи что-то типа div id="auth" - этот див вызывается через data-target атрибут модальным плагином
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot