{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Можно ли открыть дверь в спецпроекте от Skoltech?

Очень любопытство замучило, что решил зарегаться ради этого. Увидел на vc баннер с текстом что-то вроде "докажи, что ты робот". Ведет сюда

надо ввести код из 3 цифр. Потерев стену, или заглянув в отладчик, получаешь задачу

Герой очень обрадовался победе своего соотечественника на «Оскаре-2018», начавшего речь словами: «Я — иммигрант». В честь этого на следующий же день он решил приготовить национальную закуску. Герой поехал в соседний город, который называли «городом моторов». Там продавали главный ингредиент нужного качества — с идентификационным номером 4046. Он скупил 0,73% от всего, что было продано на той неделе. Сколько он потратил?

Как-то решать это все желания нет. Полезем в хедеры. Там есть фраза x-this-is-csrf: THIS IS SPARTA! Пробуем 300. Мимо. 000 тоже не подходит. Жму "сдаюсь", - получаю текстбокс со скучной рекламной водой. Обидно, надежда, что раскроют суть, разбилась.

Ок, пытаемся решить. Факты, что национальность - мексиканец, город моторов - Детройт, главный ингридиент - авокадо, Оскар был вручен 5-го марта 2018, найти легко. Что с этим делать? Гуглеж приводит на неправильный путь к игре Detroit: Become Human. Ее продажи ненагугляемы.

Дальнейший гуглеж приводит к этому юпитер ноутбуку

А гуглеж avokado.xslx и к исходнику

Но вот тут подстава:

Понятно, что речь идет о plu4046, дате (неделе) 2018-03-04. Но как не крути в различных комбинациях объемы с умножением на цену и без, только 4046 и все, ничего не выходит. Удается подобрать до 10 трехциферных комбинаций, и ни одна не подходит.

Ладно, уже потеряно много времени. Жалко терять его дальше. Поэтому расчехляю PyCharm, и после ряда итераций пишу

import requests i = 1000 while 1: url = 'https://vc.ru/special/robot/open' myobj = '''------WebKitFormBoundaryeAULZCD9NSdYXgCv Content-Disposition: form-data; name="code" 300 ------WebKitFormBoundaryeAULZCD9NSdYXgCv--''' ii = ('0000'+str(i))[-3:] d = myobj.replace('300', ii) x = requests.post(url, data=d, headers={ 'x-this-is-csrf': 'THIS IS SPARTA!' }) print(ii) print(x.text) if "403" in x.text: i = i - 1

Итерированием с 999 до 0 пытался избежать ответа, который иногда появлялся на время (не помогло).

{"rc":418,"rm":"Попробуйте решить задачи","data":[]}

А использованием

headers={'x-this-is-csrf': 'THIS IS SPARTA!'})

добился хоть какого-то ответа.

Невзирая на то, что иногда еще вылезало

<html> <head><title>429 Too Many Requests</title></head> <body> <center><h1>429 Too Many Requests</h1></center> <hr><center>openresty</center> </body> </html>

скрипт таки прощупал весь диапазон с 0 до 999, пережидая 429 и 418 коды. И, увы, ничего.
Конечно, можно, предположить, что робот не ограничен 3 цифрами, и поэтому надо было итерировать хотябы до 99999999. Или, что робот не ограничен точностью, поэтому надо было итерировать с шагом в 0.0000001, и отправлять с разделителем. Или, что надо как-то обыгрывать число 17 на двери, или вообще отправлять не цифры (поле ввода поддерживает ввод не цифр). Или что надо искать подсказки в ссылке How-many-streets-of-Veldhoven-consumed-more-than-6280-kWh-in-2013. Но, как-то не верится, что авторы спецпроекта совсем уж повели себя, как Жорик.

Так что, прошу помочь. Уж очень любопытство достало.

0
81 комментарий
Написать комментарий...
Николай Щербак

У меня вышло:
1. Задача с авокадо: $13.9
2. Задача с потреблением электроэнергии в Велдховене: 6 улиц
3. Задача с теннисисткой: 9.8 градусов

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

Ответить
Развернуть ветку
Никита Якимов

Ты близок)
На одну из задач ответ неверный.
А дальше — смотри не на 17, а на другие подсказки.

Ответить
Развернуть ветку
Николай Щербак

Спасибо! Видимо теннисистка не та. А 17 просто так дали или имеет значение? Задача на цифры, а это единственная видимая цифра.

Ответить
Развернуть ветку
Никита Якимов

Боюсь, подсказать дальше не могу) В предыдущей подсказке всё есть.

Ответить
Развернуть ветку
Andrey Vladimirsky
Автор

Много хоть уже открытий зафиксировано?

Ответить
Развернуть ветку
Никита Якимов

Последнюю статистику не знаю. В понедельник было около 40-50.

Ответить
Развернуть ветку
Andrey Vladimirsky
Автор

Никита, сейчас уже, когда приём заявок закончен, сольете решение?)

Ответить
Развернуть ветку
Andryuschenko Anatoly

Может задача с Теннисисткой все таки не задача а ориентир? Тогда где третья задача? Еще есть 6 шагов, на полу которые идут вправо, может это тоже какой ориентир? Блин всю голову сломал

Ответить
Развернуть ветку
Никита Якимов

Или робот очень любит одну украинскую певицу)

Ответить
Развернуть ветку
Andrey Vladimirsky
Автор

Эх... только сел брут под 17-ричную систему допиливать

Ответить
Развернуть ветку
78 комментариев
Раскрывать всегда