0x04 pwnable(130)
-
pwnable.kr passcode
보호되어 있는 글입니다.
2018.02.28 -
pwnable.kr flag
보호되어 있는 글입니다.
2018.02.28 -
Simple Socket Exploit Example
보호되어 있는 글입니다.
2018.01.28 -
Stack Cookie (GS aka. canary) 4
GS와 SafeSEH에 대해 배운 것을 정리해보았다. 1. 스택 쿠키 / GS 우회 방법스택 기반 오버플로우 보호 매너니즘을 우회할 수 있는 가장 쉬운 방법은 쿠키 값을 추측하거나 계산하는 것이라고 한다.쿠키가 정적인 값일 경우는 그대로 복사하여 쿠키 위치를 탐색한 뒤, 그 값을 페이로드에 삽입하면 된다.하지만, 대부분의 쿠키는 동적이다. (직관적으로 사용하기 어렵게 해둔다.) 그렇지만, 스택 쿠키가 있다고 겁먹을 필요 없다. 스택 쿠키의 원리를 조금 적다보면 그 이유를 알 수 있다.스택쿠키에 의해 bof를 감지하게 되면, 그 즉시 예외 핸들러의 존재 여부를 찾게 된다. 처음으로 찾는 예외 핸들러는 "개발자가 직접 코드로 작성한" 것이지만, 개발자가 직접 코드를 작성한게 없다면 운영체제가 설정해둔 핸들러..
2018.01.27 -
Stack Cookie (GS aka. canary) 3
보호되어 있는 글입니다.
2018.01.27 -
Stack Cookie (GS aka. canary) 2
이전 포스팅에서는 유동적으로 입력한 데이터가 기존의 버퍼의 크기를 초과 했을 때 스택이 오염 된다는 것에 언급하였다. 이번에는 조금 다른 얘기를 해볼까 한다. 정상적인 코드에 쓸데없이 라인이 추가되어 LOC(Line Of Code)가 증가하게 되면 퍼포먼스가 감소되는 것 같다. 그 이유는 여기에서 추측해볼 수 있었다. 순전히 나의 생각을 서술한 것 이기 때문에 틀릴 수도 있다. 컴파일러는 퍼포먼스 감소 영향을 최소화하기 위해 _alloca를 사용해 스택에 메모리를 할당하거나, 함수가 스트링 버퍼를 가지고 있을 때만 스택 쿠키를 추가하는 로직을 사용하게 되었고, 추가적으로 보호 매커니즘은 버퍼가 5바이트 이상의 데이터를 가질 때만 활성화 된다. 다음은 상기에 서술한 문장 PoC다. 아래는 버퍼가 5바이트 ..
2018.01.23