Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux
In questo articolo risolveremo il 25 ° compito dal sito pwnable.kr.

informazioni organizzativeSoprattutto per coloro che vogliono imparare qualcosa di nuovo e svilupparsi in una qualsiasi delle aree dell'informazione e della sicurezza informatica, scriverò e parlerò delle seguenti categorie:

  • PWN;
  • crittografia (Crypto);
  • tecnologie di rete (Rete);
  • inverso (Ingegneria inversa);
  • steganografia (Stegano);
  • ricerca e sfruttamento delle vulnerabilità WEB.

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

In modo che tu possa scoprire nuovi articoli, software e altre informazioni, ho creato Canale Telegram и gruppo per discutere di eventuali problemi nell'area di IIKB. Anche le vostre richieste personali, domande, suggerimenti e raccomandazioni Guardo e rispondo a tutti..

Tutte le informazioni sono fornite solo a scopo didattico. L'autore di questo documento non si assume alcuna responsabilità per eventuali danni causati a chiunque a seguito dell'utilizzo delle conoscenze e dei metodi ottenuti a seguito dello studio di questo documento.

Risolvere il compito OTP

Continuiamo con la seconda sezione. Dirò subito che è più difficile del primo, ma questa volta non forniscono il codice sorgente del programma. Non dimenticare la discussione qui (https://t.me/RalfHackerPublicChat) e qui (https://t.me/RalfHackerChannel). Iniziamo.

Fare clic sull'icona con la firma otp. Ci viene fornito un indirizzo e una porta a cui connetterci.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Ci colleghiamo e ci guardiamo intorno sul server.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Il flag che non possiamo leggere è il programma e il suo codice sorgente. Vediamo la fonte.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Riprendiamolo. Il programma accetta una password come argomento.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Inoltre, nella variabile otp vengono memorizzati 16 byte casuali.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Un file con un nome casuale viene creato nella cartella tmp (i primi 8 byte sono otp) e vi vengono scritti 8 byte casuali (i secondi 8 byte sono otp).

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

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

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

C'è una vulnerabilità qui. 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, la password verrà confrontata con 0. Puoi farlo in questo modo.

# ulimit -f 0

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Ora eseguiamo il programma.

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Otteniamo un errore. Non importa, può essere elaborato utilizzando lo stesso pitone.

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

Risolvere il compito con pwnable.kr 25 - otp. Limite dimensione file Linux

Otteniamo la bandiera ei nostri facili 100 punti. E continuiamo: nel prossimo articolo toccheremo il Web. Puoi unirti a noi a Telegram.

Fonte: habr.com

Aggiungi un commento