Kiderült, hogyan loptak hitelkártya adatokat a BA-tól

 ( gee | 2018. szeptember 12., szerda - 18:50 )

Bizonyára hallottatok róla, hogy a British Airways vásárlóinak a személyes adatai, hitelkártya információkkal együtt kikerültek. Kb. 380 ezer felhasználó lehetett érintett.

Eddig csak sejteni lehetett, hogy valami módon az kártyás fizetéskor fértek hozzá a hackerek az információhoz, de nemrég közzétették a leírást:

Egy 22 soros scriptet találtak a BA weboldalán és a mobil alkalmazásban. A script nagyon hasonlít ahhoz, amivel a Ticketmaster oldaláról loptak adatokat korábban, de a BA fizetési oldalához igazították.

A leírás szerint használták ki, hogy a weboldal külső elemeket is használt, és valami módon az egyik ilyen külső JS script végére a saját kártevő kódjuk meghívását sikerült beilleszteniük. Innentől a BA weboldal minden foglaláskor az ő kódjukat is futtatta, az ő kódjuk pedig a kártyás fizetési oldalra beírt adatokat ellopta.

Az elemzés itt található

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Pedig vannak már olyan remek technológiák, mint a Content Security Policy meg a Subresource Integrity - csak nem ártana használni őket. Legalább a faking fizetési oldalon.

hmmm, elvileg a html forrasban meg tudod adni, hogy mi az sha256 erteke az adott js file-nak, igy a bongeszo kezelni tudja, ha elterest talal...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

ezzel csak az a baj, ha a 3rd party oldal nem verziózott JS-t használ és egyszer csak update-eli a fájlt :/

Ha saját fizetési rendszered van, ne húzogass be 3rd party oldalról JS-t. Egyébként sok CDN (pl. a cdnjs) támogatja az SRI-t.

persze, fizetési oldalnál nem is használunk, de nem csak ott okozhatnak gondok az adatlopók, ezért általánosságban értettem

Egyébként az elemzés szerint nem a fizetési oldal húzta be a kártevővel kiegészített scriptet, hanem valami csomagokkal kapcsolatos oldal a foglalási folyamat során.
Ha jól értem, mire odaérkezett a fizetési oldalra, már a script be volt töltve és várt arra, hogy találjon egy fizetési oldal nevű oldalt vagy formot vagy valami ilyesmit.

Az az érdekes, hogy az URL https://www.britishairways.com-mal kezdődik, szóval azt feltételezem, hogy készítettek egy helyi másolatot a 3rd party oldalról.

Ha jól gondolom, és ez történt, akkor esetleg az történhetett, hogy valaki az eredeti helyén módosította a scriptet, és a BA emberei meg komoly ellenőrzés nélkül frissítették a saját repójukban.

De ha tényleg ez történt, akkor elég optimistának kellett lennie a hackereknek, mert ki tudta, hogy nem nézik meg alaposan, hogy mi változott.

Persze simán lehet, hogy félreértem, mert nem értek a weboldal programozáshoz.

a WorldPay meg a Stripe pont a 3rdparty JS behúzogatást preferálja...

A különbség, hogy ott az ő saját cuccukról van szó, az ő szempontjukból nem third party komponensről. Nem?

Valamennyire igen, de js beillesztés helyett átirányítana stripe oldalára, akkor nem érintené, ha pl. a webshop-ot feltörték és beillesztettek egy oda nem illő JS-t.

Ez igaz. Csak ne lenne az a fránya [nem a fejlesztő], aki a döntést meghozza, hogy ugyan mégis csak legyen a felületbe építve, mert az jobb.

Fizetési rendszernél (meg amúgy mindenhol, ahol fontos a biztonság egy picit is) 3rd party által hosztolt scriptet nem illik használni, minden legyen saját magad által hosztolt és kontrollált.

Megnéztem a pár hazai bankot külső js betöltés ügyileg:

OTPBank: cdnjs.cloudflare.com -ról tölti a libek egy részét + google analytics, google maps js-ek minden oldalon akkor is, ha nincs térkép. Emellett "Refused to execute script from 'https://www.otpbank.hu/static/fiok/applications/fiok-layer.bundle.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled."
+ extraként bejelentkezés után https://piwikpro.otpbank.hu/piwik.js -t is amin pár hete még egy piwik telepítőfelülete volt, most már timeout-ol.

Raiffeisen: lptag.liveperson.net, photel.hu -ról töltött js-ek. + google analytics

CIB: www.vivocha.com, w.usabilla.com, res.cloudinary.com

MKB: secure.comodo.net (csak azért, hogy kirakjon egy biztonságos plecsnit a bejelentkezés oldalra) + google analytics

Budapest Bank: secure.adnxs.com, hu-gmtdmp.mookie1.com, static.hotjar.com, hu.hit.gemius.pl, gemoneyshumb.112.2o7.net, staticxx.facebook.com + google analytics, maps

Erste: erstegroup01.webtrekk.net + google analytics + nincs EV SSL certjük

Gránit bank: cdn.sitesearch360.com, fonts.googleapis.com + google analytics, recaptcha + nincs EV SSL cert

Magnet: pool.admedo.com, c1.rfihub.net, secure.adnxs.com, static.doubleclick.net + google analytics + "Bootstrap's JavaScript requires jQuery" error + nincs EV SSL cert
- Netbank belépésre kattintva: "HTTP Status 404 - Not Found - GlassFish Server Open Source Edition 4.1.1"
- On 7 October 2015, Oracle Corporation released GlassFish 4.1.1, CVE-2017-1000028: Directory traversal vulnerability, Affected Software/OS: Oracle Glassfish Server version 4.1.1, Vulnerability Impact: Successful exploitation will allow remote attackers to gain access to sensitive information.

K&H: dev.visualwebsiteoptimizer.com + google analytics

Takarék bank: Google analytics + nincs EV SSL cert

Kinizsi bank: jQuery ajax.googleapis.com-ról, nincs HTTPS támogatás

Nyertes: Takarék bank, ha az EV SSL cert hiányától eltekintünk, egyébként OTP Cloudflare, Google párosát érzem legkevésbé kockázatosnak.
Citrom díj: Kinizsi a https támogatás hiánya miatt na meg a Magnet

Hmmm. Ez az az info, amit mindenki megnézhetne a saját szemével és elgondolkodhatna rajta, de többnyire inkább nem gondolunk bele - jobb úgy létezni. Köszi a listát!

Ezek közül melyiken adsz meg kártyaszámot?

A legtöbb banknak van online bankkártya elfogadó rendszere, de nincs is, akkor is egy rosszindulatú JS pl át tudja írni az átutaláskor a cél számlaszámot.

Pont pár hónapja loptak el pishing-el megszerzett jelszók segítségével 500 milliót magyar bankszámlákról: https://www.penzcentrum.hu/megtakaritas/netbankos-csalas-milliokkal-loptak-meg-az-otp-ugyfeleit.1069736.html

Ezek némelyikén van netbankos login, nem elég, ha az ahhoz kapcsolódó adatokat nyúlják le?

Elvileg ha a login ablak külön iframe-ben van, az elég lehet az ilyen támadások ellen. Mondjuk nem tudom a user honnan tudja, hogy az egy külön bankos iframe, vagy egy rosszindulatú szkript által generált oldalrész, ami loginnek álcázza magát?

A sandboxed iframe csak az ellen véd, hogy az iframe-be betöltött oldal ne tudja módosítani a betöltő (külső) oldalt. Ha a külső oldalba betöltődött egy rosszindulatú javascript onnantól kezdve nincs védelem az oldalon beírt adatok számára.

JavaScript LOL

Mi köze ennek a nyelvhez?

Az, hogy az egész egy nagy névtér, amiben minden lát mindent. És többnyire a szoftver fejlesztője sem tudja, hogy mikor mi történik - mert a keretrendszer csinálja.

> az egész egy nagy névtér, amiben minden lát mindent

Ezt légyszi fejtsd ki bővebben, mert legjobb tudomásom szerint ez nem így van.

> a szoftver fejlesztője sem tudja, hogy mikor mi történik - mert a keretrendszer csinálja

Az ugyan nem nyelvfüggő, és nem a nyelv hibája, ha a fejlesztő nincs tisztában a működésével. Java fejlesztőket látok szívni Springgel, csak mert nem tudják, hogy mire képes, és hogy lehet elérni a kívánt taszkot. Nem emiatt szar a Java. Ennyi erővel minden nyelv az.

Ez nekem tunik eleg piti dolognak, foleg egy ekkora cegtol? :/

Láttál már webfejlesztő céget belülről? Addig míg körbefaszfelszopó kretének, retardáltak és autisták viszik a webfejlesztések 99%-át, addig ez normálisnak, sőt elvártnak számít. Bocsánat a nyersség ért, a héten sikerül 1.5 órát meetingeltem egy olyan webfejlesztővel, akinek minden lélegzetvételére jutott egy buzzword és cégnév. Tisztára mint Dart Vader, csak nem "Hhhhhhh...Khhhh...Hhhhhhh...Khhhh...Hhhhhhh...Khhhh", hanem "Hhhhh...Joomla....Hhhhh....Hhhhh....Cloudready...Hhhhh...Json....Hhhhh....Jquery....Hhhhhh...Faceboook....Hhhhhh...Javascript.....Hhhhh....Google....". Mindezt egy 4 db. statikus oldalt tartalmazó sitenál.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

webfejlesztő vs joomla


No rainbow, no sugar

És a végén közölte, hoyg ő az apád!...
Bocsi, de ez kellett! :)

Mindig vannak olyan emberek, akik az hiszik, hogy bohócot csináltak belőled. Ne rontsd el a játékot azzal, hogy elárulod nekik, tiéd a cirkusz!

Na de az ilyen nem komoly szakember. Hasonlók pedig nem csak webfejlesztőknél vannak. Emiatt lehúzni egy szakmát, meg retardáltnak nevezni benne mindenkit*. Faszán esik olvasni, tekinve, hogy én is része vagyok a halmaznak. Nem a retardáltnak, a webfejlesztőnek.

* Na jó, 99%-ot

CMS-t integrálsz a weboldalaidba? Hány CDN-t integrálsz a weboldalaidba? Milyen third party metrikát integrálsz az oldalaidba? Milyen third party scripteket engedsz futni? Hogy állsz a JQueryvel? Node.js-el? Vue.js? AngularJS?
Hogy állsz a hirdetésekkel? Self hosting, vagy esetleg kívülről kapott tartalmak?
Melyik cégeknek hagysz scriptfuttatási lehetőséget? Facebook? Google? Twitter?
Hogy állsz az open-source projektekkel? Veszel át kódokat ezekből?
És az auditálás? Tesztelés?

Hacsak nem vagy HTML purist aki self-hostingba nyomja az ipart ezerrel, saját tíz ujjával begépelve minden egyes kódsort, soronként külön tesztelve és auditálva akkor, isten hozott a többségi klubban.
A probléma, hogy az egész web egy önigazoló, összetákolt, összehányt pöcegödör, tele értelmetlenül agyonhypeolt tervezetlen technológiákkal, rosszindulatú, adatlopásra ácsingozó cégekkel. Ahol 10-ből 9 esetben a fejlesztés kimerül ismeretlen helyről származó, ismeretlen kódok és keretrendszerek copy-pastejében. Minél több kódot integrálsz ismeretlen vagy megbízhatatlan forrásból (igen, az összes nagy cég, CDN, stb. ) annál nagyobb az esélye, hogy a felhasználóid adatai rossz kezekben landolnak.
Lejjebb linkelt cikk, csak egy gondolatkísérlet, ennél sokkal, de sokkal mocskosabb dolgokat játszanak a cégek csak mert megtehetik.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

+1

Egyet tudok érteni veled, meg nem is! Egyetértek mindennel amit erről a webes pöcéről írsz, DE!!! De ez az ügyfél igény! Ha nem építed be a google, facebook, és barátaik szutykait akkor nem lesz megrendelésed, mert ezek nélkül nincs piacról élő vállalkozás amelyik weboldalt szeretne.
Ha a 10 körmöddel pötyögsz be mindent, soronként auditálva, akkor az annyi idő lesz, tehát annyiba fog kerülni, hogy szintén nem lesz senki aki tőled rendelne bármit is. Ezért épít mindenki wordpress, joomla, drupal szarokból, mert század annyi időbe, pénzbe kerül, ezekkel szemben versenyképtelen leszel a pure kóddal.

Nem, nem, és nem.
Az ügyfélnek nincs igénye, az ügyfelek 90%-a megfogalmazni sem tudja az igényét, csak majmolni tud korábban látott hibás designt. A webfejlesztő cégnél a designer az ügyfélnél az épp aktuálisan felszopott trendet ajánlja a legjobbnak (há', mert magasabb lesz a pagerank), a programozó az épp leginkább felszopott keretrendszert ajálja (nehogy má' az egészet nekem kelljen lekódóni!) és így tovább a végtelenségig. Ez pörgeti az egész üzletágat. A Facebook, google, whatewer mögött marketing szakik agyhalála van, mert abban reménykednek, hogy így is lehet munka nélkül termék/cégpromóciót csinálni.

Az ügyfélnek mindig azt kell megkérdezni, hogy kell ez nekem? Kell nekem a legördülő menü? Kell nekem folyamatosan frissülő Twitter feed? Kell nekem havi 0,1 EUR reklámbevétel a googletól? Lesz nekem átklikkelésem a facebookról?
A probléma, hogy a netes marketingek szent grálok nem működnek normális cégek esetében. Kell a több éves felépített marketing, kell a releváns tartalom, kell a valós kapcsolatépítés.

A saját kódbázis többe kerül, de elkerülhető vele a left padding jellegű pofáraesés. A kicsi, self hosted kód könnyen auditálható, tesztelhető, nincs kiszolgáltatva egy harmadik félnek.
A felesleges design featurek visszavágásával javítható az oldalmegjelenítés sebessége és az eszközkompatibilitás. Pl: Ha nincs onfocusra legördülő menü, máris okafogyott, hogy mobileszközre külön kelljen scriptet vagy oldaldesignt írni.
A harmadik felek kihagyásával kiesik egy csomó kompatibilitási és szolgáltatásbeli probléma.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

de, de, és de :)

Az ügyfélnek van igénye:
tíz körömmel ragaszkodik az animgifekhez lehetőleg 1/1 ben a nyitó oldalon.
hosszan rugózik az share to fb-messenger, like in viber, post on youtube ötletein
minden social media megjelenését szeretné látni az oldalán is, azokat a postokat is amik visszavisznek a saját oldalára
minden trendnek _is_ és a pénzügyi vezető pillanatnyi ötletének _is_ megfelelő kialakítást akar, kompromisszum nincs
eldöntendő kérdésekre A vagy B megoldás legyen a válasza A és B _is_

hosszan sorolhatnám még

Huhh, az onfocus-ra történő dolgoktól mindig lábrángást kapok...

Nem fogom megválaszolni ezt a sok kérdést. Nyilván használok third party kódot.
De tudod ez nem csak a webfejlesztőkre jellemző.

Egy java fejlesztő nem tölt le random jar fájlokat? Használ maven repót a függőségek kezelésére, automatizált letöltésére? Ott nem terjedhet el ugyanúgy valami kártyékony hasonlóan ahogy a lenti cikk írta? Ott te jobban észrevennéd a hibát? Egy C fejlesztő nem használ megannyi 3rd party libet?

Még ha az arányok mások is és a web közelében jobban pörögnek a dolgok, és még ha tényleg több is a kókler ezen a területen:

Miért kell pöcsnek lenni, és ilyen alpári, méltatlan stílusban kikelni magadból?

Arányok, kérlek az arányok és a mentalitás. A weboldalak 99%-a kliens oldalon Javascritet használ, ami a jellegéből adódóan nagyon egyszerűen módosítható. A legtöbb külső komponenst CDN-ből és más egyéb netes helyről szednek le kérdezés nélkül, csak alacsony legyen a oldaltöltési idő. Vakon megbíznak a nagy nevek komponenseibe, miközben azok csont nélkül kémkednek a felhasználók után.

Igen, használnak 3rd party libeket és igen elterjedhet. Voltak erre kísérletek, és néha van olyan érzésem, hogy egyik-másik project ilyen szándékkal jött létre (hello, systemd). Viszont, egy lib legtöbbször nem olyan vonzó célpont mint egy webalkalmazás komponense, mert senki sem tudja megmondani miben fog landolni.
És igen, jobban észreveszik, mert nincs minden második sorban egy távoli gépről való kódrészlet vagy függőség letöltése.

Azért vagyok pöcs és azért vagyok alpári, mert a mindennapi élet része a web, ami kurva szarul van megcsinálva.
Nem akarok öt-hat ablakot leokézni, hogy minden kistestvér kémkedjen utánam. Nem akarok használhatatlan mobil nézetet, csak mert a nyomorék keretrendszer 10-20MB javascriptet tölt le és az UI komponensek egérre vannak optimalizálva. Nem akarok olyan login oldalakat látni, amik 3rd party scripteket húznak be, csak mert lusta a header és footer szekcióból kivenni azokat. Nem akarok törött oldalakat látni, mert az amúgy lényegtelen grafikus csicsa scriptje nem elérhető. Nem akarok nem válaszoló kapcsolat oldalakat látni, mert azt hitték, hogy a google maps integrálása egy térkép jpeg helyett kurvajó ötlet. Nem akarok 200%-on pörgő processzorokat látni, csak mert valamelyik kémszerver nem elérhető és beragadt a script. Nem akarom, hogy olyan szolgáltató scriptje fusson az általam látogatott weblapokon, aminek nemhogy nem használom a szolgáltatásait, de még regisztrált felhasználója sem vagyok. Nem akarok olyan weblapot látni, ahol a kereső mező egy lassú hálózati kapcsolatnál meghal, csak mert a feldobott hintekhez nagyméretű képeket akar letölteni, amit aztán javascriptből méretez át.

20 éve figyelem a webes alkalmazások alakulását és azt látom, hogy eszméletlen erőforrások mennek el kémkedésre, lényegtelen szemcukorkákra, miközben triviális dolgokra "jobb kézzel vakarom a bal herém" megoldások vannak tákolva, rosszul összehozott, vagy rosszul specifikált szabványok miatt.

És mindaddig, míg azt látom, hogy a felelősök, az-az, ti webfejlesztők, ez ellen semmit nem tesztek, hanem egyre több fost lapátoltok egy-egy oldalba, addig én, mint felhasználó fenntartom a jogot, hogy alpári és méltatlan stílusban, ha csak verbálisan is, belegyalogoljak a büdös bakancsaimmal a pici lelketekbe.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

+0.999 :-)

--
eutlantis

Az egész problémának az üzemeltetési végéről még nem is beszéltél.

Fejlesztő jön az igényeivel (pl: ezt-azt tegyünk fel a szerverre, neki más php verzió kell, a webszerver lásson ki egy adott címre stb.), majd mi feltesszük neki a kérdést: "Ez mihez kell? Miért kell?". A hebegés-habogás után meg visszadobjuk az egészet (jó esetben) és jön a "kardozás". Senki se érti, hogy a rendszer üzembiztonsága, üzemeltethetősége, az IT biztonsági elvek megtartása (ez egy külön sztori) fontosabb, mint a "fancy fícsörök".

Rosszabb esetben megtalálja az üzemeltetést az ügyfél és előadja az ő problémáit is. Nem a fejlesztőt találja meg, mert ő az "üvegkalitkájában fejleszt". A fejlesztők nagy része - tisztelet a nagyon kevés kivételnek nem fejlesztő, csak kódoló. Képtelen rendszerben gondolkodni, képtelen felfogni az összefüggéseket. Ő lekódolta, az ő gépén működik...

Ő lekódolta, az ő gépén működik...

:-) jaj, hany ilyet lattam mar en is. Masik valtozata: az en szerveremen mukodik...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

Azt ugye tudod, hogy a fejlesztő a kivitelező, akinek jó esetben van valamennyi szabadsága, de nem ő dönti el hogy nézzen ki, hogy működjön, vagy hogy milyen 3rd party komponensekből álljon az oldal. Van némi felelőssége neki is az elkészült oldal minőségében, de ne csinálj úgy, mint ha a fejlesztő hibája lenne minden.

Esetleg próbáld ki a szakmában magad, és meg fogod érteni. Nyilván nem vagyunk mi se hülyék, van aki lusta, de van aki igényes a munkájára, de egyikünk se szereti a szar weboldalakat, és nem az a célja, hogy olyat készítsen.

Maszekoltam a szakmában (jó, annak van már lassan 10 éve), de érdekes módon, egy megrendelő sem jött úgy, hogy XY megoldást vagy keretrendszert akarja. Jó esetben, van egy elképzelése a designra, esetleg tud mutatni oldalakat, hogy milyen design elemeket akar. Ugyancsak elvétve volt olyan kérés, hogy szeretnék ha bizonyos adatokat valamilyen más rendszerből húzzon át az oldaluk.
Több fős projekteknél van, hogy van architect, designer,kutyafasza aki képes előre gondolkodni egy kicsit és specifikálni a dolgokat és ilyen esetekben fordul elő, hogy a fejlesztő feje felett döntenek dolgokról. De az architect és a designer is fejlesztő.
Utóbbiak hozzá nem értése ott kezdődik, hogy szeretnek nagyot igérni (igen estem bele ebbe a hibába is) és, hogy teljesíteni tudják polcról levett megoldásokkal főznek. Igen csináltam ilyent én is, szedtem ki pronóoldalból scrollozó galéria scriptet mert az kellett a megrendelőnek és rohadt gyorsan kellett, de volt bennem annyi, hogy kiírtottam 30 sornyi felesleges kódot és áttuningoltam az időzítését, hogy nem járassa 100%-on a procit. Vajon ti megteszitek ezt 6-8000 soros hákolásoknál? Nem, mégpedig azért, mert akkor bukjátok a külső repók előnyeit.

Én sem szeretem a szar oldalakat, és volt olyan, mikor le kellett beszélnem a megrendelőt adott fórummotorról, vagy metrikát szolgáltató megoldásról, mert kvázi biztonsági kockázatot jelentett.
Lehet, hogy nem célotok szar oldalakat készíteni, de akkor hogy lehet, hogy ugyanezen poszt alatt a kolléga hosszan tudja ecsetelni a banki oldalak szépségeit? Vagy majd minden banknál dilettánsok vannak? Hogy lehet ez?
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Szerinted melyik keretrendszert szabadna használnunk?
Meg lentebb kérdeztem, hogy kik azok az emberek, akik jól végzik a dolgukat, csak véletlenül elfelejtettél válaszolni.

--
HUP Firefox extension | Hupper hibajelentés

Nem felejtettem el válaszolni. Nem foglalkozom főállásszerűen CMS-ekkel, így megmondani sem tudom hogy melyik az igazi.
Annó nézegettem kisebb CMS-eket ezeknél az alábbi gebaszokat találtam:
WonderCMS: Gyárilag behuzalozott CDN és github függőség.
AnchorCMS: Gyárilag behuzalozott github függőség.
Boltcms: 3. féltől átvett kódok, XSS sebezhetőség (plain text storage).
Wolfcms: Beépített automatikus update.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

De te nem CMS-ekről beszélsz itt, hanem az egész webes szakmáról. Nem gondolhatod, hogy az egész az egész szakma erről szól. Ügynökségeken túl is van világ.

Az eszembe se jutott, hogy bármi webes dolgot hozz fel jó példaként, hiszen az a vonat már 1995 magasságában elment. Valami más terület érdekelne, ahol még itt zakatol a vonat a közelben.
--
HUP Firefox extension | Hupper hibajelentés

Hát nem tudom, de a web mára valami akkora okádék lett, hogy önmagában csak ezért is megérdemelné az emberiség a pusztulást. De azok mindenképpen, akiknek köze van ehhez (a jelenlevők és szeretteik természetesen mindig kivételek).
Pedig maga a koncepció annyira szép, hogy nem is értem hogy lehetett így elbaszni - mert ez fubar, ne mondja senki hogy nem az.

Ezt Hevi kolléga már elmondta sokszor, el is fogadtam, majd a pokolban megfizetünk érte.
Csak egy példát szeretnék, ami nem okádék, ahonnan lehetne valami ötletet lopni, hogy hogyan kéne felmosni ezt a sok szemetet. :)
--
HUP Firefox extension | Hupper hibajelentés

Nem igazán tudok pozitív példát mondani, a negatívok közül pedig már sok el lett mondva. Bloated, resource hog, mindent gyávaszkriptből, 86 jslib/cdn/anyámpicsája. Pozitív az lenne, ha az ilyen negatívumok nem lennének, vagy legalább minél kevesebb. Mert ma már - némi túlzással - a webböngészéshez kell i7-et venni, minden másra elég egy i3 - megfelelő VGA-val játékra is...

szerk.: és a dinamikus, ugrálós szarságok.
Pl. a kommented (amire ez a válasz) nálam úgy jelenik meg, hogy a fejléc sora 1 sorban pont elfér. De ha rákattintok a kommentre, akkor a V betű kiíródik, és a "veterán" szóval együtt már két soros lesz a fejléc, a tartalom csúszik lejjebb egy sorral. De ez a js dzsuva az egész commentbox-ra érvényes, tehát ha a láblécben a "válasz" linkre kattintok akkor is veteránná válik a v betű akkor is megnő a szövegoboz fejléc-sora és az egész miskulancia lejjebb csúszik 1 sorral. Igen, a "válasz" link is, szóval hiába kattintanál rá, nem tudsz. Persze megoldja az ember persze, de az ilyen végig nem gondolt "szemcukorkák" képesek az egész UX-et hanyatt vágni.

10 év alatt felfordult ez a világ! Ma a megrendelők 90%-a már agyonművelt marketingguru, aki elvégezte a marketing főisten összes tanfolyamát, köztük a "Hogyan legyünk 3 óra alatt webprogramozók"-at is, mert a marketing főistenek ilyet is tartanak már! Nos, ezeken a kurzusokon megtanulják, hogy egy értelmes weboldal csakis facebook, instagram, youtube szarokkal teleszemetelve létezhet, a google analitics pedig a legfontosabb! Esélytelen ezekről lebeszélni őket, mert a főisten azt mondta! Ha megpróbálod, akkor dilettánsnak néznek és mennek a következő helyre. Sőt, a legtöbb már úgy jön, hogy wordpress, wordpress, wordpress, és még a plugin-eket is sorolja! Erről még nagy ritkán le lehet beszélni őket, de csak ha nem blog-szerű oldalról van szó.

a google analitics pedig a legfontosabb!

ha neked 10 ev alatt sem jott at, hogy az analitika fontos, az nem a marketing guruk sara. Btw. azon mar lehet rugozni, hogy ne a google termeket hasznalja az oldal, csak akkor adj (koltseg, feature, hasznalhatosag, ... szempontbol) jobb alternativat az egyszeri ugyfelnek. Engem konkretan erdekelne most egy ilyen...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

"ha neked 10 ev alatt sem jott at, hogy az analitika fontos, az nem a marketing guruk sara"

Hol írtam olyat, hogy nem fontos?
Arra próbálom rávilágítani a kollégát, hogy ma már igenis az ügyfélnek vannak igényei, konkrét igényei. Ha nem kapja meg tőlem, akkor megkapja mástól.

"Engem konkretan erdekelne most egy ilyen..."

https://matomo.org/

a hivatkozott mondatod ertelme egyaltalan nem az, amit most mondasz. Mindegy (nekem). A matomo-t azert megnezem, bar a multbol emlekszem 1-2 sec. issue-ra, amikor meg piwik-nek hivtak...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

Piwik/Matomo
Open Web Analytics
Countly
En Piwikre voksolnek, de ha akarsz AdWordsozni, TagManagerezni, stb, akkor kb. magadat loned labon, ha nem GA-et hasznalod.

jol ertem, hogy 10-15 evvel ezelott (egy akkori komplexitasu cuccbol) kiszedtel 2 fuggvenyt, ami neked nem kellett, es ez alapjan azt veted a mai hivatasos front end fejlesztok szemere, hogy ok nem tesznek ugyanigy a tobb ezer LoC js/css/whatever lib-ek eseten? Mert ez igy egy kisse a nem erted, mit beszelsz esete.

Mas. Az en egyik kedvenc bloatware sztorim az volt, amikor xy elkezdett sirni, hogy nem mukodik az oldalan a yahoo-rol behuzott idojaras jelentes. (Ja, mert a webszerver elott levo tuzfal - nagyon helyesen - blokkolta a kifele inditott kapcsolatokat). Mert nyilvan minden oldalon ott kell lenni az idojaras jelentesnek, az aktualis nevnapoknak, sot egy oranak is...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

+1
Ilyenkor jön a "lassú az oldal" az ügyfélnél. Képzeld mi van, ha nincs ilyen tűzfal.

Mondjuk azért nem mert CDN-ből vagy más repókból húzzák a tartalmaikat és emiatt nem is mernek beletákolni a kódba, nehogy egy verziófrissítésnél boruljon az egész. A másik, hogy ezen kódok jelentős része alapból zsugorított, tehát olyan, mintha egy obfuscated kódot próbálnál editálni.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

kb. gyerekjatek deobfuszkalni. De a lenyeg, amit ki akartam hozni az egeszbol az az, hogy a mai js lib-eket ne vesd ossze a 10-15 evvel ezelotti amator kalandjaiddal, mert elegge almat a kortevel esete...

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

Ok.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

"egy megrendelő sem jött úgy, hogy XY megoldást vagy keretrendszert akarja"

Nyilván 10 éve mások voltak az igények. De azért az nem ritka, hogy a megrendelő akar social logint, vagy analitikát. Rögtön jön egy csomó privacy aggályos third party komponens.

A keretrendszer jellemzően tényleg nincs elvárva. Viszont bizonyos működés meg van határozva, ami maga után vonja például azt, hogy egy oldal SPA-ként készül el, és nem a klasszikus szerveren renderelt módszer szerint. Ugyancsak az ügyfél kívánalma jellemzően az elcseszett UX (bár lehet tervezési hiba is).

"De az architect és a designer is fejlesztő."

Ezt mégis honnan szedted???

"volt olyan, mikor le kellett beszélnem a megrendelőt adott fórummotorról, vagy metrikát szolgáltató megoldásról"

Látod te, van hogy a megrendelő határozza meg a fórummotort :) Az pedig, hogy te lebeszélted a megrendelőt tök jó. Van amikor ez nem opció.

És igen is vannak dilettáns, nem törődöm emberek ugyanúgy, mint bármelyik másik szakmába. Nézz csak meg egy építkezést :)

+1000

Egy java fejlesztő nem tölt le random jar fájlokat? Használ maven repót a függőségek kezelésére, automatizált letöltésére? Ott nem terjedhet el ugyanúgy valami kártyékony hasonlóan ahogy a lenti cikk írta?

Alapvetően java fejlesztő nem release-el kódot úgy, hogy legkésőbb a release pillanatában (de normális helyen ugye a release előtti utolsó teszt pillanatában) ne fixálódna az összes külső hivatkozás. Ergó onnantól kezdve az nem fordulhat elő, hogy a release-elt kód a kliens gépén kap egy frissítést valamelyik dependenciából, úgy, hogy arról a fejlesztő semmit nem tud, és a fejlesztő oldalán semmilyen tesztelésben nem volt benne.
Mellesleg, rendes java programhoz még a konkrét jre verziót is szokás mellékelni, amivel a tesztelés történt, és az általában az elvárás, hogy azzal kéne futtatni!

"az nem fordulhat elő, hogy a release-elt kód a kliens gépén kap egy frissítést valamelyik dependenciából"

A lenti cikkben* sem erről volt szó. A kártékony kód egy npm csomagban volt, ami indirekt módon függősége lett más, népszerű csomagoknak, és build során került be az oldalba.

Fentebb pedig a 3rd party komponensektől függésről, és arról volt szó, hogy ha más által írt kódra támaszkodsz, akkor abban meg kell vakon bíznod, mert kódbázis méretétől függően átnézni úgy se tudod

Tudnád definiálni, hogy mi számít webfejlesztő cégnek? Akkora nagy ez az internet, hogy azt se tudom, hányadán állok. :)
--
HUP Firefox extension | Hupper hibajelentés

Bárki akinek csak egy ici-pici köze is van böngészőkben megjelenő szeméthez. Webfejlesztő a PHP pistike Bt, webfejelsztő a nagybank webes részlege a frontendesektől a backendesekig, pluginhákoló jómunkásemberek, akik miatt agyfaszt kapsz, mert miatta széthullik a működő weboldal, de még az utolsó photoshoppöckölgető szabadúszó is, aki képtelen egy 120x120 pixeles elemet 1MB alá méretezni. Oh, majd elfelejtettem, magát a böngészőt kódoló majmok is azok, mert őnélkülük a fos szabvány nem lenne igazán elbaszott.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Sajnálom és bocsánat érte. :(

Kik azok, akik viszont rendes dolgoznak? Hogy legyen kiről példát venni! :)
--
HUP Firefox extension | Hupper hibajelentés

"az igazi programozó akármilyen nyelvben is bír FORTRAN programokat írni"

:D

A weben ilyen állat nincsen. Ez a vonat 1995 magasságában elment.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Ezt értettem, de nem a weben, kik azok, akik jól csinálják?
--
HUP Firefox extension | Hupper hibajelentés

LOL

Azt a részt kifelejtetted, hogy már desktopra is benyomultak ezek az electron csodák, meg persze mobilra is. Én még mindig azt remélem, hogy egyszer egy szép napon a wasm megment minket.

A bevezeto kerdesed rossz embernek ment... :D De igen, lattam mar egyet-kettot, kozelrol, uzemeltetoi es fejlesztoi oldalrol is, de a jelek szerint nem ugyanabbol az irodabol.
Nekem lenyegesen jobb velemenyem van fejlesztokrol, mar ha ertenek a munkajukhoz es nem csak Joomla/WP/Drupal admin feluletet nyomkodo betanitott munkasokat hivunk fejlesztonek! De!!! Ez akkor is egy webfejleszto (ceg)! Egy BA elso gondolatra nem az a ceg, aki Verpistike BT-vel dolgoztat a rendes ar toredekere leciganyolva a dijat. Sot, szerintem akar sajat fejleszto team kellhet nekik, es azert az nem ugyanaz a szitu, mint futoszalagon hetente legalabb egy Bootstrapes/GRAV-os oldalt osszetakolni, hogy meglegyen a fizu...

Odab*sz! Főleg a DNS prefetch-es CSP megkerülés rész... kíváncsi vagyok, hogy friss Chrome/Chromium alatt még mindig működik-e, de jó eséllyel igen.

a 2. resze is jo: https://hackernoon.com/part-2-how-to-stop-me-harvesting-credit-card-numbers-and-passwords-from-your-site-844f739659b9

--
"dolgozni mar reg nem akarok" - HZuid_7086 'iddqd' zoli berserk mode-ba kapcsol

klassz.

Az szep, koszi a linket! :)

Ezt mar olvastam. Nagyon komoly. Annyira profin adja, hogy azt gondoltam, hogy ez valami poc amit valoban megcsinalt.
Persze lehet, de aztmondja nem. :)

subs

Ugyanez newegg-el: Magecart hackers used what researchers called a digital credit card skimmer wherein they inserted a few lines of malicious Javascript code into the checkout page of Newegg website that captured payment information of customers making purchasing on the site and then send it to a remote server.

"The skimmer code [used in the Newegg breach] is recognizable from the British Airways incident, with the same basecode," RiskIQ researchers said.

https://thehackernews.com/2018/09/newegg-credit-card-hack.html

Valószínű nem volt nehéz célpont: https://twitter.com/Viss/status/1042453549806870528

[törölve]