Equipo ddw del jefe de arriba ESCRIBIR
- Información del equipo
Nombre del equipo: jefe de arriba ddw
Clasificación del equipo: 24
- resolución de problemas
- proceso de resolución de problemas
01 Iniciar sesión
Contenido de la operación:
Descargue el archivo adjunto, abra y ejecute para obtener la bandera
Si usa su propio código de secuencia de comandos para esta pregunta, escríbalo en detalle, no se permiten capturas de pantalla
Valor de la bandera : flag{ ballena te lleva al mundo de las ballenas}
02 Lihua para
Contenido de la operación:
RE arrojado a IDA
Establezca un punto de interrupción, depure dinámicamente y luego obtenga los datos de una matriz
escribir código de descifrado
Si usa su propio código de secuencia de comandos para esta pregunta, escríbalo en detalle, no se permiten capturas de pantalla
less=[0x66,0x6D,0x63,0x64,0x7f,0x64,0x32,0x36,0x6a,0x6c,0x3e,0x3d,0x39,0x20,0x6f,0x3a,0x20,0x77,0x3f,0x27,0x25,0x27,0x22,0x3a ,0x7a,0x2e,0x78,0x7a,0x31,0x2f,0x29,0x29,0x16,0x40,0x44,0x45,0x12,0x47,0x47,0x41,0x1a,0x54] |
bandera值:bandera {a41be465-a50f-4124-b7ba-2766aff6baf2}
02 Cripto2
Contenido de la operación:
En los dos conjuntos de números, e es el mismo, pero n y c son diferentes. Encuentra el máximo común divisor de n1 y n2, que es p, y luego puedes obtener q y d, para resolver m. La bandera en esta pregunta se divide en dos partes, que se deben encontrar a su vez Empalme de nuevo.
Si usa su propio código de secuencia de comandos para esta pregunta, escríbalo en detalle, no se permiten capturas de pantalla
importar gmpy2 importar binascii e = 65537 n1 = c1 = n2 = c2 = p = gmpy2.gcd(n1,n2) q1 = n1//p q2 = n2//p fi1= (p-1)*(q1-1) phi2= (p-1)*(q2-1) d1= gmpy2.invertir(e,phi1) d2= gmpy2.invert(e,phi2) m1= gmpy2.powmod(c1,d1,n1) m2= gmpy2.powermod(c2,d2,n2) imprimir(binascii.unhexlify(hexadecimal(m1)[2:])) print(binascii.unhexlify(hex(m2)[2:])) |
flag值:flag{afb1e6f2-9acb-efde-ad7c-246a99d8f1fd}
04 Crypto1
操作内容:
e1=49
e2=35
首先想到了共模攻击,但是不满足gcd条件(e1,e2互质)想到可以将49,35同时除以7,然后进行低加密指数攻击即可
如该题使用自己编写的脚本代码请详细写出,不允许截图
import gmpy2 from Crypto.Util.number import long_to_bytes n=96722669749951212913756678234358651184134068407812470434435916603156818917545841439779031943800634250032106764154804309935557678512858630048212204696471487762160744924838010746445510979202735123140536599975731157563069594497905809587369126155476201977830809090473053692189364335223367147692962090288185113654598050169422517553085833257142179937154768657039042632343562454149914801329414293361879935460883633117988279426277638667508115319494914342600199690237441851088350726869553691992122821267990343643644523989413546160765907845604067031798179773495433134648132709349683621175243064236059479837244518879574919017301667066698329442453248971033564328161407342561250703168154214939772631586519304164853651 c1=66738113223447221430009739914948303261002811553064307532926788024694319846909340806982708347904688420671656410554852340732395818007063648478593071665936277836988050526188064146099581039172667768507259894363266310279948729552649788129953872816024709989260060633285022337107662251504618369065597018450927041881262189584381809106166042131798086882746986243210896131714227544235843922107304728228549916171484199199612243776469423359120753888158616202476325705252715374109256790899923317253605743212561589807498078080069511918514647943399566630574192829185904868376879831247378819590121286186417825591746918495311372015707767009078229770450338244309693800180936418605756818618708750868807720566288044943952844 c2=88330949146651042517337653740810385187361689012501792799900873279978736035790659211001047937337215121948527017022967642906632732136313750277237761910710915459733551421653259986088596828049455592613225962133163865584111828012197112528645520371075411167515961263199635568730334149461654340122507778194391601956023625429418297129608911450200836427221311442323768087256798964844787274408624548839536279704401007441198390922847003287643673183230633728790263593607595427088882078742699027563601046309308221108391158848644822374865676056755011459026909057983805069264236657111115914570543103494726584296335044897998794251877515750910330960179539465060133592380802344398038815679281272098815068185059127533110716 e1=7 e2=5 def ext_euclid(a,b): if b == 0: return 1,0,a else: x,y,q = ext_euclid(b, a % b) #gcd(a,b)=gcd(b,a%b) x,y = y, (x-(a//b)*y) return x,y,q def same_mod(n,e1,e2,c1,c2): s,t,q = ext_euclid(e1,e2) m=(gmpy2.powmod(c1,s,n)*gmpy2.powmod(c2,t,n)) % n # 大数运算 flag = m # 爆破 i = 0 while 1: if gmpy2.iroot(m + i * n,7)[1]==True: print(long_to_bytes(gmpy2.iroot(m+i*n,7)[0])) break i += 1 return flag if __name__ == '__main__': same_mod(n,e1,e2,c1,c2) |
flag值:
flag{8ac9f9e3-82ba-ff7e-ac7b-235a02d891ef}
06 拼图
操作内容:
拿到附件先解压,原图先不用看,直接看分割后的。
因为分割图片,所以我们可以通过时间排列 (分割文件的保存的时间排序。)
可以看到分割的顺序是从左到右依次分割。整理含字符串的图片。
整理出来有如下片段:
能拼成这样子,提交该flag: flag{Hamsters_are_so_cute} 都提示不对。
发现了这个东西,可能是个感叹号什么的?还是i呢?我想了一下,按照英语语法,i有点不合适。
可能是感叹号,那就交了试试flag{Hamsters_are_so_cute!} 发现不对
但是我发现文件中还有很多没有拼接,比如
¡Intenta agregar algunos más! ¡Enviemos y encontremos 3! Así es, obtén la bandera