đ´Cosmicray - Sekai CTF 2023
Last updated
Last updated
Bà i nà y náēŋu mà nhÃŦn payload ráģi thÃŦ tháēĨy khÃĄ dáģ , cÆĄ mà Äáģ nghÄŠ ra cÃĄch là m thÃŦ máēĨt kha khÃĄ tháģi gian cáģ§a mÃŦnh :v. Tôi ÄÃŖ submit nÃŗ lÃēc 22h59p :>>
KÄŠ thuáēt thÃŦ không cÃŗ gÃŦ láēĄ. Äiáģu láēĄ duy nháēĨt áģ ÄÃĸy là nÃŗ cÃŗ 1 cháģŠc nÄng ghi Äè (sáģa) 1 opcode
NÃŗ sáēŊ ÄÆĄn giáēŖn náēŋu không cÃŗ hà m check canary:
Hà m trÃĒn cÃŗ cháģŠc nÄng sáģa opcode mà tôi ÄÃŖ nÃŗi áģ Äáē§u bà i viáēŋt.
Máģi hà m Äáģu hoáēĄt Äáģng trÆĄn tru ngoáēĄi tráģĢ 2 hà m trÃĒn:
Máģi tháģŠ Äáģu dynamic nÃĒn không tháģ ghi Äè và o cÃĄc biáēŋn. Cháģ cÃŗ Äáģa cháģ cáģ§a elf là static.
Opcode táēĄi Äáģa cháģ 0x4012D6
trÆ°áģc khi báģ sáģa:
Oke. Sau 1 háģi thÃŦ tôi cÃŗ tháēĨy ÄÆ°áģŖc 2 láģi:
Sáģa 1 opcode báēĨt kÃŦ theo ÃŊ cáģ§a mÃŦnh. NhÆ°ng sáģa opcode nà o??
ÄÃŗ là cÃĸu háģi tôi Äi tÃŦm náģa buáģi chiáģu :>>. NhÆ°ng tôi biáēŋt ráēąng láģi tháģŠ 1 không giÃēp Ãch ÄÆ°áģŖc gÃŦ nÃĒn tôi ÄÃŖ loáēĄi nÃŗ.
Và khi mà n ÄÃĒm buông xuáģng tôi nháēn ra ÄÆ°áģŖc 1 tháģŠ thÃē váģ.
Náēŋu báēĄn Äáģ ÃŊ thÃŦ cÃŗ tháģ tháēĨy tôi Äang nháē¯c Äáēŋn cÃĄi gÃŦ. Yeb cÃĸu tráēŖ láģi cho pháē§n nà y ÄÃŗ là ghi Äè và o pháē§n opcode nà y:
CÃŗ duy nháēĨt 1 Äáģa cháģ cÃŗ tháģ ÄÆ°áģŖc ghi áģ ÄÃĸy sau khi viáģc ghi dáģ¯ liáģu hoà n táēĨt(cosmic_ray
)
Äáģ nhÃŦn báēąng ida thÃŦ sáēŊ không ra nhÆ°ng tháģ báēąng GDB xem sao:
Sau táēĨt cáēŖ, tôi nháēn tháēĨy mÃŦnh cÃŗ 1 kháēŖ nÄng là thay hà m __stack_chk_fail
thà nh 1 hà m khÃĄc Äáģ viáģc check canary không xáēŖy ra. Tôi quyáēŋt Äáģnh sáēŊ thay tháēŋ báēąng 1 hà m nà o ÄÃŗ áģ gáē§n hà m scanf
. Sau khi cosmic_ray
tháģąc thi thÃŦ Äáģa cháģ sáēŊ ÄÆ°áģŖc thay Äáģi và tôi cÃŗ tháģ pass ÄÆ°áģŖc canary và tiáēŋn hà nh ghi Äè và o return pointer Äáģ tráģ Äáēŋn hà m win
sau khi káēŋt thÃēc hà m main.
NÃŗ cÃŗ tháģ xáēŖy ra láģi nhÆ°ng tháģŠ tôi cáē§n là FLAG :>>.
Leak 1 bytes (giÃĄ tráģ) táģĢ chÆ°ÆĄng trÃŦnh