Страница 1 из 2

fetch

Добавлено: 11 апр 2018, 18:47
KARaS'b
Глядя на то, какие штуки некоторые вытворяют с микротом при помощи "fetch", стало интересно, а возможно ли со страницы некоего ресурса дергать нужную инфу?
Наглядно и почему задумался:
Бесплатный впн у которого есть определенные ограничения, среди оных периодическая смена пароля, не очень часто, скорее даже редко, но это заставляет лезть на сайт, брать новый пароль, запихивать его в микротик и уже только потом вновь радоваться. При это пароль публикуется в открытом виде прямо на сайте и выглядит это примерно вот так.

Код: Выделить всё

<strong>Password: p9v9sja</strong>
Возможно ли средствами fetch искать данную строчку и выдергивать из нее пароль?

Re: fetch

Добавлено: 27 июл 2018, 14:51
tripleNAT
Утилитой fetch можно забрать заранее полученный пароль по ftp или http. Если есть сервер на linux, несложно организовать парсинг пароля.

Сервис который вы упомянули более не выкладывает пароли в текстовом виде, но в виде картинки. Текстовый пароль вытаскивался так:

Код: Выделить всё

destdir=/xxxxx
content=$(wget http://vpnbook.com/freevpn -q -O -)
echo "$content" | sed -rn 's/.*<li>Password:\s{1}<strong>([A-Za-z0-9]{4,8}*)<\/strong><\/li>/\1/p' | head -1 | perl -pe 's/\r\n//g' > "$destdir"
Вытащить пароль с картинки можно используя утилиту распознавания текста gocr:

Код: Выделить всё

destdir=/xxxxx
picurl=`curl -sL http://vpnbook.com/freevpn | grep -Eo "Password: <img src.*+" | grep -oP '"\K[^"\047]+(?=["\047])' | head -1 | tr -s ' ' '%'`
freepass=`curl -sL http://vpnbook.com/$picurl | pngtopnm | gocr -`
echo "$freepass"
echo -n "$freepass" > "$destdir"
По материалам https://habr.com/post/158435/comments/#comment_5425821

Re: fetch

Добавлено: 06 фев 2019, 11:39
Sertik
А можно ли тот же пароль в виде картинки вытащить "самим" Микротиком ? Давно бьюсь - не могу это сделать нормально через бесплатные OCR API сервисы. Проблема в том, что существующие online OCR API работают, как правило, в два этапа:

1. Им нужно сначала "подсунуть" картинку" - а тот же fetch этого сам не может вообще т.к. у него выгрузка только по ftp работает нормально (об этом специально спрашивал официалов - ответили что так и есть не реализовано пока через url). Но ! есть некоторые online OCR ресурсы, которые могут сами загрузить картинку по переданной им ссылке - вот это то что надо. Тогда той же командой fetch можно эту ссылку передать OCR-сервису. При этом OCR-сервис возвращает некий идентификационный номер Вашей картинки.
2. Вторым этапом нужно дать команду OCR-сервису - "распознать картинку" и по полученному идентификатору ее забрать - это fetch как раз может т.к. "загружать" по url он может без проблем.

Проблема в том, что эти сервисы работают со сложными "многостраничными" post-запросами, а fetch похоже далеко не всё поддерживает - он у Микротика не полноценный. За "ненадобностью" или умышленно - это вопрос риторический. Но реализовать мне это удалось, только когда один мой знакомый специально написал html-страничку, которая нормально обращается к OCR-ресурсу, получает результат от него, а Микротик уже у нее забирает этот результат.

Утилита, предложенная Вами, как я понял, может из командной строки это делать, а Микротик забрать уже с компа так ?

P/S один модератор форума меня тут предупреждал, что обсуждать эти вопросы они не разрешают (я так и не понял правда по каким точно соображениям, если инструкции подобные лежат в Интернет в свободном доступе) ...

Re: fetch

Добавлено: 08 фев 2019, 06:22
vqd
KARaS'b писал(а): 11 апр 2018, 18:47 При это пароль публикуется в открытом виде прямо на сайте и выглядит это примерно вот так.
Возможно ли средствами fetch искать данную строчку и выдергивать из нее пароль?
Ну а чего нет то, если он прямо вот так вот лежит. На самой страничке найти не получится, придется ее всю загрузить и потом обработать. Правда есть одно но... Страничка должна весить не более 4к

Re: fetch

Добавлено: 08 фев 2019, 13:15
Sertik
Глубокоуважаемый, vqd ! Со странички пароль выдернуть не проблема - проблема пароль выдернуть из картинки. То есть см. выше ...
Уже несколько раз проблема описывалась на форуме, Вам, как модератору, не сложно найти эти посты при желании. Но, лично Вы отказались, например, в рамках так называемой "Новогодней акции" её решить, так как сочли TЗ "не интересным" помните ? Ну и последующие события (по отношению к ...)

Re: fetch

Добавлено: 08 фев 2019, 18:05
vqd
Я понимаю что вы внимательно читать и думать не можете, но все же рекомендую почитать первый пост...

Re: fetch

Добавлено: 09 фев 2019, 15:50
podarok66
Ладно, давайте считать эту тему из разряда "а что будет, если..." У самого возник вопрос, как на Debian 9 правильно прописать саму операцию вывода пароля со страницы сайта. Пока на сайте https://freevpn.se ( там пароль в текстовом виде) получается только приблизительно так:
Для pptp

Код: Выделить всё

passpptp=`curl -s https://freevpn.se/accounts/ | awk '/Password:<\/b>/ {print substr($33,1,12) }'`
Для ovpn

Код: Выделить всё

passovpn=`curl -s https://freevpn.se/accounts/ | awk '/Password:<\/strong>/ {print substr($31,1,12) }'`
Только вот не нравится мне сия конструкция почему-то (при изменении домена верхнего уровня на другой из доступных не работает). Кто из местных знает, как правильно вывести 12 символов после найденного?

Re: fetch

Добавлено: 09 фев 2019, 17:58
Vlad-2
podarok66 писал(а): 09 фев 2019, 15:50 Только вот не нравится мне сия конструкция почему-то (при изменении домена верхнего уровня на другой из доступных не работает). Кто из местных знает, как правильно вывести 12 символов после найденного?
Пишу по памяти, но вроде была команда cut в линуксе....позволяет задавать сколько чего в строке взять (вроде).

Re: fetch

Добавлено: 09 фев 2019, 19:46
podarok66
Да я в курсе, что есть такая утилитка, но никак не могу прикрутить. Там огромная строка на странице в которой есть

Код: Выделить всё

................<b>Password:</b> Nu7J4EN9FuL8<span class="cmamad cmamad-floatright">................................................
..................<strong>Password:</strong> Nu7J4EN9FuL8</li><li><b>TCP</b>...........................
И с моими знаниями регулярок мне никак не написать команду которая бы находила Password:< , потом ещё произвольное количество символов, заканчивающихся на пробел и уж потом выдёргивала 12 нужных символов. Пока вот суббота, поломаю голову ещё, потом надо к спецам обращаться.

Re: fetch

Добавлено: 10 фев 2019, 23:29
Sertik
для vqd.

Простите, но вместо того, чтобы кого-то оскорблять невниманием, прочитайте Вы внимательно второй пост . Вам там человек ясно написал, что большинство VPN-серверов теперь не хранят пароли в виде текста, а пароль у них на сайтах лежит в виде картинки. Вот и покажите своё мастерство, раз Вы гуру считаетесь, если сможете ...