2019/07(5)
-
HackCTF static
해당 문제 컨셉 : Binary Patch 환경 : 64bit ELF Thinking.. static이 문제 명인 이유 : 도출 된 input 값을 입력하면 특정 문자에 의해 command가 먹히지 않음. 그래서 정적으로 분석하고 코드를 짜야함. 패치 하면 다음과 같은 코드를 볼 수 있음. __int64 __fastcall sub_A3A(int argc, char **argv, char **a3) { const char *s1; // [rsp+20h] [rbp-10h] // bi0s ~~ s1 = getenv("team_name"); if ( s1 && !strncmp(s1, "bi0s", 4uLL) ) // // { if ( argc == 2 ) { if ( (unsigned int)enc(s1, ar..
2019.07.25 -
개발 일지
====================================================================== 시작 일 : 2019/06/26 종료 일 : 2019/06/28 ------------------------------------------------------------------------------------------------------------------------ Socket 비동기 서버 Version 1 1. 소켓 서버 원리 이해 2. 리눅스에서 kbhit 커스텀해서 사용가능 3. 터미널 속성을 얻기 위해 'termios' 구조체를 사용할 수 있다. 4. 스레드 잘 못 쓰면 다 꼬인다. 5. 파일 경로명을 지정할 때 주석을 달면서 하지 않으면 너무 헷갈린다. 반..
2019.07.02 -
개발 일지
====================================================================== 시작 일 : 2019/07/08 종료 일 : ------------------------------------------------------------------------------------------------------------------------ Socket 비동기 프로그램 제작 Environment : WINDOWS SERVER 2016 ====================================================================== 시작 일 : 2019/07/01 종료 일 : --------------------------------..
2019.07.02 -
HTTP Protocol을 SOCKET에서 사용하는 법
HTTP 프로토콜은 연결한 다음, 직접 사용자가 요청을 해야 반응을 보여준다. 이 요청형식이 '규약' 즉, 프로토콜이다. User-Agent는 마음대로 적어도 되긴 하지만, 통신이 잘 안될 수 있기 때문에 난 ~이런 웹 브라우저이다 라고 알려주게 된다. 서버는 라인 구별을 \r\n으로 한다. 제일 마지막도 \r\n으로 줘야 서버가 끝임을 알 수 있다. example. In C code, "GET /a.zip HTTP/1.0\r\n" "Host: www.A.com\r\n" "User-Agent: FileDownloadProgram/1.00\r\n" "Accept: */*\r\n" // 모든 것을 다 받겠다 "\r\n";
2019.07.02 -
[개발 일지 및 팁 ]
블로그 활동을 다시 하기로 마음먹었다. 요즘 개발 공부를 겸하고 있는데 이때, 알게 된 정보나 기억해두고 싶은 정보 , 진행 상황등을 적으면서 마인드 컨트롤을 할 것이다.
2019.07.02