[CTF permanente para principiantes] Setodanote CTF Web. ¡Recomendado para obtener una sensación de CTF!

[CTF permanente para principiantes] Setodanote CTF Web. ¡Recomendado para obtener una sensación de CTF!

Esta vez, probaré la web Setodanote CTF.
"Setodanote CTF: https://ctfexh.setodanote.net/about "

El Setodanote CTF es un CTF permanente que se llevó a cabo en 2021, y en términos de dificultad, es equivalente a un nivel introductorio.
Si alguien está pensando en comenzar CTF, ¡creo que lo disfrutarás si lo intentas!

Tenga en cuenta que la explicación es spoilers.

Libros de referencia recomendados
\Amazon Prime Day ya está en marcha! /
Amazonas
Autor: Ipusiron
¥3,850 (A partir de 21:11 el 08/07/2025 | Amazon Research)
\Amazon Prime Day ya está en marcha! /
Amazonas
Autor: Justin Seitz, Autor: Tim Arnold, supervisado por: Mantani Nobutaka, Traducción: Arai Yu, Traducción: Kakara Hirosei, Traducción: Murakami Ryo
¥3,520 (A partir de las 12:26 el 07/07/2025 | Amazon Research)
\Amazon Prime Day ya está en marcha! /
Amazonas
Tabla de contenido

Cuerpo

Cuando abrí la URL anterior, me llevaron a la siguiente pantalla.

Mientras miraba el cuerpo porque el título es cuerpo, ¡encontré una bandera que fue comentada!

Respuesta

Bandera {Section_9}

Encabezamiento

Cuando abrí la URL anterior, obtuve una pantalla como esta:

A continuación, estaba buscando el encabezado, ¡y cuando encontré una bandera!

Respuesta

Flag {just_a_whisper}

puni_puni

Este es un poco especial. Es un problema de PunyCode.
¡PunyCode es uno de los métodos de codificación que convierten las cadenas de unicodos en alfabetos, números y guiones para permitir que los nombres de dominio internacionalizados se usen en los DNS existentes!

Puede convertirlo en el sitio como el anterior.
De todos modos, intenté convertirlo.

Las banderas son San, San, PE, U, N, Y, C, O, Dy, Yon, Yon, Yon, Yon, Katakana La notación está en letras minúsculas, mientras que la notación de Hiragana está en números de dígitos de medio ancho. Elimine las banderas ya que las comas son personajes delimitados.

Parece que debe crear una bandera basada en esta oración.

Respuesta

Bandera {33punycode44}

Error

Parece que se ha filtrado información confidencial del sitio que se está creando.

Afortunadamente, nos da una pista educada: "Todo está abierto aquí. Si lo sigues, seguramente encontrarás lo que estás buscando".

A juzgar por lo anterior, pensé que no era un listado de directorio.
Entonces, por ahora, veamos los directorios visibles "/Assets/" y "/Images/".

Eché un vistazo a "/activos/", pero parece que no hay información sobre esto.

¡Había una bandera en "/Images/"!

Respuesta

Flag {You_are_The_Laughing_Man, _aren't_you?}

tkys_royale

Cuando abrí la URL anterior, obtuve un formulario de inicio de sesión.

De todos modos, mientras miraba la fuente, descubrí un usuario de prueba.

Cuando inicié sesión, me dijeron: "Necesitas iniciar sesión como administrador para encontrar la bandera".
Es probable que pueda iniciar sesión con el nombre de usuario "addmin".

Solo para estar seguro, intenté iniciar sesión con "Admin: Admin" o "Admin: Pass123", pero no funcionó.
A continuación, pruebe la inyección SQL.

Admin: 'o 1 = 1; #

¡Pude iniciar sesión y obtener la bandera!

Respuesta

FLAG {SQLI_WITH_B1RDS_IN_A_B34UTIFER_LANDSCAPE}

Estimado

Parece que se ha filtrado información confidencial en el blog. Cuando miré la URL, vi el blog.

Claramente encontré un artículo de disculpa para este incidente.
En términos de contenido, parece haber una bandera en la imagen.

La convención de nombres de imágenes parece ser "A yyyymmdd001b.jpg".

Las imágenes inapropiadas son un día antes del 3 de junio de 2021, por lo que serán el 2 de junio de 2021.
Esta imagen probablemente debería ser "20210602001b.jpg".

He logrado obtener la imagen.

Estaba buscando mucho desde aquí, pero cuando amplié la sección de PC de la imagen, encontré una bandera. . .

Respuesta

Flag {the_flag_would no_like_to_end_up_in_other_peoples_photos}

Mx.flag

La URL anterior tiene un sitio web tipo carta.

Después de mirar varias cosas, noté que Favicon.png estaba cargado.
Sin embargo, si miras de cerca, el favicón no se muestra, por lo que parece sospechoso.

Cuando revisé la meta información usando ExifTool, parece que la imagen era solo un TXT.

┌── (Hacklab㉿hackLab)-[~] └─ $ exiftool favicon.png Número de versión ExifTool: 12.65 Nombre del archivo: directorio favicon.png :. Tamaño del archivo: 122 bytes Modificación del archivo Fecha/hora: 2023: 08: 24 09: 49: 22+09: 00 Fecha de acceso/hora del archivo: 2023: 08: 24 09: 49: 22+09: 00 INODE INODE Cambio de cambio/hora: 2023: 08: 24 09: 49: 28+09: 00 Permiso de archivo: -rw-R- R- R- Archivo Tipo de archivo: Tipo de archivo: Tipo: Texto/Codificación de MIME simple: US-ASCII NEWLINES: Windows CRLF Recuento de línea: 3 Recuento de palabras: 10

Entonces, cuando revisé el contenido, pude encontrar la bandera.

┌── (Hacklab㉿hackLab)-[~] └─ $ Cat favicon.png // flag {mr_flag_hiding_in_the_favicon} console.table ({lugar: "favicon.png", png: "falso", flag: "true", look: "me"});

Respuesta

FLAG {MR_FLAG_HIDE_IN_THE_FAVICON}

Redireccionar

Había un sitio de blog. Se llama redirección, así que analizaré las redirecciones.

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

Encontré que la decodificación en Base64 redirige a "./BWFSA2L0.HTML".

Es difícil redirigir, así que usaré probadores de API.

<!DOCTYPE HTML><html><head><title>comenzar</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>Descubre la bandera.</p></body></html>

Cuando verifiqué el contenido del HTML al que me redirigieron, parece que estoy redirigiendo aún más.

if (array.from (params) .length> 0) {ubicación.href = './bm9mbgfn/?'+params; } else {ubicación.href = './bwfsa2l0.html?callback=wantflag&data1=2045&data2=0907&data3=biancoroja&data4=1704067200'; }

Por lo que puede ver anteriormente, debe hacer una solicitud de la siguiente manera:

./bm9mbgfn/?callback=wantflag&data1=2045&data2=0907&data3=biancoroja&data4=1704067200

Hagamos una solicitud.

<html><head><title>Próximo</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>No hay bandera aquí. Ve al siguiente.</p></body></html>

Parece ser redirigido nuevamente.
Los parámetros se redirigen a "../bmv4dg5lehq/" con los mismos parámetros.

<html><head><title>Next-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>No hay bandera aquí también. Ve al siguiente.</p></body></html>

Parece que todavía se está redirigiendo.
Redirigiremos el sistema de la manera que hemos hecho hasta ahora.

<html><head><title>Punto de ramificación</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>Necesita los parámetros correctos para obtener la bandera.</p></body></html>
if (params.get ('callback') == 'getFlag') {ubicación.href = '../dgfjaglrb21hx2thd2fpav95b25l/?' + parámetros;

Quiero ingresar esto, así que convertiré el parámetro de devolución de llamada en GetFlag y dejaré que redirigir.

<html><head><title>¡Ve! ¡Ve! ¡Ve! ¡Ve!</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>¡Sí! Ve al siguiente.</p></body></html>

Este parece ser el último. Vamos a redirigir los parámetros como son.

if (callback == 'getFlag' && data1 == "2045" && data2 == "0907" && data3 == "biancoroja" && data4 === "1704067200") {ubicación.href = 'https://noisy-king-d0da.setanote.net/?
<!DOCTYPE html><body><h1>Buen trabajo !!</h1><p> Flag {Analyz1ng_bad_red1rects}</p></body>

¡Tengo la bandera!

Respuesta

Flag {Analyz1ng_bad_red1rects}

resumen

¡Esta vez, probé la web Setodanote CTF!
Como es para principiantes, fue más como resolver rompecabezas que usar el conocimiento, pero creo que es un primer paso divertido para comenzar CTF.

Referencias y sitios

-

¡Comparte si quieres!

Quien escribió este artículo

Este es un blog que comencé a estudiar la seguridad de la información. Como nuevo empleado, sería feliz si pudieras mirar con un corazón amplio.
También está Teech Lab, que es una oportunidad para estudiar diversión de programación, por lo que si está interesado en el desarrollo de software, ¡asegúrese de echar un vistazo!

Tabla de contenido