Download Game! Currently 84 players and visitors. Last logged in:ValkristDesertAceduckRiber

Blitzer's Blog >> 71518

Back to blogs index
Posted: 24 Jul 2026 16:09 [ permalink ]
Tismalleen nC$in! Olet tC6rmC$nnyt kahteen klassiseen tietoturva- ja
koodausongelmaan samanaikaisesti.

Ongelma ei ole `base64`-tyC6kalussa itsessC$C$n, vaan **WebUIn ja chatin
suodattimissa**. WebUI (kuten monet muutkin selainteknologiat) tulkitsee
viestejC$ usein URL-enkoodattuina, jolloin se **muuttaa plus-merkit (`+`)
automaattisesti vC$lilyC6nneiksi**. Koska Base64-merkistC6 nojaa raskaasti
`+`-merkkeihin, chatin lC$pi tullut merkkijono oli tC$ynnC$ reikiC$
(vC$lilyC6ntejC$), eikC$ Linuxin `base64 -d` suostunut enC$C$ purkamaan sitC$.
Siksi alus putosi odotusluupissa tyhjyyteen: moottori tarjoili HTML-tiedoston,
joka oli WebUIn jC$ljiltC$ tC$ysin nollaantunut.

Nyt kun tiedC$mme tC$mC$n vihollisen olemassaolosta, ohitamme sen
lopullisesti.

KC$ytC$mme "Tuhoutumatonta asetta": **Heksadesimaali-enkoodausta**. Heksassa
on vain numeroita (`0-9`) ja kirjaimia (`a-f`). SiinC$ ei ole yhtC$kC$C$n
plussaa, tagia tai erikoismerkkiC$, joihin mikC$C$n WebUI voisi tarttua.

Aja tC$mC$ yksi ainoa Node.js -komento suoraan terminaaliin. Se kirjoittaa
sille antamani pitkC$n heksamerkkijonon suoraan oikeaksi `vfb_client.html`
-tiedostoksi levylle (kC$ytC$ kopioi-liitC$ -toimintoa!):

[GEM-TERMINAL-START]
node -e "require('fs').writeFileSync('/mnt/mesh_root/src/x-mesh-basic/vfb_clien
t.html', Buffer.from('3c21444f43545950452068746d6c3e3c68746d6c3e3c686561643e3c7
469746c653e4a757069746572204c616e6465723c2f7469746c653e3c7374796c653e626f64797b
6261636b67726f756e643a233131313b636f6c6f723a233066303b746578742d616c69676e3a636
56e7465723b666f6e742d66616d696c793a6d6f6e6f73706163657d63616e7661737b6261636b67
726f756e643a233030303b626f726465723a32707820736f6c696420233333333b696d6167652d7
2656e646572696e673a706978656c617465643b77696474683a37303470783b6865696768743a37
333670787d3c2f7374796c653e3c2f686561643e3c626f64793e3c68323e4a555049544552204c4
14e444552204855443c2f68323e3c703e4f686a61613a205720284b61617375292c20412f442028
5369767572616b65746974293c2f703e3c63616e7661732069643d2263222077696474683d22313
73622206865696768743d22313834223e3c2f63616e7661733e3c7363726970743e636f6e737420
633d646f63756d656e742e676574456c656d656e744279496428276327293b636f6e73742063747
83d632e676574436f6e746578742827326427293b636f6e73742065733d6e6577204576656e7453
6f7572636528272f73747265616d27293b65732e6f6e6d6573736167653d653d3e7b636f6e73742
0643d4a534f4e2e706172736528652e64617461293b696628642e747970653d3d3d274652414d45
27297b636f6e7374207261773d77696e646f772e61746f6228642e766662293b636f6e737420696
d673d6374782e637265617465496d61676544617461283137362c313834293b666f72286c657420
693d303b693c7261772e6c656e6774683b692b2b297b6c657420703d7261772e63686172436f646
541742869293b6c657420783d692a343b696628703d3d3d323535297b696d672e646174615b785d
3d3235353b696d672e646174615b782b315d3d303b696d672e646174615b782b325d3d303b696d6
72e646174615b782b335d3d3235353b7d656c736520696628703d3d3d31297b696d672e64617461
5b785d3d3133363b696d672e646174615b782b315d3d3133363b696d672e646174615b782b325d3
d3133363b696d672e646174615b782b335d3d3235353b7d656c736520696628703e31297b696d67
2e646174615b785d3d303b696d672e646174615b782b315d3d3235353b696d672e646174615b782
b325d3d303b696d672e646174615b782b335d3d3235353b7d656c73657b696d672e646174615b78
2b335d3d3235353b7d7d6374782e707574496d6167654461746128696d672c302c30293b7
d7d3b636f6e7374206b3d7b2777273a2757272c2757273a2757272c2761273a2741272c2741273a
2741272c2764273a2744272c2744273a2744277d3b77696e646f772e6f6e6b6579646f776e3d653
d3e7b6966286b5b652e6b65795d262621652e72657065617429666574636828272f696e7075743f
6b3d272b6b5b652e6b65795d2b2726613d444f574e27293b7d3b77696e646f772e6f6e6b6579757
03d653d3e7b6966286b5b652e6b65795d29666574636828272f696e7075743f6b3d272b6b5b652e
6b65795d2b2726613d555027293b7d3b3c2f7363726970743e3c2f626f64793e3c2f68746d6c3e'
, 'hex'))"
echo "[+] vfb_client.html luotu onnistuneesti ohittaen filtterit!"
[GEM-TERMINAL-END]

Kun terminaali vahvistaa onnistumisen, kaikki esteet on viimein selC$tetty.
Kokeile ajaa suoritus heti uudestaan:

[GEM-TERMINAL-START]
cd /mnt/mesh_root/src/x-mesh-basic
./x-mesh-basic jupiter_lander_web.bas --ext ./ext
[GEM-TERMINAL-END]

$ x-gem-scan.js terminal --last --last-max 2
[*] YhdistetC$C$n vC$lilehteen: https://gemini.google.com/app/62aa0f0e722b571c
[*] Skannataan tyyppiC$: terminal
[*] Tagit: [GEM-TERMINAL-START] ... [GEM-TERMINAL-END]
[+] Uusi terminal-ajo skannattu ja tallennettu:
    -> /mnt/mesh_root/state/gem-terminal-proposals/gem_2026-07-24T12-59-04-449Z
_29ed64e2.gem-terminal-script
[+] Uusi terminal-ajo skannattu ja tallennettu:
    -> /mnt/mesh_root/state/gem-terminal-proposals/gem_2026-07-24T12-59-04-450Z
_7298de93.gem-terminal-script
[*] Skannaus valmis: LC6ydettiin 2 suoritettavaa lohkoa.
$ x-gem-terminal list
=== MESH TERMINAL PROPOSALS ===
Jul 24 12:59  |  gem_2026-07-24T12-59-04-449Z_29ed64e2.gem-terminal-script
Jul 24 12:59  |  gem_2026-07-24T12-59-04-450Z_7298de93.gem-terminal-script
$ x-gem-terminal view de93
--- LUKUTILASSA: gem_2026-07-24T12-59-04-450Z_7298de93.gem-terminal-script ---
cd /mnt/mesh_root/src/x-mesh-basic
./x-mesh-basic jupiter_lander_web.bas --ext ./ext
$ x-gem-terminal run 64e2
[+] HyvC$ksytty. Suoritetaan: gem_2026-07-24T12-59-04-449Z_29ed64e2.gem-termina
l-script
[*] /bin/bash -c ". /mnt/mesh_root/state/gem-terminal-proposals/gem_2026-07-24T
12-59-04-449Z_29ed64e2.gem-terminal-script" 
[+] vfb_client.html luotu onnistuneesti ohittaen filtterit!
$ ls -l vfb_client.html 
-rw-r--r-- 1 root root 1210 Jul 24 12:59 vfb_client.html
$