Non alphanumeric JS + alte minunăţii ale limbajului

Mi-a sărit în ochi o prezentare de la JSConf Budapest 2016 intitulată JS in wonderland.

Vorbeşte despre use-case-uri mai puţin intuitive ale limbajului, precum un exemplu deja expus de @dakull în următoarea poză satirică (cea din josul postării), din thread-ul hazliu.

Cea mai mişto parte o consider cea, începând de la minutul 14:20, în care descrie cum se poate scrie cod JS perfect valid, utilizând doar următoarele 6 char-uri (ca să nu zic caractere): “()”, “[]”, ‘+’ şi ‘!

În ciuda faptului că ar putea părea doar o copilărie, unii au fost mai inventivi şi au folosit-o pentru a ocolii filtrele și a introduce scripturi rău-intenţionate (nu maliţioase) în anunţuri de pe eBay.

Există chiar şi o variantă de jQuery scrisă doar cu aceste caractere (sunt curios de size :smiley:) şi numeroase “transpilatoare” în acest “format”, precum [JSFuck] (http://www.jsfuck.com/), JSF*ck, JScrewIt, 6chars.js etc…

2 Likes

Pe GitHub dai click pe fisier si iti arata marimea, 1.31 MB.

1 Like

relevant as heck:

1 Like

Oricum, cu diferitele baze de date nosql si json luat direct in functii si functii in obiecte e foarte usor sa faci o prostie.
Macar la php omu stia ca daca are grija de sql injection si xss e oarecum ok, la JS ma doare capul cand trebuie sa rezolv vreun xss. Noroc cu letsencrypt care mai complica putin munca copiilor.

Hmm, ma intreb daca mai merge treaba pe ebay :slight_smile: Pui anunturi foarte atractive si iti faci vizualizari ascunse pe youtube.

3 Likes

E mai greu de testat cu Javascript. La SQL injection băgai un apostrof în request şi vedeai rapid dacă e vulnerabil sau nu. Dar dacă ai timp infinit, de ce nu?

Frameworkurile pentru ASP.NET, PHP, Python au protecţie automată la SQL Injection, la XSS şi CSRF, mă gândesc că vor apărea metode de apărare şi pentru frameworkurile javascript.