목록Pwnable (4)
kaka09
여태까지 포너블 공부를 함에 있어서 local환경에서 메모리 보호기법 없이 단순히 공격기법들의 원리만 파악하기 위한 공부를 했었다.(깊이가 없는..)따라서 이번에는 메모리 보호기법이 적용된 상태에서 원격(로컬을 원격처럼)으로 익스플로잇 하는 방법들을 공부해볼 생각으로 본 포스팅을 작성할 예정이다. [사진]1-1 위 사진은 해당 바이너리를 IDA의 Hex-Rays를 통해 소스코드를 복원한 내용이다. 내용을 살펴보면 1~4번까지 메뉴를 선택할 수 있다. 랜덤으로 설정된 가격을 기준으로 코인을 사고 파는 형태의 프로그램으로 판단 할 수 있다. 취약점 벡터는 46번째 줄에서 발생한다. 사진에는 안안나와 있지만 v6 변수는 bp-14h 영역에 할당된다. 하지만 46번째 줄에서 scanf로 입력 받을때 50 바이트..
(level17.py)download1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/python import os import pickle import time import socket import signal signal.signal(signal.SIGCHLD, signal.SIG_IGN) def server(skt): line = skt.recv(1024) obj = pickle.loads(line) for i in obj: clnt.send("why did you send me " + i + "?\n") skt = socket.socket(socket.AF_INET, socket.SOCK_..
(level17.py)download1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/python import os import pickle import time import socket import signal signal.signal(signal.SIGCHLD, signal.SIG_IGN) def server(skt): line = skt.recv(1024) obj = pickle.loads(line) for i in obj: clnt.send("why did you send me " + i + "?\n") skt = socket.socket(socket.AF_INET, socket.SOCK_..
[사진]1-1 Nebula exploit-exercises를 공부하다 TICTOU란 기법을 통해 문제를 풀어야 하는 상황이 나와 구글로 찾는중.. 취약점에 대한 원리와 상세한 설명보다는 어디 보안회사들의 가이드라인 및 과거 이정훈씨가 대회에서 상금을 탔다는 내용이 주를 이루어 좀 벙?쪄있었다.. 그래서 외국 문서들을 찾다 외국위키에서 설명이 잘 되어 있어서 해당 기법에 대해 이해를 하고 문제를 풀어낼 수 있었다.. 우선 TICTOU(Time-of-check Time-of-use)기법은 일종의 Race Condition을 이용한 공격기법 이라고 볼 수 있다. 다음의 예제를 살펴보자 Victim Attacker if (access("file", W_OK) != 0) { exit(1); } fd = open(..