Dieses Mal werde ich das Setodanote CTF -Web ausprobieren.
"setodanote ctf: https://ctfexh.setodanote.net/about "
Der Setodanote CTF ist ein dauerhaftes CTF, das 2021 stattfand, und in Bezug auf Schwierigkeitsgrad entspricht es einem Einführungsstufe.
Wenn jemand daran denkt, CTF zu gründen, werden Sie es genießen, wenn Sie es versuchen!




Körper

Als ich die obige URL öffnete, wurde ich auf den folgenden Bildschirm gebracht.

Während ich den Körper schaute, weil der Titel Körper ist, fand ich eine Flagge, die kommentiert wurde!

Antwort
Flag {Abschnitt_9}
Kopfball

Als ich die obige URL öffnete, bekam ich einen solchen Bildschirm:

Als nächstes schaute ich den Kopfball hoch und als ich eine Flagge fand!

Antwort
Flag {Just_a_whisper}
puni_puni

Dieser ist etwas Besonderes. Es ist ein Punycode -Problem.
Punycode ist eine der Codierungsmethoden, die Unicode -Zeichenfolgen in Alphabete, Zahlen und Bindestriche umwandeln, damit internationalisierte Domain -Namen in vorhandenen DNs verwendet werden können!

Sie können es auf der Website wie oben konvertieren.
Wie auch immer, ich habe versucht, es zu konvertieren.
Die Flaggen sind San, San, PE, U, N, Y, C, O, Dy, Yon, Yon, Yon, Yon, Katakana Notation in Kleinbuchstaben, während die Hiragana-Notation in halbbreiten Ziffernnummern ist. Bitte entfernen Sie die Flags, da Kommas abgrenzte Zeichen sind.
Es scheint, dass Sie eine Flagge erstellen sollten, die auf diesem Satz basiert.
Antwort
Flag {33PunyCode44}
Fehler

Es scheint, dass vertrauliche Informationen von der erstellten Site abgestellt wurden.

Zum Glück gibt er uns einen höflichen Hinweis: "Hier ist alles offen. Wenn Sie ihm folgen, werden Sie sicher finden, wonach Sie suchen."
Nach den oben genannten zu urteilen, dachte ich, es sei kein Verzeichnis.
Schauen wir uns vorerst die sichtbaren Verzeichnisse an. "/Assets/" und "Images/".
Ich habe einen Blick auf "/assets/" geworfen, aber es scheint, dass es keine Informationen darüber gibt.

Es gab eine Flagge in "/Images/"!

Antwort
Flag {you_are_the_laughing_man, _aren't_you?}
tkys_royale

Als ich die obige URL öffnete, bekam ich ein Anmeldeformular.

Während ich mich die Quelle ansah, entdeckte ich einen Testbenutzer.

Als ich mich angemeldete, wurde mir gesagt: "Sie müssen als Administrator angemeldet werden, um das Flag zu finden."
Sie können sich wahrscheinlich mit dem Benutzernamen "Addmin" anmelden.

Nur um sicher zu sein, ich habe versucht, mich mit "Admin: admin" oder "admin: pass123" anzumelden, aber es hat nicht funktioniert.
Versuchen Sie als nächstes die SQL -Injektion.
admin: 'oder 1 = 1; #
Ich konnte mich anmelden und die Flagge bekommen!

Antwort
Flag {sqli_with_b1rds_in_a_b34utiful_landscape}
Geschätzt

Es scheint, dass vertrauliche Informationen im Blog durchgesickert wurden. Als ich mir die URL ansah, sah ich den Blog.

Ich habe eindeutig einen Entschuldigungsartikel für diesen Vorfall gefunden.
In Bezug auf den Inhalt scheint das Bild eine Flagge zu geben.

Die Bildnamenkonvention scheint "yyyymmdd001b.jpg" zu sein.

Die unangemessenen Bilder sind einen Tag vor dem 3. Juni 2021, also werden sie 2. Juni 2021 sein.
Dieses Bild sollte wahrscheinlich "20210602001b.jpg" sein.
Ich habe es geschafft, das Bild zu bekommen.

Ich habe von hier aus viel gesucht, aber als ich den PC -Abschnitt des Bildes vergrößerte, fand ich eine Flagge. . .
Antwort
flag {the_flag_lhould nicht_like_to_end_up_in_other_peoples_photos}
Mx.flag

Die obige URL hat eine Brief-ähnlicher Website.
Nachdem ich verschiedene Dinge angesehen hatte, bemerkte ich, dass Favicon.png beladen war.
Wenn Sie jedoch genau hinschauen, wird das Favicon nicht angezeigt, sodass es misstrauisch aussieht.

Als ich die Meta -Informationen mithilfe von Exiftool überprüfte, scheint es, dass das Bild nur ein TXT war.
┌── (hacklab㉿hackLab)-[~] └─ $ exiftool favicon.png exiftool Versionsnummer: 12.65 Dateiname: favicon.png Verzeichnis :. File Size: 122 bytes File Modification Date/Time: 2023:08:24 09:49:22+09:00 File Access Date/Time: 2023:08:24 09:49:22+09:00 File Inode Change Date/Time: 2023:08:24 09:49:28+09:00 File Permissions: -rw-r--r-- File Type: TXT File Type Extension: txt MIME Typ: Text/Klarte MIME CODING: US-ASCII Newlines: Windows CRLF-Zeilenzahl: 3 WORD COUNT: 10
Als ich den Inhalt überprüfte, konnte ich die Flagge finden.
┌── (hacklab㉿hacklab)-[~] └─ $ cat favicon.png // flag {mr_flag_hiding_in_the_favicon} console.table ({ort: "favicon.png", png: "false", arke: "true:"
Antwort
Flag {mr_flag_hiding_in_the_favicon}}
Umleiten

Es gab eine Blog -Site. Es heißt Redirect, also werde ich mich mit Umleitungen befassen.

<script>!function(){var ref = document.referrer;var domain = ref.match(/^http([s]?):\/\/([a-zA-Z0-9-_\.]+)(:[0-9]+)?/)[2];if(domain == "www.google.com" || domain == "www.google.co.jp" ){location.href = atob('Li9iV0ZzYTJsMC5odG1s');}}();</script>
Ich fand, dass das Dekodieren in Base64 zu "./BWFSA2L0.html" weiterleitet.

Es ist schwierig, tatsächlich umzuleiten, also werde ich API -Tester verwenden.

<!DOCTYPE HTML><html><head><title>Start</title><noscript><meta http-equiv=refresh content="1; URL=./noscript.html"></noscript><script> !function() { var params = new URL(window.location.href).searchParams; if(Array.from(params).length > 0){ location.href = './bm9mbGFn/?'+params; }else{ location.href = './bWFsa2l0.html?callback=wantFlag&data1=2045&data2=0907&data3=BiancoRoja&data4=1704067200'; } }(); </script></head><body><p>Finden Sie die Flagge heraus.</p></body></html>
Als ich den Inhalt des HTML überprüfte, zu dem ich umgeleitet wurde, scheint ich weiter umzuleiten.
if (array.from (params) .Length> 0) {location.href = './bm9mbgfn/?'+params; } else {location. }
Soweit Sie oben sehen können, sollten Sie wie folgt eine Anfrage stellen:
./bm9mbgfn/?callback=wantflag&data1=2045&data2=0907&data3=biancoroja&data4=1704067200
Lassen Sie uns eine Anfrage stellen.

<html><head><title>Nächste</title><noscript><meta http-equiv=refresh content="1; URL=../noscript.html"></noscript><script> !function() { var params = new URL(window.location.href).searchParams; location.href = '../bmV4dG5leHQ/?'+params }(); </script></head><body><p>Keine Flagge hier. Gehen Sie als nächstes.</p></body></html>
Es scheint erneut umgeleitet zu werden.
Die Parameter werden mit denselben Parametern auf "../BMV4DG5LEHQ/" umgeleitet.

<html><head><title>Nächster Next</title><noscript><meta http-equiv=refresh content="1; URL=../noscript.html"></noscript><script> !function() { var params = new URL(window.location.href).searchParams; location.href = '../b25lLXR3by10aHJlZQ/?'+params }(); </script></head><body><p>Keine Flagge auch hier. Gehen Sie als nächstes.</p></body></html>
Es scheint, dass es immer noch umgeleitet wird.
Wir werden das System so umleiten, wie wir es bisher getan haben.

<html><head><title>Verzweigungspunkt</title><noscript><meta http-equiv=refresh content="1; URL=../noscript.html"></noscript><script> !function() { var params = new URL(window.location.href).searchParams; if (params.get('callback') == 'getFlag') { location.href = '../dGFjaGlrb21hX2thd2FpaV95b25l/?' + params; }else{ location.href = '../ZGFtbXlmbGFn/?' + params; } }(); </script></head><body><p>Sie benötigen die richtigen Parameter, um die Flagge zu erhalten.</p></body></html>
if (params.get ('callback') == 'getflag') {location.href = '../dgfjaglrb21hx2thd2fpav95b25l/?' + Parameter;
Ich möchte das eingeben, also werde ich den Rückrufparameter in Getflag umwandeln und ihn umleiten lassen.

<html><head><title>Geh! Geh! Geh! Geh!</title><noscript><meta http-equiv=refresh content="1; URL=../noscript.html"></noscript><script> !function() { var params = new URL(window.location.href).searchParams; var callback = params.get('callback'); var data1 = params.get('data1'); var data2 = params.get('data2'); var data3 = params.get('data3'); var data4 = params.get('data4'); if (callback == 'getFlag' && data1 == "2045" && data2 =="0907" && data3 == "BiancoRoja" && data4 =="1704067200") { location.href = 'https://noisy-king-d0da.setodanote.net/?'+params; }else{ location.href = '../ZGFtbXlmbGFn/hint.html?'+params; } }(); </script></head><body><p>Ja! Gehen Sie als nächstes.</p></body></html>
Dies scheint der letzte zu sein. Lassen Sie uns die Parameter so umleiten, wie sie sind.
if (callback == 'getflag' && data1 == "2045" && data2 == "0907" && data3 == "biancoroja" && data4 === "1704067200") {location.href = 'https:/noisy-king-d0da.seta.seta.

<!DOCTYPE html><body><h1>Gute Arbeit !!</h1><p> Flag {Analyz1ng_bad_red1Rects}</p></body>
Ich habe die Flagge!
Antwort
Flag {Analyz1ng_bad_red1Rects}
Zusammenfassung
Diesmal habe ich das Setodanote CTF -Web ausprobiert!
Da es für Anfänger ist, war es eher wie das Lösen von Rätseln als bei Wissen, aber ich denke, es ist ein lustiger erster Schritt, um CTF zu starten.
Referenzen und Websites
-