Visi projektai

Saugumo laboratorija Vue + webedge-db

Praktinės saugumo laboratorijos Vue 3 + webedge-db stekui — įskaitoma tik už tikrą eksploitą.

Vue 3webedge-dbSecurity labs
WebEdge Hackbox ekrano vaizdasDev-story
01

Iššūkis

Saugumo mokymai dažnai užskaito laborą pagal aprašymą, tad gali „išspręsti" niekada neįvykdęs eksploito, o bendros akademijos nedengia Vue/webedge-db specifikos.

02

Ką darėme

Vietinė akademija Vue 3 + webedge-db + Tailwind stekui, kur laboras užskaitomas tik kai eksploitas realiai suveikia: XSS ir `javascript:` URL tikrai vykdomi naršyklėje (beacon pagauna alert/print ir `window.__hackbox.fire()`), SSRF eina per netikrą vidinį tinklą su tikru URL sprendikliu ir egress sąrašu, o IDOR, over-posting, JWT alg=none, prototype pollution ir kt. aptinkami automatiškai iš realaus užklausos rezultato; bandymai, sesijos ir užuominos rašomi į webedge-db, o Vitest dengia detektorius.

03

Rezultatas

Kiekviena OWASP Top 10 (2021) kategorija turi bent vieną laborą, patvirtintą tikru, atkartojamu eksploitu, o ne raktažodžiais ataskaitoje — taikinys yra paties steko Vue ir webedge-db silpnos vietos.

Dev-story straipsnis

Kaip buvo kuriamas projektas: Saugumo laboratorija Vue + webedge-db

Dažniausiai saugumo mokymai užskaito laborą pagal aprašymą, tad gali praeiti aprašydamas eksploitą, kurio niekada nepavykdei. O bendros akademijos moko prieš bendras programas, ne prieš tikslų steką, ant kurio statome. Hackbox yra saugumo akademija Vue 3 + webedge-db stekui, kur laboras skaičiuojamas tik kai eksploitas realiai suveikia.

Skyriai

05

Moduliai

05

Stackas

Vue 3 + webedge-db

01

Kodėl projektas atsirado

Saugumo mokymai dažnai užskaito laborą pagal aprašymą, tad gali „išspręsti" niekada neįvykdęs eksploito, o bendros akademijos nedengia Vue/webedge-db specifikos.

Dažniausiai saugumo mokymai užskaito laborą pagal aprašymą, tad gali praeiti aprašydamas eksploitą, kurio niekada nepavykdei. O bendros akademijos moko prieš bendras programas, ne prieš tikslų steką, ant kurio statome. Hackbox yra saugumo akademija Vue 3 + webedge-db stekui, kur laboras skaičiuojamas tik kai eksploitas realiai suveikia.

02

Ką sukūrėme

Vietinė akademija Vue 3 + webedge-db + Tailwind stekui, kur laboras užskaitomas tik kai eksploitas realiai suveikia: XSS ir `javascript:` URL tikrai vykdomi naršyklėje (beacon pagauna alert/print ir `window.__hackbox.fire()`), SSRF eina per netikrą vidinį tinklą su tikru URL sprendikliu ir egress sąrašu, o IDOR, over-posting, JWT alg=none, prototype pollution ir kt. aptinkami automatiškai iš realaus užklausos rezultato; bandymai, sesijos ir užuominos rašomi į webedge-db, o Vitest dengia detektorius.

Vietinė akademija pagal geriausius praktinius kursus: mokymosi keliai, temų žemėlapis, laborų aprašai, sesijos laikmatis, užuominos, užrašinė, markdown ataskaitos eksportas, mystery režimas, praktikos egzaminas ir Hall of Fame. Bet esmė yra solved-by-exploit: XSS ir javascript: URL tikrai vykdomi naršyklėje (beacon pagauna alert/print ir window.__hackbox.fire()), SSRF eina per netikrą vidinį tinklą su tikru URL sprendikliu ir egress sąrašu, pertikrinamu kiekviename žingsnyje, o IDOR, over-posting, JWT alg=none, prototype pollution ir kita aptinkama automatiškai iš tikro užklausos rezultato.

03

Pagrindiniai moduliai ir vartotojo kelias

M01

Laboras pažymimas išspręstu pagal užfiksuotą faktą (bandymo rezultatas yra solved), ne pagal raktažodžius aprašyme — aprašymas lieka pasirenkama medžiaga ataskaitai.

M02

Eksploitai tikri ir deterministiniai: JWT alg=none realiai dekoduoja ir tikrina, silpnas atstatymo tokenas yra tikras LCG, webhook parašai realiai HMAC tikrinami, o prototype pollution realiai užteršia Object.prototype per nesaugų deep-merge ir tuoj išvalo.

M03

SSRF nesuklastotas eilučių tikrinimais: netikras vidinis tinklas turi tikrą URL sprendiklį, vidinius endpoint su paslaptimis, redirect sekimą ir egress sąrašą, pertikrinantį kiekvieną žingsnį.

M04

Aprėptis sąžininga: kiekviena OWASP Top 10 (2021) kategorija turi bent vieną laborą su tikru eksploitu ir autodetekcija — o kur kategorijos negalima teisingai modeliuoti naršyklės smėlio dėžėje (pasenę komponentai / SCA), repo tai pasako tiesiai, o ne apsimeta.

M05

Visa tai specifiška stekui: silpnos vietos yra Vue DOM, navigacija ir būsena (v-html, router redirect, dinaminiai komponentai, localStorage auth vartai) ir webedge-db viešos funkcijos, action, saugykla ir scheduler — tiksliai ten, kur mūsų programos galėtų suklysti.

04

Architektūra ir technologiniai sprendimai

Sukurta su Vue 3, webedge-db, Security labs.

Vue 3 (script setup) + webedge-db + Tailwind v4; schema laborų bandymams, sesijoms ir mokinio progresui; dalis laborų turi savus tikslinius appsus, kiti dalijasi rendereriu su ta pačia tikra autodetekcija; Vitest dengia saugumo pagalbininkus, tikrintuvus, katalogo vientisumą, eksploito autodetekcijos variklį, SSRF netikrą tinklą ir e2e tikslų prasukimus; diegta ant Cloudflare Pages su mūsų backendu.

05

Rezultatas ir pamokos

Kiekviena OWASP Top 10 (2021) kategorija turi bent vieną laborą, patvirtintą tikru, atkartojamu eksploitu, o ne raktažodžiais ataskaitoje — taikinys yra paties steko Vue ir webedge-db silpnos vietos.

Saugumo akademija, kur negali praeiti laboro, kurio realiai neįveikei, nutaikyta tiesiai į Vue + webedge-db steką, kurį leidžiame — tad praktika prieš mūsų pačių tikras silpnas vietas, ne prieš vadovėlį.

Toliau skaityti

Šie projektai turi artimų technologinių arba produkto sprendimų, todėl padeda matyti, kaip tas pats principas veikia kitame kontekste.

Turite panašią idėją?

Aptarti projektą