Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux
Në këtë artikull do të zgjidhim detyrën e 25-të nga faqja pwnable.kr.

informacion organizativSidomos për ata që duan të mësojnë diçka të re dhe të zhvillohen në çdo fushë të informacionit dhe sigurisë kompjuterike, unë do të shkruaj dhe flas për kategoritë e mëposhtme:

  • PWN;
  • kriptografia (Crypto);
  • teknologjitë e rrjetit (Rrjeti);
  • e kundërta (Inxhinieri e kundërt);
  • steganografi (Stegano);
  • kërkimi dhe shfrytëzimi i dobësive të WEB-it.

Përveç kësaj, unë do të ndaj përvojën time në mjekësinë ligjore kompjuterike, analizën e malware dhe firmware, sulmet në rrjetet pa tel dhe rrjetet lokale, kryerjen e pentesteve dhe shfrytëzimet e shkrimit.

Kështu që ju mund të mësoni për artikuj të rinj, softuer dhe informacione të tjera, kam krijuar Kanali Telegram и grup për të diskutuar çdo çështje në zonën e IIKB. Gjithashtu kërkesat, pyetjet, sugjerimet dhe rekomandimet tuaja personale Unë do të hedh një sy dhe do t'u përgjigjem të gjithëve..

I gjithë informacioni jepet vetëm për qëllime edukative. Autori i këtij dokumenti nuk merr përsipër asnjë përgjegjësi për çdo dëm të shkaktuar dikujt si rezultat i përdorimit të njohurive dhe metodave të marra si rezultat i studimit të këtij dokumenti.

Zgjidhja e detyrës otp

Le të vazhdojmë me pjesën e dytë. Do të them menjëherë se është më e ndërlikuar se e para, por këtë herë ata nuk japin kodin burimor të programit. Mos harroni për diskutimin këtu (https://t.me/RalfHackerPublicChat) dhe këtu (https://t.me/RalfHackerChannel). Le të fillojmë.

Klikoni në ikonën me nënshkrimin otp. Na jepet një adresë dhe port për t'u lidhur.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Ne lidhemi dhe shikojmë rreth serverit.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Një flamur që nuk mund ta lexojmë, një program dhe kodin burimor të tij. Le të shohim burimin.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Le ta zgjidhim. Programi merr një fjalëkalim si argument.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Më pas, 16 bajt të rastësishëm ruhen në variablin otp.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

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

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

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

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Këtu hyn cenueshmëria. Ai konsiston në ruajtjen e ndërmjetme të numrit të gjeneruar në një skedar. Ne mund të kufizojmë madhësinë e skedarit, për shembull, në 0, atëherë kur shkruani dhe lexoni, 0 do të krahasohet me fjalëkalimin. Kjo mund të bëhet kështu.

# ulimit -f 0

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Tani le të ekzekutojmë programin.

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Ne marrim një gabim. Nuk ka rëndësi, mund të përpunohet duke përdorur të njëjtin python.

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

Zgjidhja e detyrës me pwnable.kr 25 - otp. Kufiri i madhësisë së skedarit Linux

Ne marrim flamurin dhe 100 pikët tona të lehta. Dhe vazhdojmë: në artikullin tjetër do të prekim Ueb-in. Mund të na bashkoheni në Telegram.

Burimi: www.habr.com

Shto një koment