Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux
I den här artikeln kommer vi att lösa den 25:e uppgiften från sajten pwnable.kr.

organisationsinformationSpeciellt för de som vill lära sig något nytt och utvecklas inom något av områdena information och datorsäkerhet kommer jag att skriva och prata om följande kategorier:

  • PWN;
  • kryptografi (Crypto);
  • nätverksteknik (nätverk);
  • reverse (reverse engineering);
  • steganografi (Stegano);
  • sökning och utnyttjande av WEB-sårbarheter.

Dessutom kommer jag att dela med mig av min erfarenhet inom datorforensik, analys av skadlig programvara och firmware, attacker på trådlösa nätverk och lokala nätverk, pentesting och skrivning av exploits.

För att du ska kunna ta reda på om nya artiklar, programvara och annan information skapade jag kanal i Telegram и grupp för att diskutera eventuella frågor i området IIKB. Även dina personliga önskemål, frågor, förslag och rekommendationer Jag ska ta en titt och svara alla..

All information tillhandahålls endast i utbildningssyfte. Författaren till detta dokument tar inget ansvar för eventuella skador som orsakats någon som ett resultat av användning av kunskap och metoder som erhållits som ett resultat av att studera detta dokument.

Löser otp-uppgiften

Vi fortsätter med det andra avsnittet. Jag kommer genast att säga att det är svårare än den första, men den här gången tillhandahåller de inte programmets källkod. Glöm inte diskussionen här (https://t.me/RalfHackerPublicChat) och här (https://t.me/RalfHackerChannel). Låt oss börja.

Klicka på ikonen med signaturen otp. Vi får en adress och en port att ansluta till.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Vi ansluter och tittar runt på servern.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Flaggan vi inte kan läsa är programmet och dess källkod. Låt oss se källan.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Låt oss plocka upp det. Programmet tar ett lösenord som ett argument.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Vidare lagras slumpmässiga 16 bytes i otp-variabeln.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

En fil med ett slumpmässigt namn skapas i tmp-mappen (de första 8 byten är otp) och slumpmässiga 8 byte skrivs till den (de andra 8 byten är otp).

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Av någon anledning läses värdet på den skapade filen och jämförs med det angivna lösenordet.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Det finns en sårbarhet här. Det består i att det genererade numret sparas mellanliggande i en fil. Vi kan begränsa filstorleken till till exempel till 0, sedan jämförs 0 med lösenordet när du skriver och läser. Du kan göra så här.

# ulimit -f 0

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Låt oss nu köra programmet.

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Vi får ett fel. Det spelar ingen roll, det kan bearbetas med samma python.

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

Löser uppgiften med pwnable.kr 25 - otp. Filstorleksgräns för Linux

Vi får flaggan och våra lätta 100 poäng. Och vi fortsätter: i nästa artikel kommer vi att beröra webben. Du kan gå med oss ​​på Telegram.

Källa: will.com

Lägg en kommentar