konto usunięte

Temat: Zlecę doświadczonemu programiście...

Szukam programisty (PHP), który podejmie się napisania skryptu w z użyciem cURL (lub czegoś innego). Skrypt ma wykonać następujące zadanie:

- zalogowanie się do banku internetowego na podstawie jego URL'a i danych dostępowych (login, hasło);
- wczytanie historii transakcji (zwykle są to linki do funkcji w JavaScript);
- przekazanie wyniku do tablicy w PHP;Goldenline Sucks edytował(a) ten post dnia 09.01.11 o godzinie 15:45

konto usunięte

Temat: Zlecę doświadczonemu programiście...

To 8-10 linijek z cUrl plus kilka na takie rzeczy jak preg_match i już.

Mam rozumieć, że pijesz do tego -> http://www.goldenline.pl/forum/979888/implementacja-pl... ?

konto usunięte

Temat: Zlecę doświadczonemu programiście...

To banki mają tylko login i hasło w zabezpieczeniach? Nieźle...

On pije raczej do czegoś takiego:

- zalogowanie się do banku internetowego na podstawie jego URL'a i danych dostępowych (login, hasło);
- wczytanie historii transakcji (zwykle są to linki do funkcji w JavaScript);
- przekazanie wyniku do tablicy w PHP;


I chciałbym zobaczyć te od 8 do 10 linijek kodu, który to robi (napisanego zgodnie z zasadami programistycznego kunsztu).

Tak, czepiam się ;) Chory jestem, nie mogę zasnąć... :P

konto usunięte

Temat: Zlecę doświadczonemu programiście...

Łukasz Karpuć:
...

Czepiasz się... chory jesteś, nie możesz zasnąć ;)

Temat: Zlecę doświadczonemu programiście...

ała to się aż prosi o problemy
mama mi mówiła żeby nie zapisywać nigdzie danych dostępowych do banku...

konto usunięte

Temat: Zlecę doświadczonemu programiście...

Krzysztof Korzeniewski:
ała to się aż prosi o problemy
mama mi mówiła żeby nie zapisywać nigdzie danych dostępowych do banku...
ani żadnych innych danych, które ważne są.
Piotr Bartkowski

Piotr Bartkowski zawód:
Technik-Informatyk

Temat: Zlecę doświadczonemu programiście...

Krzysztof Korzeniewski:
ała to się aż prosi o problemy
mama mi mówiła żeby nie zapisywać nigdzie danych dostępowych do banku...

Podczas logowania i tak te dane są gdzieś zapisywane. Są one odkryte na chwilkę, ale to wystarczy zainteresowanym:)

konto usunięte

Temat: Zlecę doświadczonemu programiście...

Jeśli będzie odpalał ze swojego, zaufanego serwera, to nie widzę przeciwskazań.
A nawet jeśli ktoś przechwyci dane - to co?

Bez jednorazowych kodów lub potwierdzenia SMS żadnego przelewu nie wykona.
Kiedyś była taka historia, że można było edytować już odgórnie zdefiniowane przelewy stałe, ale ta sprawa już chyba wygasła.

Jeśli bank nie udostępnia żadnego API do historii operacji, to dlaczego nie grabić tego cURL'em, jeśli potrzebna jest automatyka?

Chyba lepszą opcją byłoby, (jeśli bank udostępnia takie funkcjonalności) - przygotowanie automatycznego generowania raportów okresowo i wysyłanie ich na e-mail. Wówczas można skorzystać z jakiejś klasy do pop3, pobierać i parsować.Jakub Świegot edytował(a) ten post dnia 20.12.10 o godzinie 21:26
Wojciech Szymulański

Wojciech Szymulański Software Developer

Temat: Zlecę doświadczonemu programiście...

Jeśli będzie odpalał ze swojego, zaufanego serwera, to nie widzę przeciwskazań.
A nawet jeśli ktoś przechwyci dane - to co?

Dane autoryzacyjne (login i hasło) w dzisiejszych czasach przesyłane są po SSL/TLS.
Innymi słowy nawet jeśli hacker przechwyci pakiety TCP/IP niosące dane z formularza logowania, to nie będzie ich w stanie tak łatwo rozszyfrować (kwestia dziesiątek lat przy użyciu superkomputerów).

cURL wspiera technologie szyfrujące SSL/TLS więc połączenie z bankiem można uznać jako bezpieczne.
Podczas logowania i tak te dane są gdzieś zapisywane.

Zapisywanie haseł nie jest praktykowanym rozwiązaniem.
Zdecydowanie zaleca się przepuszczenie danych autoryzacyjnych (plus odrobinę soli) przez funkcję haszującą (np. md5, sha1) i porównanie rezultatu z rekordem w bazie danych.
Dzięki temu, nawet jeśli hacker dostanie się do bazy danych, to nie będzie mógł w łatwy sposób zgadnąć danych autoryzacyjnych.Wojciech Szymulański edytował(a) ten post dnia 20.12.10 o godzinie 21:53

konto usunięte

Temat: Zlecę doświadczonemu programiście...

Wojciech Szymulański:
Zapisywanie haseł nie jest praktykowanym rozwiązaniem.
Zdecydowanie zaleca się przepuszczenie danych autoryzacyjnych (plus odrobinę soli) przez funkcję haszującą (np. md5, sha1) i porównanie rezultatu z rekordem w bazie danych.
Dzięki temu, nawet jeśli hacker dostanie się do bazy danych, to nie będzie mógł w łatwy sposób zgadnąć danych autoryzacyjnych.

Po pierwsze, to banki internetowe nie umożliwiają autoryzacji za pomocą jakiegokolwiek hasha z hasła, więc to odpada.
Po drugie, kolega powinien wiedzieć, ze md5 jak i sha1 nie są już uznawane za bezpieczne funkcje hashujące. Są możliwe kolizje, a od kiedy powstały Rainbow Tables, łamanie jest jeszcze łatwiejsze. Nawet w internecie są dziesiątki serwisów, które oferują odszukanie hasha, czy kolizji.
Mimo tego, nadal często się je stosuje. W swoich skryptach najczęściej wykorzystuję kombinacje np. md5(sha1($string)), a phpBB robi sha1(sha1()) z tego co pamiętam ;).

I jeszcze jedna sprawa -
Dzięki temu, nawet jeśli hacker dostanie się do bazy danych, to nie będzie mógł w łatwy sposób zgadnąć danych autoryzacyjnych.

no i co? Ale będzie mógł zrobić update ze swoim przygotowanym hashem i zalogować się na konto usera korzystając z innego hasła.
Gorzej, gdy uzyska dostęp do FTP i zmodyfikuje działanie skryptu tak, by logować do pliku loginy i hasła użytkowników.Jakub Świegot edytował(a) ten post dnia 21.12.10 o godzinie 10:58
Wojciech Szymulański

Wojciech Szymulański Software Developer

Temat: Zlecę doświadczonemu programiście...

Po pierwsze, to banki internetowe nie umożliwiają autoryzacji za pomocą jakiegokolwiek
hasha z hasła, więc to odpada.

Faktycznie, moja pomyłka (myślałem o autentyfikacji, a napisałem autoryzacja).
Po drugie, kolega powinien wiedzieć, ze md5 jak i sha1 nie są już uznawane
za bezpieczne funkcje hashujące.

Poziom bezpieczeństwa jest wielkością relatywną. Osobiście uważam że jeśli znane i szanowane firmy w dziedzinie bezpieczeństwa (np. VeriSign, Thawte) używają na dzień dzisiejszy algorytmu sha1 (PKCS) to można mu jeszcze ufać.
Są możliwe kolizje, a od kiedy powstały Rainbow Tables, łamanie jest jeszcze łatwiejsze.
Nawet w internecie są dziesiątki serwisów, które oferują odszukanie hasha, czy kolizji.

Jeśli chodzi o Rainbow Tables, to zwiększają one szanse hackera, wtedy gdy system nie wymusza na użytkownikach stosowania bezpiecznych haseł (minimalna długość, użycie małych i wielkich liter oraz cyfr).
Jednak nawet przy luźnej polityce haseł użytkowników można znaczenie zwiększyć bezpieczeństwo dodając entropię do hasła (tzw. salting, wspomniałem o tym w poprzednim poście).
Używanie kilku przejść przez funkcje hashujące też jest dobrym rozwiązaniem.
no i co? Ale będzie mógł zrobić update ze swoim przygotowanym hashem i zalogować się
na konto usera korzystając z innego hasła.

Jeśli włamie się do systemu bazodanowego i będzie posiadał uprawnienia do wykonania UPDATE na tabeli USERS, to kaplica i nic tu nie pomoże.
Gorzej, gdy uzyska dostęp do FTP i zmodyfikuje działanie skryptu tak, by logować
do pliku loginy i hasła użytkowników.

Uruchamianie demona FTP na serwerze produkcyjnym banku jest dosyć ryzykownym posunięciem, a uruchomienie go na publicznym interfejsie sieciowym, to już głupota.

Na systemach produkcyjnych procedura wygląda mniej więcej tak:

svn checkout https://svn.example.com/...
chown -r httpd:httpd *
chmod -r 0400 *

konto usunięte

Temat: Zlecę doświadczonemu programiście...

To miłe, że ogólnie temat banków cieszy się dużym zainteresowaniem :-)

Podkreślę jedynie, ze wątek ten dotyczy poszukiwania doświadczonego programisty PHP a nie Rainbow Tables, sposobów kodowania haseł i innych, poruszanych tu zagadnień tworzących jeden wielki off-top.

Jeśli więc jesteś doświadczonym programistą i potrafisz napisać skrypt w cURL do pobrania historii konta w banku np. Millennium, wyślij mi swoją ofertę na adres e-mail

Dziękuję.Goldenline Sucks edytował(a) ten post dnia 09.01.11 o godzinie 15:45



Wyślij zaproszenie do