(SecuInside 2017) OHCE - x64 SROP
get_userinput이 제일 소스가 길어서 거기에 취약점이 있을 것 같아 집중적으로 봤는데 정작 다른 곳에 있었음… 시간을 무지 낭비함. 풀고 나서 보니까 NX가 비활성화 되어 있었다 ㅡㅡ; 어쩐지 checksec으로 봤을 때는 disable로 뜨는데 stack에 x권한이 왜 있지? 싶었더라니… 반드시 nxtest를 사용해야겠다. SRO...
get_userinput이 제일 소스가 길어서 거기에 취약점이 있을 것 같아 집중적으로 봤는데 정작 다른 곳에 있었음… 시간을 무지 낭비함. 풀고 나서 보니까 NX가 비활성화 되어 있었다 ㅡㅡ; 어쩐지 checksec으로 봤을 때는 disable로 뜨는데 stack에 x권한이 왜 있지? 싶었더라니… 반드시 nxtest를 사용해야겠다. SRO...
matplotlib 그래프를 그리는 라이브러리다. matplotlib의 pyplot모듈을 이용한다. 룩이 좀 구리지만 기능 자체는 꽤 쓸만하다. x값 만들기 x = np.arange(1, 7, 1) # 1부터 7까지 1의 간격으로 숫자 생성. [1 2 3 4 5 6] x = np.arange(1, 7, 2) [1 3 5] x = np.linspa...
<stdint.h>를 사용하도록 하자. int보다 uint8_t 같은 고정 크기 타입을 사용하는 것이 좋다. char보다 TCHAR를 사용하는 것이 좋다. 윈도우인 경우 컴파일 옵션에 따라 리눅스 등에서도 호환 가능하기 때문. Types uintptr\_t 포인터를 대상으로 덧셈, XOR 등 수치 연산이 필요한 경우 포인터를 숫자값으...
#define의 쓰임 #define은 옵션이나 flag를 지정할 때만 사용 하고, 다른 용도일 경우 inline이나 static const를 사용하는 편이 좋다. 이렇게 할 경우 1. type-safe하고, 2. 어디에 쓰느냐에 따라 scope도 지정 가능하며, 3. 디버깅 심볼이 생성되어 디버깅이 편하다는 장점이 있다. 간단한 함수 차원의 #def...
http://v0ids3curity.blogspot.kr/2014/12/return-to-vdso-using-elf-auxiliary.html 2016/11/21 - [System/etc] - Memory Layout, Segment / Stack layout Linux Stack Layout with Auxiliary Vectors 0x7fff...
파이썬의 코루틴과 태스크 API 파이썬의 이벤트 루프 API asyncio 실행 흐름 import asyncio async def sub(n): await asyncio.sleep(n) print("sub{}".format(n)) async def comain(): times = [1, 2, 2] fts = ...
coroutine 코루틴이란 ? 각 루틴이 종속적인 관계 아닌(caller, callee 관계인 subroutine이 아닌) 대등한 관계로, 서로를 순차적으로 호출하도록 되어 있는 함수 ~3.4 에서는 제너레이터를 사용해 코루틴을 구현 제너레이터는 어디까지 실행했는지를 기억했다가 나중에 다시 그 부분부터 실행되기 때문에, 이를 Future와 결합하면...
threading ( multiprocess ) 직접 threading.Thread 클래스의 객체를 생성하는 방법 threading.Thread를 상속받은 다음 이 클래스의 객체를 생성하는 방법 (한 가지 방법이 더 있지만 어차피 안쓴다) #1 import threading def say(msg): for i in range(2)...
2016/09/20 - [Network] - TCP { TIME_WAIT } 실험적, 경험적으로 판단한 내용이라 항상 이렇게 동작함을 보장하지는 않는다. client → output\_buf → ~network~ → input\_buf → recv └─────── not app layer ───────┘ TCP socket에서, s...
https://github.com/umbum/pwn/blob/master/exploit/cg_angry_doraemon.py code section 0x08048C62에 execl('/bin/sh', ...)가 있다. Fist attack의 function pointer buf()를 이용해 여기를 호출하도록 하려 했는데 if ( BYTE3(b...