Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux
Në këtë artikull do të zgjidhim detyrën e 25-të nga siti pwnable.kr.

Informacion organizativNë veçanti për ata që dëshirojnë të mësojnë diçka të re dhe të zhvillohen në cilindo nga fushat e sigurisë informacionit dhe kompjuterike, unë do të shkruaj dhe tregoj për kategoritë e mëposhtme:

  • PWN;
  • kriptografia (Crypto);
  • teknologjitĂ« rrjetore (Network);
  • riversimi (Reverse Engineering);
  • steganografia (Stegano);
  • kĂ«rkimi dhe shfrytĂ«zimi i dobĂ«sive WEB.

Përveç kësaj, do të ndaj përvojën time në kriminalistikën informatike, analizën e malware dhe firmware, sulmet në rrjetet wireless dhe rrjetet lokale, kryerjen e testeve të penetrimit dhe shkruarjen e eksploiteve.

Që të mund të mësoni për artikuj të rinj, softuer dhe informacion tjetër, kam krijuar , ku rregullisht tregoj për fluturimet e mia dhe një grup për diskutimin e çdo pyetjeje në fushën e SiIK. Gjithashtu, kërkesat tuaja personale, pyetje, propozime dhe rekomandime do t'i shqyrtoj personalisht dhe do t'u përgjigjem të gjithëve.

Të gjitha informacionet janë paraqitur ekskluzivisht për qëllime edukative. Autori i këtij dokumenti nuk merr asnjë përgjegjësi për ndonjë dëm të shkaktuar dikujt si pasojë e përdorimit të njohurive dhe metodave që rezultojnë nga studimi i këtij dokumenti.

Zgjidhja e detyrës otp

Të vazhdojmë me seksionin e dytë. Do ta them menjëherë se është më e vështirë se e para, por kësaj here na ofrohet kodi burimor i programit. Mos harroni për diskutimin këtu (https://t.me/RalfHackerPublicChat) dhe këtu (https://t.me/RalfHackerChannel). Le të fillojmë.

Klikojmë në ikonën me titull otp. Na jepet adresa dhe porta për lidhje.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Lidhemi dhe shohim rreth serverit.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Flagu që nuk mund ta lexojmë, programi dhe kodi burimor i tij. Le të shqyrtojmë burimin.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

E analizojmë. Programi merr si argument fjalëkalimin.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Më pas në variablën otp ruhet një numër rastësor prej 16 bajtësh.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Në dosjen tmp krijohet një skedar me emër të rastësishëm (8 bajtët e parë të otp) dhe në të shkruhen 8 bajt të rastësishëm (8 bajtët e dytë të otp).

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Për ndonjë arsye, vlera e skedarit të krijuar lexon dhe krahasohet me fjalëkalimin e futur.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Këtu është edhe vulnerabiliteti. Ai qëndron në ruajtjen ndërmjetësore të numrit të gjeneruar në skedar. Ne mund ta kufizojmë madhësinë e skedarit, për shembull deri në 0, kështu që gjatë shkruajtjes dhe leximit me fjalëkalimin do të krahasohet 0. Kjo mund të bëhet kështu.

# ulimit -f 0

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Tani le të nisim programin.

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Marrim një gabim. Nuk është problem, pasi mund ta trajtojmë atë me ndihmën e atij python-it.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Zgjidhja e detyrĂ«s nga pwnable.kr 25 — otp. Kufizimi i madhĂ«sisĂ« sĂ« skedarit nĂ« Linux

Marrim flagun dhe lehtësisht 100 pikë. Dhe vazhdojmë: në artikullin e ardhshëm do të trajtojmë Web-in. Ju mund të na bashkoheni në Telegram.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster