목록System (72)
y0u_bat
보호되어 있는 글입니다.
보호되어 있는 글입니다.
기본적인 execve(/bin/sh,/bin/sh,null)을 실행시키는 쉘코드 xor %eax,%eax -> 이부분push %eaxpush $0x68732f2fpush $0x6e69622fmov %esp, %ebx -> 이부분push %eaxpush %ebxmov %esp, %ecx -> 이부분mov $0xb, %al -> 이부분int $0x80 -> 이부분 보통 쉘코드는 이러한데, 아스키범위에 몇군데가 걸린다. 30~7a xor %eax, %eax -> push $0x31; pop %eax; xor $0x31, %al // 이런식으로 바꿀수있습니다.mov %esp, %ebx -> push %esp; pop %ebx // pop push로 해결mov %esp, %ecx -> push %esp; pop ..
보호되어 있는 글입니다.
PIN_InitSymbols(); // 심볼을 만들어 이용할수있다. IMG_RegsymHeada(IMG img) // img의 첫번째 심볼을 가져옴. SYM_Next(SYM x) // 다음 심볼을 보여주고 섹션에서 마지막이면 SYM_Invalid() 호출 SYM_Prev(SYM x) // 전 심볼을 보여주고 섹션에서 처음이면 SYM_Invalid() 호출 SYM_Invalid() // 사용하지 않은 심볼을 나타내줌 (?) SYM_Name(SYM x); // 해당심볼이름을 가져옴 PIN_UndecorateSymbolName(const string & symbolName, UNDECORATION style); - 스타일 2가지 존재 - UNDECORATION_COMPLETF // public: char * ..
Pintool은 인텔에서 만든, 동적으로 바이너리를 삽입 할 수 있게 하는 DBI 프로그램입니다. https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool 에서 다운받을수있고, 메뉴얼를 보거나 핀툴안에 있는 메뉴얼예제를 보면서 공부하면 됩니다. 핀툴 실행방법./pin.sh -t [핀툴.so] -- [프로그램] 간단한 핀툴문제. 출제자 - jinmo123 내용을 보면, 입력을 하고 해당입력된 값이 저 if문의 조건에 다 맞아야 풀리는 문제이다. 이거를 손수 손으로 할수는 있긴하지만, if문의 양이 한 어마어마 하게 많다. 그러므로 핀툴을 사용하면 쉽게 풀수있다. 핀툴을 이용하여 저기 있는 xor,cmp에 있는 오퍼..
CVE-2015-0235 GHOST 취약점 설명 c 라이브러리인 glibc안에 __nss_hostname_digits_dots() 함수 내부에서 버퍼오버플로우 취약점이 존재한다. 아래 함수에 #ifdef HANDLE_DIGITS_DOTS 가 매크로 정의 되어 있다. - inet/gethstbynm.c- inet/gethstbynm2.c- inet/gethstbynm_r.c- inet/gethstbynm2_r.c - inet/gethstbynm3_r.c gethostbyname() 과 gethostbyname2() 를 통해서 힙영역 버퍼를 오버플로우 할수있으며,gethostbyname_r() 과 gethostbyname2_r()를 통해서는 사용자가 제공해주는 버퍼를 덮을 수 있다. __nss_hostnam..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.