Vulnerabilitate in forms

Ovidiu Bokar

It's not a bug, it's a feature!
Administrative
Registered
Full Member
Cu ajutorul lui @AlexH si @Jeliu Mihai Bogdan au postat pe forum cateva websiteuri iar la cateva dintre ele am observat o anumite vulnerabilitate. Astfel am sa va arat cum puteti face cumparaturi online prin PayPay sau alte metode de pe website-uri in care programatorul sau sau firma nu mai intretine website-ul.
pliante.ceconii.ro.

Websiteul selectat isi prezinta flyerele si pliantele intrun tabel iar la un mouseover face update la pretul total si TVA. Este draguta idea de a afisa preturile dar la o inspectie mai atenta exista si o vulnerabilitate la JavaScript, dar nu despre asta vom discuta acum.

1. Am dat click pe una dintre optiuni din tabel si ma trasferat pe o pagina de comanda, incare imi arata imaginea de mai jos.
dy9aap.png


2. Facem inspect code la sectiune de "comanda" si vedem cateva hidden fields.(ca in imaginea de mai jos)
241o080.png


3. Modificatii paramentrii din inputurile hidden, iar la submiterea formului o sa trimiteti valorile voastre nu cele ce erau predefinite la inceput.

Respectang procesul de mai sus, puteti folosii si la PayPal, inainte sa dati click pe "checkout" sau cum se numeste/va numii butonul, verificati daca in pagina exista un <form> si daca aveti inputuri de genul:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="upgradeForm">
...
<input type="hidden" name="a3" value="500.00">
<input type="hidden" name="p3" value="1">
...
<input type="hidden" name="currency_code" value="EUR">
</form>

Daca modificati a3 value si currency_code value cu valori de genul: a3 value = 0.01 si currency_value = USD, la checkout cu paypal o sa vedeti urlmatoarele, iar la checkout o sa aveti asta:
11buljt.jpg



In concluzie, va recomand sa faceti un reasarch inainte sa scrieti cod sau sa instalati ceva in vreo platforma, fiindca nu conteaza cate de destept este frameworkul sau cat de desteapta este logica de validate a inputurilor daca la checkout eu pot sa imi pun pretul care vreau eu. Astfel de vulnerabilitati am vazut in Open Source Frameworks (Wordpress, Drupal, Joomla, etc..) cat si in .NE, C# sau Java si cod scris de programatori incepatori.

Voi crea si o varianta in limba engleza la mine pe blog.
 
la chestii micute nu e problema pentru ca poti anula plata imediat.
Daca userul trebuie sa plateasca sa aiba acces la chestii sensibele, atunci pana iti dai seama, acesta poate face orice.
Deaja stiu cateva sisteme unde vreau acces si voi testa.
 
poate voi posta si ceva de XSS (Cross-Site Scripting), doar sa vad cum stau cu timpul :)
Cand poti posteaza orice.
te rog la fiecare sa adaugi o nota ca le postezi pentru a invata develeperii sa isi isi securizeze scripturile si nu pentru a le folosi la chestii ilegale.
stii tu ce vreau sa spun. :D
 
Din pacate nu :( majoritatea cazinourilor fac tracking la tot ceea ce faci si credema nu ai vrea sa faci astfel de lucruri :)
am citit pe cayeva forumuri straine unde lumea se lauda ca functioneaza. dar nu la plata ci la carti, jetoane cand joci. cu metoda de mai sus poti castiga mana.
 
Am incercat sa gasesc si eu pe un site daca exista vulnerabilitate, nu am gasit, dar am vazut ca modificand URL-ul de pe pagina de plata Paypal aparent se schimba suma, din 15$ am pus 1 cent:
Log+in+to+complete+your+checkout+-+PayPal.jpg

Ma intreb daca as merge mai departe oare as primi oricum acces? Mai bine nu, nu are rost sa ma joc asa, insa interesant.
Eu as zice insa sa ascundeti anumite informatii din posturi, sa nu fie disponibile si pentru vizitatorii ocazionali.
 
Pacat ca siteurile astea ajung la clienti asa cu vulnerabilitati de genu.
 
Ultima editare:
Posibil sa mearga pe mai multe site-uri la comenzile prin Paypal, nu stiu daca verificarea se face automat, insa oricum nu e o idee buna sa incercati asta. PM trimis.
 
Nu cred ca va poate face ceva siteul respectiv daca faceti plata pe contul vostru.
Raportati problemele pt fiecare site in parte... daca e un site mai mare si respectat primiti recompense.
 
Loading...
Back
Sus