SCIST 5th Final CTF

2th
i need more pwn :(
gemini is my god
Web
dig-blind2

command injection+side channel attack brute force
Exploit
1 | import requests |

Misc
MIT license


- by how the license() work is prob read the file from __filenames so just patch the __flag into _Printer__filenames

OhYeahmAlwaRe
app.py

Dockerfile

the route
/hacker_imagecontains lfi so its able to download theOhYeahMalwarebinary and theflag.txtsince it showed in dockerfile

but the flag is encrypted
from the IDA decompile showed that prob most of the file is encrypted with AES ECB and the
/root/sec.key



- and theres another format string vulnerable that could leak the
/root/sec.key

with
versionfunction from app.py we could leak the/root/sec.keythen decrypt the flag.txtExploit
1 | import requests |

Reverse
Checker101
- gdb trace

Neko Identification System
it check the image by xor
alist and compare it toblist so just xoraandband copy the result to hexeditor to see the image
Exploit
1 | a = [0x54, 0x61, 0x6d, 0x61, 0x6b, 0x69, 0x20, 0x4b, 0x6f, 0x74, 0x61, 0x74, 0x73, 0x75] |

Duel

in chooseWeapon

theres a hidden weapon and how to trigger it is by 7

- Exploit
1 | from pwn import * |

not a xor checker

- Encrypt function
1 | __int64 __fastcall encrypt(__int64 a1, __int64 a2) |

all the thing that binary do is AES encrypt the user input and compare with v3 list in flag checker so just decrypt the v3
Exploit
1 | from Crypto.Cipher import AES |


- Flag:
SCIST{AES_encrypt_in_CPP0a8c6}
Pwn
Checkin
- simple bof
1 | from pwn import * |

Return to shellcode 2015
fget 24 bytes and 16 bytes to hijack return address


since the size of the fget is not enough for the shellcode to get shell so we make a read shellcode that can read more bytes
Exploit
1 | from pwn import * |

Zero to hero - Nerf version 2
- source code
1 | #include <stdio.h> |
from the these function we can control the malloc size and free and edit the chunk content
the attack strategy
create unsorted bin to leak libc address >> tcache posioning >> control free hook >> one_gadget



- exploit
1 | from pwn import * |

Crypto
owo
- exploit
1 | ##!/usr/bin/env python3 |

Yoshino’s Secret Plus
- exploit
1 | ##!/usr/bin/python3 |

RSA SigSig
- exploit
1 | ##!/usr/bin/env python3 |

dsaaaaaaaaaaaaaaaaa
1 | #!/usr/bin/env python3 |
