본문 바로가기

내 컴퓨터에 바로가기, 폴더 추가 평소 내 컴퓨터에 C드라이브, D드라이브 등 말고 '내가 자주 쓰는 폴더들을 추가할 수 없을까?'라는 생각을 하고 있었는데 우연한 기회에 알게 된 팁이다. 평소 파일 저장 목적으로 사용하는 서버가 있는데 같은 네트워크에 있기 때문에'내 컴퓨터 -> 우클릭 -> 네트워크 위치 추가'를 이용하여 내 컴퓨터에서 바로 폴더로 이동할 수 있게 해놨었다. 여기서 우연히 이 바로가기 폴더들이 있는 위치를 찾았다.C:\Users\Username\AppData\Roaming\Microsoft\Windows\Network Shortcuts위의 폴더 경로에 바로가기 아이콘이나 일반 폴더들을 넣어도 내 컴퓨터 상에서는 다음과 같이 네트워크 위치로 뜨면서 표시되었다. 예를 들기위해 바로가기 아이콘까지 다 넣어봤지만 자주 사용하.. 더보기
Webhacking.kr prob 49 - 300 Webhacking.kr - Prob 49 - 300 - SQL Injection 문제의 첫 화면이다.46번과 같은 화면을 볼 수 있지만 필터링 되는 부분에서 차이가 있다. 바로 소스보기 화면으로 들어가면 다음과 같이 index.phps라는 힌트가 적혀있다. 하지만 소스보기를 통해 들어가면 다음과 같이 복잡한 소스로 적혀있다.이것을 html 페이지를 하나 만들어서 변환 시켜 보았다. 위와 같이 필터링하는 문자들을 확인할 수 있으며 q[0]에 admin을 넣게 되면 문제를 풀 수 있다. 우선 1을 입력해보았다. zzibong이라는 id가 출력되며 level 2는 admin이 아닐까하는 추측을 할 수 있다. 이번 문제는 or, and, limit 등 지금까지 하던 문자열들을 모두 필터링 하고 있는 것을 볼 .. 더보기
Bind shell code에서 dup2함수의 역할 Socket을 이용하는 Remote BOF 공격에서 대게 Bind Shell Code를 사용하게 된다. 이 쉘코드가 어떻게 구성되어있고, 왜 Remote BOF에서는 Bind Shell Code를 써야하는지 알아보았다. 1. Bind Shell Code의 구성 우선 통신을 위해 TCP와 같이 구성이 된다. Socket() -> Bind() -> Listen() -> Accept() 또한 표준입출력을 위해 dup2함수와 쉘을 띄우기 위한 execve함수로 구성할 수 있다. 2. Bind Shell Code의 목적 Remote 환경에서는 쉘이 소켓이 종료된 뒤에 떨어지기 때문에 이 통신을 유지시켜줄 필요가 있다. 따라서 Bind Shell Code를 이용하여 포트를 열고 쉘을 받아오는 것이다. 하지만 소켓을.. 더보기
멀티태스킹(Multi tasking) 11. 11 월 컴퓨터네트워크2 멀티태스킹 서버의 행동 중 socket(), bind(), listen()의 과정을 CreateTCPServerSocket()이란 함수로 묶고, accept()를 AcceptTCPConnection()으로, receive(), send()를 HandlingTCPClient()라는 함수로 묶어서 사용. # 클라이언트당 프로세스멀티태스킹을 위해 fork()를 이용하여 자식 프로세스를 생성한다. 이 자식 프로세스는 receive(), send()의 역할을 수행하며 Client는 자식프로세스에게 send()하게 된다. 자식 프로세스가 종료되어도 이 프로세스가 자동으로 사라지는 것이 아니라 waitpid() 호출을 통해 좀비프로세스를 수확해야 자원이 회수된다. # 클라이언트당 쓰레.. 더보기
신호(Signals) UDPEchoClient에서 클라이언트가 Sendto() 후 서버의 Sendto()를 기다리는 동안 block되지 않도록 하는 방법1) non-blocking socket - 서버측2) asynchronous I/O - 서버측3) Timeout - 클라이언트측 1)Process에서 InterruptSignalHandler 실행 중 사용자가 Ctrl+C와 같은 인터럽트 입력 시 System에서 SIGINT가 들어오게되고 InterruptSignalHandler() 내부에서 printf("Interrupt Received"); 와 같은 문자열 출력 후 for(;;)문 내부의 pause가 실행되어 프로그램이 정지된다. 2) 서버에서 bind() 이후 대기하는 동안 다른 작업(3초마다 . 출력)을 하게 된다. .. 더보기
UDPEchoServer #include #include #include #include #include #include #define ECHOMAX 255 void DieWithError(char *errorMessage); int main(int argc, char *argv[]){int sock;struct sockaddr_in echoServAddr;struct sockaddr_in echoClntAddr;unsigned int cliAddrLen;char echoBuffer[ECHOMAX];unsigned short echoServPort;int recvMsgSize; if (argc != 2){fprintf(stderr,"Usage: %s \n", argv[0]);exit(1);}echoServPort = atoi(a.. 더보기
소켓옵션들 소켓 옵션의 값을 변경함으로써 소켓의 수신버퍼 크기 변경 가능 getsockopt() : 소켓의 옵션 값을 참조 setsockopt() : 소켓의 옵션 값을 지정 int getsockopt(int socket, int level, int optName, void *optVal, Unsigned int * optLen) int setsockopt(int socket, int level, int optName, const void *optVal, Unsigned int * optLen) --- 소켓 버퍼크기 지정 프로그램 --- int rcvBufferSize; int sockOptSize; sockOptSize = sizeof(rcvBufferSize); if(getsockopt (sock, SOL_SOC.. 더보기
10월 티스토리 초대장 배포 (종료) 10월 티스토리 초대장 배포 (종료) 블로그 운영하면서 처음으로 티스토리 초대장을 받아봤습니다. 열심히 활동하는 블로그는 아닌데 받으니까 기분은 좋네요. 10월 티스토리 초대장 배포 수량은 10장이며 비밀댓글로 이메일 주소를 남겨주신 10분 뽑아서 드립니다. 기존에 운영하고 계시던 블로그가 있다면 주소를 남겨주세요. 스팸 필터링에 도움이 되며 방문 후 우선 순위로 초대장 보내드립니다 = ) 단, 배포 후 3일동안 블로그 개설이 안 되었다면 초대장을 회수하여 다른 분께 기회를 드리려합니다. 2013 10 23 05:20 - 5장 남음, 개설 목적 / 활동의지 등이 보이는 댓글이 우선 선정됩니다. 2013 10 24 12:24 - 배포종료, 불량회원 신고 첫 초대장 배포여서 이렇게 많은 분들이 댓글을 달아주.. 더보기