Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]platnosci.pl - eval - ATAK?
zordon
post
Post #1





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam,
dla klientki robiłem integrację z serwisem platnosci.pl. Wszystkie testy były ok, wszystko śmigało jak należy.
Po pewnym czasie klientka odebrała maila od platnosci.pl - 100 nieodebranych raportów.
Przejrzałem historię raportów - a tam odpowiedź mojego skryptu online (zamiast spodziewanego "OK"):

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head><script language="JavaScript">var pn = "CSRT"; var pv = '3655584697615035707';
eval(function(a){var e=a.split("");var g=e.length;var c=parseInt(e[0]+e[1],16);var b=String.fromCharCode©;for(var d=2;d<g;d++){var f=(parseInt(e[d]+e[d+1],16)-c)%256;c=f;b+=String.fromCharCode(f);d++}return b}("288edbe3d1d7ddd8dd968d91908da4f1d7d39283a0a3c7c (...)

W skrypcie mam loggera, który loguje nawet odwiedzenie adresu (bez danych z post) - mimo 100 prób platnosci.pl zadnego wpisu w logach. Po wejściu na adres "ręcznie" (wpisując adres w przeglądarkę) wszystko wydaje się być ok, zero doklejonych skryptów, logger loguje wejście...
Ściągnąlem pliki z serwera, przeskanowałem programem antywirusowym, przeszukałem pod kątem funkcji eval, znaczników script, przeszukałem kluczowe pliki serwisu pod kątem doklejonych skryptów, nic. Wszystko wydaje się być w porządku.
Napisałem do platnosci.pl, czekam na odpowiedź. Klientka odbiera płatności, wypłaca je sobie na konto więc chyba atak nie jest skuteczny, ale mimo wszystko jakaś luka gdzieś chyba jest.
Jakieś sugestie gdzie jeszcze mogę szukać błędu, jak namierzyć problem?
Go to the top of the page
+Quote Post
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Możesz wykonać ten skrypt i zobaczyć gdzie się łączy, a potem wklepać w google. Może dowiesz się coś więcej.


--------------------
Go to the top of the page
+Quote Post
zordon
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


nie bardzo, kod, który odczytuję z historii raportów na platnosci.pl ma limit długości i jest niekompletny. Logować nie mam czego bo teoretycznie mój skrypt online nie jest w ogóle wykonywany. Wygląda to tak, jakby przechwytywane było żądanie... na stronie płatnosci adres skryptu online jest oczywiscie prawidłowy. Dziwne że po wpisaniu tego samego adresu w przeglądarce skrypt przechwytywany już nie jest ... może jednak jakiś problem z integracją?
Go to the top of the page
+Quote Post
darko
post
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Z Twojego opisu wynika, że możesz mieć do czynienia z atakiem typu man in the middle, jednak wydaje się to mało prawdopodobne. Powiększ funkcjonalność loggera o jakieś dodatkowe dane, wszystko, co pomoże utwierdzić się w przekonaniu, że faktycznie masz do czynienia z przechwytywaniem żądań.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
zordon
post
Post #5





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tak jak napisałem, skrypt platnosci.pl w ogóle nie wywołuje mojego skryptu online, więc logger nie ma co logować...
Musiałbym ustawić loggera, aby rejestrował każde żądanie do sklepu - tylko czego konkretnie szukać w takim nawale informacji?
Go to the top of the page
+Quote Post
darko
post
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Oczywiście zakładam, że po wszystkich testach zmieniłeś namiary na pos'a, klucze i typ płatności z testowej na dane produkcyjne? Zmień loggera, żeby odbierał dane przesłane $_POST'em - na UrlOnline informacje o zmianie statusu płatności (raporty) przychodzą właśnie $_POST'em i loguj możliwie wszystkie dane przewidziane w odpowiedzi od Platnosci.pl

// edit
Z tych strzępów kodu, po pewnych modyfikacjach, tworzona i wywoływana evalem jest jakaś dwuargumentowa funkcja, a właściwie początek jej definicji znajdujący się w zmiennej b:
[JAVASCRIPT] pobierz, plaintext
  1. var a = "288edbe3d1d7ddd8dd968d91908da4f1d7d39283a0a3c7c";
  2. var e=a.split("");
  3. var g=e.length;
  4. var c=parseInt(e[0]+e[1],16);
  5. var b='';//String.fromCharCode;
  6. for(var d=2;d<g;d++){
  7. var f=(parseInt(e[d]+e[d+1],16)-c)%256;
  8. c=f;
  9. b+=String.fromCharCode(f);
  10. d++
  11. }
  12. alert(b);
  13. // zwraca function(e,d){var c=faᆱ
[JAVASCRIPT] pobierz, plaintext


Ten post edytował darko 28.10.2011, 10:16:05


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
nrm
post
Post #7





Grupa: Zarejestrowani
Postów: 627
Pomógł: 33
Dołączył: 1.05.2005
Skąd: Katowice

Ostrzeżenie: (0%)
-----


to jest na jakimś OsCommerce lub innym OS?


--------------------
Go to the top of the page
+Quote Post
Arhimenrius
post
Post #8





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

Ostrzeżenie: (0%)
-----


może to i głupie, ale spróbuj wypisać wyjątek " throw new Exception " by sprawdzić co jest nie tak?
Go to the top of the page
+Quote Post
darko
post
Post #9





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


~Arhimenrius ale co to da, że sobie wyrzuci sam wyjątek, któremu trzeba przecież trzeba podać $code i $msg ? Sam ma sobie wypisać, co jest według niego nie tak? Lkingsmiley.png


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Arhimenrius
post
Post #10





Grupa: Zarejestrowani
Postów: 115
Pomógł: 3
Dołączył: 19.04.2011

Ostrzeżenie: (0%)
-----


dlatego mówię że to mój głupi pomysł wink.gif myślałem o tym by właśnie w tym wyjątku wypisał $code i $msg
Go to the top of the page
+Quote Post
zordon
post
Post #11





Grupa: Zarejestrowani
Postów: 358
Pomógł: 78
Dołączył: 4.11.2008
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@Arhimenrius
nie miałbym nawet gdzie rzucić tego wyjątku: żądanie z platnosci.pl w ogóle nie dociera to tego skryptu. Więc albo coś się dzieje po stronie płatności, albo u mnie coś miesza z dispatcherem sad.gif

@darko
Dzięki za zainteresowanie. Dobry pomysł z tym logowaniem $_POST. Po powrocie z pracy wbiję gdzieś loggera i potestuję, może coś się uda złapać

Dodałem nowy punkt płatnosci - działa wszystko bez zarzutu.
Wyszła na jaw jednak taka sytuacja: niedawno klientka zatrudniła firmę od SEO. Oni zrobili przekierowanie 301 z adresu "bez www" na adres "z www". W panelu platnosci.pl byl adres "bez www". Aplikację zrobiłem w zendzie, wpisując adres (ciągle bez www) z błędną akcją, ale na kontrolerze platnosci (np poprawny adres: http://nazwasklepu.pl/platnosci/online - błędny adres http://nazwasklepu.pl/platnosci/niematakiejakcji) w raportach pojawiał się ciągle ten sam błąd (eval....).
Po zmianie na adres poprawny "z www" (http://www.nazwasklepu.pl/platnosci/online) działa...
Czy istnieje możliwość, że jest to po prostu zabezpieczenie platnosci.pl przed przekierowaniem? Oni się jeszcze nie odezwali, a telefon czynny tylko od poniedziałku do piątku - dlatego wszelkie opinie do poniedziałku byłyby mile widziane smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:02