Здравейте пичове,
Виждам, че поддържате огъня в темата
! Така е! Някой редове код са си чист огън
!
Древен закача една много тънка тема, която аз също бях намекнал по-горе. Не знам дали някой обърна внимание за коментара ми, дали подобен код може да се напише за влизане в поща на abv.bg, mail.bg, facebook и къде ли още не.
Това за изтеглянето на инфото на всяка програма е... как да кажа... доста лесна задачка. По-интересно би било да се влезе в SSL (Secure Sockets Layer) - защитен адрес или т.нар. https. Например abv.bg ползва подобен сървар за да удостовери потребителското ви име и парола. ОБАЧЕ това е само за криптиране на самата комуникация, а не и на данните. Което пък означава, че не ни трябват сертификатни ключове, като pem например.
До тука казах много сериозни неща. Искрено се надявам кодовете да не се използват за лоши цели.
И така, да видим как можем да се идентифицираме и да "заобиколим" искането за сертификат от страна на сървара с паролите. Отново ще използвам linux/unix инструмент и пак под Window$, обаче този път нашия инструмент трябва да поддържа SSL и това е
Wget win32 binary with OpenSSL support. Има много начини за удостоверяването, като например можем да използваме сертификата на Mozilla-та, като само трябва да го конвертираме до pem. А защо не и да го свалим директно от
тук. Идеята е перфектна!
Много добре, обаче дали пък не можем да минем и без този pem, mem и дрън-дрън! Е как да не можем бе, нали сме много печени и още толкова мързеливи
. След като сме си свали wget с поддръжка на SSL, да видим какви опции има това чудо. Видяхме, и ни грабнаха око тези две сърнета, скрити във гората
:
--auth-no-challenge -
Send Basic HTTP authentication information without first waiting for the server's challenge.--no-check-certificate -
don't validate the server's certificate.А стига бе, а това дали ще работи с https? Ми трябва само да проверим:
wget -O - --save-cookies=cookies.txt --keep-session-cookies --auth-no-challenge --no-check-certificate --post-data "host=mail01.abv.bg&service=mail&username=ПОТРЕБИТЕЛСКОТО_ИМЕ&hostname=&password=ПАРОЛАТА&x=52&y=17" "https://passport.abv.bg/acct/passport/login" > abv-login.html |
Е сега ако накликате abv-login.html би трябвало да си попаднете директно в пощата, което означава, че сме се удостоверили пред всички "КПП"-та.
Нататък е много лесно да се напише проста програмка, която да представлява майл-клиент за abv.bg, като няма да се налага да се отваря браузера или пък да се конфигурира клиент и т.н. Подобна услуга се предлага от abv.bg, но е платена. Но хората, които обичат програмирането, обикновено искат да имат алтернативи.
Бат ви stoqncho питаше в една друга тема как може да се компрометира лесно едно онлайн гласуване. Ами може и всъщност е фасулска работа, в случаите, че сървара не иска да сме логнати преди да гласуваме. Става точно по същия начин. С curl или wget.