Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux
In questo articolo risolveremo il 25° incarico dal sito pwnable.kr.

Informazioni organizzativeSpecialmente per chi desidera imparare qualcosa di nuovo e crescere in qualsiasi campo della sicurezza informatica, scriverò e parlerò delle seguenti categorie:

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

Inoltre, condividerò la mia esperienza in informatica forense, analisi di malware e firmware, attacchi su reti wireless e reti locali, esecuzione di pentest e scrittura di exploit.

Per rimanere aggiornato 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, suggerimenti e raccomandazioni saranno esaminate personalmente e risponderò a tutti..

Tutte le informazioni sono presentate esclusivamente a scopo educativo. L'autore di questo documento non si assume alcuna responsabilità per eventuali danni causati a chiunque dall'uso delle conoscenze e dei metodi acquisiti attraverso lo studio di questo documento.

Soluzione del compito otp

Continuiamo con la seconda sezione. Dico subito che è più difficile della prima, ma questa volta forniscono 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 l'etichetta otp. Ci vengono forniti l'indirizzo e la porta per connetterci.

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Ci connettiamo e ci guardiamo intorno sul server.

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

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

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Analizziamolo. Il programma accetta come argomento la password.

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Successivamente, nella variabile otp viene salvato un byte casuale di 16.

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

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

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

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

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Qui si presenta la vulnerabilità. Essa consiste nel salvataggio temporaneo del numero generato in un file. Possiamo limitare la dimensione del file, ad esempio a 0, in modo che durante la scrittura e la lettura con la password venga confrontato 0. Possiamo farlo in questo modo.

# ulimit -f 0

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Ora avviamo il programma.

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Ricevi un errore. Nessun problema, poiché può essere gestito con lo stesso Python.

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

Soluzione del compito su pwnable.kr 25 — otp. Limite di dimensione del file in Linux

Otteniamo il 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