Hello I am Arsalan. Offensive Security Engineer, I blog about Cyber security, CTF writeup, Programming, Blockchain and more about tech. born and raised in indonesia, currently living in indonesia
This company is one of the top software companies in the world,
because every single employee knows that they are part of a whole.
Thus, if an employee has a problem, the company has a problem.
nc chal.ctf.b01lers.com 1014
Solution:
this is a simple buffer overflow challenge, we need to pass the if condition, we have to set
%rax and %rbx to 0x0.
FLAG: flag{Ne0_y0uAre_d0ing_well}
There is no Spoon
Description:
Neo: bend reality, and understand the truth of the matrix.
nc chal.ctf.b01lers.com 1006
Solution:
another easy challenge, in this challenge we have to overwrite variable changeme
FLAG: flag{l0tz_0f_confUsi0n_vulnz}
The Oracle
Description:
Would you still have broken it if I hadn't said anything?
nc chal.ctf.b01lers.com 1015
Solution:
I am the third person to solve this challenge, another buffer overflow challenge.
in this challenge, we have to overwrite %rip to 0x401196
Next up, hack the matrix again, but this time, insert your own code.
nc chal.ctf.b01lers.com 1007
Solution:
challenge source code:
this is a shellcode challenge I am the second person to solve this challenge,
we can only write 16byte shellcode to the .bss. in order to send our full shellcode we can
write a shellcode that can read from stdin and after that we send our shellcode to the last part of shellcode
FLAG: flag{cust0m_sh3llc0d1ng_c4n_b33_c00l}
See for Yourself
Description:
The matrix requires a more advanced trick this time. Hack it.
nc chal.ctf.b01lers.com 1008
Solution:
I am the second person to solve this challenge, we can create a rop to set the address of “/bin/sh” to %rdi and call system from plt
FLAG: flag{ROP_ROOP_OOP_OOPS}
Goodbye, Mr. Anderson
Description:
Do it again Neo. Cheat death.
nc chal.ctf.b01lers.com 1009
Solution:
this is the tricky one, we can overwrite __libc_start_main using leak_stack_canary function
the binary itself use full protection and use libc version 2.31. which we can’t use one_gadget to solve this challenge.
in order to solve this challenge we need to leak canary, base pie and libc address
since we can only overwrite __libc_start_main in order to create a rop we can use add rsp, 8; ret; gadget
to get our rop working properly. pardon my crappy code.
Link Battle
Description:
Hmm....I hope you paid attention in class, spies!
Solution:
since we were given a .so file, we can write a C code that load the .so file and call getflag function.
Once upon a time, there was a young Thumb Thumb named Juni. Juni was shy and had no self confidence,
until one day evil Thumb Thumbs kidnapped his spy Thumb Thumb Parents.
WANTED: EVIL THUMB THUMB. CRIME: KIDNAPPING. HAVE YOU SEEN THIS THUMB?
Solution:
the flag is loaded from function thumblings_assemble, to dump the flag,
use gdb to debug the binary and set a breakpoint at thumblings_assemble+230 after that examine the value of %rsp+16 using gdb