본문 바로가기

전체 글154

webhacking.kr 39번 문제 webhacking.kr 39번 문제를 클릭하면 다음과 같은 페이지가 뜬다. 아무글자나 입력해서 쿼리를 전송해보니까 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/webhacking_kr/challenge/bonus/bonus-10/index.php on line 18 위와 같은 경고가 뜬다. mysql_fetch_array()를 호출할때 사용한 쿼리가 틀려서 18번째 라인에서 에러가 났다는 뜻이다. 소스보기로 왜 에러가 발생했는지 살펴보자. 오류에 대한 원인은 없고 다만, 라고 주석이 달려있다. 해당 주소로 이동해보자. (http://webhacking.kr/challenge/bonu.. 2010. 3. 23.
리눅스 BOF 공부...! 학교에서 정보보호론 수업을 듣는데 거기서 BOF 에 대해 공부를 한다. 그리고 이번주 과제는 간단한 RTL BOF 문제였다. 하지만 난 BOF 에 대한 개념만 어렴풋이 알고 실제로 어떻게 공격하는지 몰라 한 3~4 시간 삽집을 하던 끝에 아침에 동방에서 헬소닉(HellSonic)에게 도움을 청했다. 문제를 보며 헬소닉 하는말. 아 형 이건요 GDB 로 보면 리턴어드레스 다 보여요.. 하면서 5분도 안되서 간단하게 풀어버렸다. 게다가 아 형 이것도 알아두시면 좋아요 하면서 system 함수의 주소를 알아낸다음 그 주소로 리턴하고 심볼릭 링크를 이용하여 쉘을 실행시키는 기법도 가르쳐 주었다. 또 실제 해킹대회에서 BOF 문제가 나왔을때 푸는 방법에 대한 흐름도 가르쳐 주었다. 난 메모장에다가 미친듯이 메모를.. 2010. 3. 23.
PuTTY 사용하기(원격접속 프로그램) 다운받은뒤 설치를 한다. 실행을 시키면 다음과 같은 창이 뜨는데 자기한테 맞게 설정을 해줄수 있다. 접속할 호스트와 포트, 프로토콜을 입력한뒤 열기를 누르면 접속된다. (자주 접속하는 곳에 대한 정보는 세션에 저장을 하면 편하게 이용할수 있다) 2010. 3. 22.
간단한 리눅스 RTL BOF RTL BOF : (Return To Library Buffer Over Flow) 문제 환경 : bof1.c : 공격대상 파일 소스 bof1 : 공격대상 실행파일 문제 실행 결과 : [linuxer@sclclass2 s12091455]$ ./bof1 enter id dakuo you entered dakuo program ends here 문제요구 조건 : RTL BOF 공격을 이용해 enter id 입력하는 구문으로 되돌아오기. enter id .................. you entered .......... enter id you entered ......... ................ 사전조사 : [linuxer@sclclass2 ~]$ cd s12091455 [linuxer@scl.. 2010. 3. 22.
분기문 ( if, if - else, switch ) 분기문 : 프로그램의 흐름을 조건에 따라서 분기시킨다. if 문 : 개념 : 조건식이 TRUE면 if 문 내의 문장을 실행한다. (FALSE 라면 건너뛴다) 사용법 : 예외처리, 단순조건검사(하나의 경우검사)에 쓰임. if(조건) { 실행할 문장; } #include void main() { int num; scanf("%d", &num); // 숫자를 입력받음 // cin>>num; (C++ 기반) if(num>0) { printf("입력하신 수는 양수입니다\n"); // 출력 // cout 입력하신 수는 음수입니다 , 1 입력 -> 입력하신 수는 양수입니다. if - else if - else 문 : 여러 경우로 흐름이 나뉠때 쓰임(경우에 따라 switch 와 바꿔쓸수 있다) 개념 : if -> 조건.. 2010. 3. 20.
자료형, 상수, 변수, 연산자 예) int main() { int a = 5 ; // 지역변수 자료형 변수 연산자 상수 } 자료형 : 선언할 변수들의 특징 자료형(data type) 할당되는 메모리 크기 표현가능한 크기 정수형 / char 1 byte -128 ~ +127 (문자) 정수형 / short 2 byte -32768 ~ +32767 정수형 / int 4 byte -2147483648 ~ +2147483647 (숫자) 정수형 / long 4 byte -2147483648 ~ +2147483647 실수형 / float 4 byte 3.4*10^-37 ~ 3.4*10^+38| 소수이하 6자리까지 정밀 실수형 / double 8 byte 1.7*10^-307 ~ 3.4*10^308 (실수) 소수이하 15자리까지 정밀 실수형 / l.. 2010. 3. 16.