일반적으로 Python에서 문자열 출력 시 print문을 사용합니다. 하지만 이 print문은 자동으로 개행이 되기 때문에 여러 줄의 문자열 출력 시 불편하기도 합니다. 이런 문제를 해결하기 위해 다음과 같은 방법들이 있습니다. - sys 모듈 import 후 sys.stdout.write() 함수 사용예)import syssys.stdout.write("aaa")sys.stdout.write("bbb") 결과)"aaabbb" - print문 마지막에, 추가예)print "aaa",print "bbb",print "ccc" 결과)"aaabbbccc"
평소 내 컴퓨터에 C드라이브, D드라이브 등 말고 '내가 자주 쓰는 폴더들을 추가할 수 없을까?'라는 생각을 하고 있었는데 우연한 기회에 알게 된 팁이다. 평소 파일 저장 목적으로 사용하는 서버가 있는데 같은 네트워크에 있기 때문에'내 컴퓨터 -> 우클릭 -> 네트워크 위치 추가'를 이용하여 내 컴퓨터에서 바로 폴더로 이동할 수 있게 해놨었다. 여기서 우연히 이 바로가기 폴더들이 있는 위치를 찾았다.C:\Users\Username\AppData\Roaming\Microsoft\Windows\Network Shortcuts위의 폴더 경로에 바로가기 아이콘이나 일반 폴더들을 넣어도 내 컴퓨터 상에서는 다음과 같이 네트워크 위치로 뜨면서 표시되었다. 예를 들기위해 바로가기 아이콘까지 다 넣어봤지만 자주 사용하..
Webhacking.kr - Prob 49 - 300 - SQL Injection 문제의 첫 화면이다.46번과 같은 화면을 볼 수 있지만 필터링 되는 부분에서 차이가 있다. 바로 소스보기 화면으로 들어가면 다음과 같이 index.phps라는 힌트가 적혀있다. 하지만 소스보기를 통해 들어가면 다음과 같이 복잡한 소스로 적혀있다.이것을 html 페이지를 하나 만들어서 변환 시켜 보았다. 위와 같이 필터링하는 문자들을 확인할 수 있으며 q[0]에 admin을 넣게 되면 문제를 풀 수 있다. 우선 1을 입력해보았다. zzibong이라는 id가 출력되며 level 2는 admin이 아닐까하는 추측을 할 수 있다. 이번 문제는 or, and, limit 등 지금까지 하던 문자열들을 모두 필터링 하고 있는 것을 볼 ..
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를 이용하여 포트를 열고 쉘을 받아오는 것이다. 하지만 소켓을..
11. 11 월 컴퓨터네트워크2 멀티태스킹 서버의 행동 중 socket(), bind(), listen()의 과정을 CreateTCPServerSocket()이란 함수로 묶고, accept()를 AcceptTCPConnection()으로, receive(), send()를 HandlingTCPClient()라는 함수로 묶어서 사용. # 클라이언트당 프로세스멀티태스킹을 위해 fork()를 이용하여 자식 프로세스를 생성한다. 이 자식 프로세스는 receive(), send()의 역할을 수행하며 Client는 자식프로세스에게 send()하게 된다. 자식 프로세스가 종료되어도 이 프로세스가 자동으로 사라지는 것이 아니라 waitpid() 호출을 통해 좀비프로세스를 수확해야 자원이 회수된다. # 클라이언트당 쓰레..
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초마다 . 출력)을 하게 된다. ..
#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..
- Total
- Today
- Yesterday
- writeup
- exploit
- 사이버테러
- DNSOverHTTPS
- 자바스크립트
- 문제풀이
- 악성코드
- 웨일브라우저
- network
- BOF
- Wargame
- CloudFlare
- 웹
- 프로그래밍
- Sublime Text 2
- 티스토리
- TISTORY
- 개발
- FTZ
- 파이썬
- DoH
- www
- 분석
- 스크립트
- 해커스쿨
- hackerschool
- 프로그래밍 언어
- python
- CODEGATE 2014
- CK Exploit Kit
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |