Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux
In questo articolo risolveremo il 25° compito del sito pwnable.kr.

Informazioni organizzativeSpecialmente per coloro che vogliono apprendere qualcosa di nuovo e crescere in qualsiasi settore della sicurezza informatica e informativa, scriverò e parlerò delle seguenti categorie:

  • PWN;
  • criptografia (Crypto);
  • tecnologie di rete (Network);
  • reverse (Reverse Engineering);
  • steganografia (Stegano);
  • ricerca e sfruttamento di vulnerabilità WEB.

In aggiunta a questo, condividerò la mia esperienza in informatica forense, analisi di malware e firmware, attacchi a reti wireless e LAN, conduzione di pentest e scrittura di exploit.

Affinché possiate rimanere aggiornati su nuovi articoli, software e altre informazioni, ho creato un canale su Telegram e un gruppo per discutere qualsiasi domanda nel campo della sicurezza informatica. Inoltre, le vostre richieste personali, domande, proposte e raccomandazioni le esaminerò personalmente e risponderò a tutti.

Tutte le informazioni sono presentate esclusivamente a scopi educativi. L'autore di questo documento non si assume alcuna responsabilità per eventuali danni causati a chiunque in seguito all'uso delle conoscenze e dei metodi acquisiti tramite questo documento.

Soluzione per il compito otp

Continuiamo con la seconda sezione. Dico subito che è più difficile della prima, ma questa volta ci danno il codice sorgente del programma. Non dimentichiamo di discutere qui (https://t.me/RalfHackerPublicChat) e qui (https://t.me/RalfHackerChannel). Iniziamo.

Clicchiamo sull'icona con la scritta otp. Ci viene dato un indirizzo e una porta per connetterci.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Ci connettiamo e ci guardiamo intorno sul server.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

La flag, che non possiamo leggere, è il programma e il suo codice sorgente. Diamo un'occhiata al sorgente.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Analizziamo il codice. Il programma accetta come argomento una password.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Successivamente, nella variabile otp vengono salvati 16 byte casuali.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Nella cartella tmp viene creato un file con un nome casuale (i primi 8 byte di otp) e in esso vengono scritti 8 byte casuali (gli ultimi 8 byte di otp).

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Per qualche motivo, dal file creato viene letto un valore e confrontato con la password inserita.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Qui si trova la vulnerabilità. Essa consiste nel salvataggio intermedio del numero generato in un file. Possiamo limitare la dimensione del file, ad esempio a 0, quindi durante la scrittura e la lettura con la password si confronterà 0. Possiamo farlo in questo modo.

# ulimit -f 0

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Ora avviamo il programma.

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Riceviamo un errore. Non è un problema, può essere gestito utilizzando lo stesso Python.

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

Soluzione dell'incarico su pwnable.kr 25 — otp. Limiti del file system in Linux

Otteniamo la flag e i nostri facili 100 punti. E continuiamo: nel prossimo articolo parleremo di Web. Puoi unirti a noi in Telegram.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster