level13도 bof 문제인 것 같다. 힌트는 다음과 같다. #include main(int argc, char *argv[]){ long i=0x1234567; char buf[1024]; setreuid( 3094, 3094 ); if(argc > 1) strcpy(buf,argv[1]); if(i != 0x1234567) { printf(" Warnning: Buffer Overflow !!! \n"); kill(0,11); }} i = 19088743buffer는 1024인자가 1개보다 많으면 strcpy를 통해 buf에 인자로 받은 값을 복사한다. 복사한 후, i가 0x1234567이 아니면 Warnning을 출력하고, 프로그램을 종료시킨다. gdb로도 한번 보자. (gdb) disas mai..
level12도 attackme가 있는걸 보니 또 bof 문제인 것 같다. 힌트는 다음과 같다. #include #include #include int main( void ){char str[256]; setreuid( 3093, 3093 );printf( "문장을 입력하세요.\n" );gets( str );printf( "%s\n", str );} (gdb) disas mainDump of assembler code for function main:0x08048470 :push ebp0x08048471 :mov ebp,esp0x08048473 :sub esp,0x1080x08048479 :sub esp,0x80x0804847c :push 0xc150x08048481 :push 0xc150x0804848..
level11 의 파일 목록은 지금까지와 조금 다르다hint 말고도 attackme 라는게 있다 게다가 level12 가 붙어있다attackme를 attack 하면 level12로 넘어가거나, pw를 알려줄 것 같다. 힌트는 다음과 같다.[level11@ftz level11]$ cat hint #include #include int main( int argc, char *argv[] ){char str[256]; setreuid( 3092, 3092 );strcpy( str, argv[1] );printf( str );} attackme를 그냥 실행시키면 Segmentation fault가 뜬다. [level11@ftz level11]$ gdb -q attackme(gdb) set disassembly-..
29번은 파일 업로드 문제이다. 문서파일에 있던 빈 파일 wrong.txt 를 제출했을 때의 상태이다.filename="wrong.txt" 이렇게 제출한 파일명과 확장자가 들어간다. 이 filename 부분을 이용해 sql injection을 하는 것 같은데 select password from c29_tb 가 힌트에 있는 것을 보니파일명에 저 c29_tb 테이블에서 password를 찾는 쿼리문을 넣으면 될 것 같다. 파일명 부분엔 아무거나 넣고 select password from c29_tb 와 자신의 ip를 ascii 값으로 변환하여 filename부분에 입력해주면 된다. "aaa', (select password from c29_tb), char(~~~~~~~~~~~~~~~~~~));#" fil..
55번 문제는 마우스 커서 위치에 따라 Score 부분이 달라지고 rank 페이지로 넘어갈 수 있는 링크가 있다.익플로 하면 저 캐릭터가 따라서 움직인다고 하나 크롬을 사용했더니 고정돼있다. 눈만 빨갛게 변할뿐 rank 페이지로 넘어가 페이지 소스를 보면 밑부분에 hint가 있다. small letter==================== --> score값에 테이블 내에 동일한 숫자인 2147483647을 넣어봤더니 그냥 id : id값 // score가 뜬다. ?score=0 and 1=1 을 하면 참이라 id : localhost // 0 이 뜬다. 그 외엔 id와 score 값이 뜨지 않는다. procedure analyse()를 사용하면 테이블명과 컬럼을 확인할 수 있다고 한다. ?score=0..
level10의 hint의 내용은 다음과 같다. 두명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다.그 대화방은 공유 메모리를 이용하여 만들어졌으며,key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여level11의 권한을 얻어라. - 레벨을 완료하셨다면 소스는 지우고 나가주세요. 공유 메모리를 이용해 대화방이 만들어졌고, key_t의 값이 7530 이라고 해서공유 메모리와 관련된 명령어를 이용해봤다. IPC 확인 => ipcs -q공유 메모리 확인 => ipcs -m세마포어 확인 => ipcs -s 공유 메모리를 확인했을 때, key 값에 hex로 0x00001d6a 가 있어서 10진수로 변환했더니 7530이 떴다. 우선 공유메모리에 대해 공부를 하고 tmp 디렉토리에 들어..
level9의 힌트는 다음과 같다.다음은 /usr/bin/bof의 소스이다. #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); system("/bin/bash"); }} 이를 이용하여 level10의 권한을 얻어라. bof만 봐도 buffer over flow 문제라는 것을 알 수 있다. buf와 buf에 공간을 10씩 주지만 fgets에서는 40만큼 입력받아 buf에 저장한다.그 후에 buf2..
level9의 shadow 파일이 서버 어딘가에 숨어있다.그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다. 딱 보자마자 생각난게 리눅스상에서 파일 용량으로 파일을 찾는 것! 그래서 find 명령어의 size 옵션을 사용했다. b : 블록단위 512kb c : byte k : kbyte w : 2byte 워드 + : 입력 숫자 이상 - : 입력 숫자 이하아무것도 없으면 그 용량에 맞는 파일을 찾아준다. find / -size 2700c 2>/dev/null 뒤에 2>/dev/null은 꼭 적어주자 etc/rc.d 디렉토리에 있는 found.txt를 읽어보면 level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 l..
힌트는 다음과 같다. [level7@ftz level7]$ cat hint /bin/level7 명령을 실행하면, 패스워드 입력을 요청한다. 1. 패스워드는 가까운곳에..2. 상상력을 총동원하라.3. 2진수를 10진수를 바꿀 수 있는가?4. 계산기 설정을 공학용으로 바꾸어라. bin 디렉토리에 들어가서 level7을 실행시키면 Insert The Password 가 뜨면서 pw를 입력하도록 되어있다.아무값이나 넣었을 때, cat: /bin/wrong.txt: No such file or directory 라고 뜨는걸 보니 wrong.txt가 없어 읽어오질 못하나보다. 원래 wrong.txt 파일이 있어야 하는데 찾아보니 없어졌다고 한다. 올바르지 않은 패스워드 입니다.패스워드는 가까운곳에...--_--_..
level6 는 id와 pw를 치고 들어가자마자 hint - 인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이다. 라고 뜬다. 명령어 같은 다른 텍스트를 입력하면 다음과 같이 뜬다. 접속하고 싶은 bbs 숫자를 선택하면 Trying ~~~ 하면서 접속중인 듯 하다.텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이라고 하니 이 과정중에서 뭔가 하면 될 것 같다. 텔넷 접속 서비스가 출력되었을 때 ctrl+c 를 했더니 Can't use ctrl+c가 뜨면서 작동하지 않는다. 그래서 다시 level6에 접속하여 힌트 텍스트가 출력될 때 ctrl+c 로 종료를 시켜봤더니 level6 의 쉘이 떴고, 파일 목록을 보니 hint 외에 password 라는 파일이 또 있었다.그래서 읽어봤더니 level7의..
- Total
- Today
- Yesterday
- WebHacking
- ubuntu
- my-pass
- c언어
- MySQL
- attackme
- pwnable
- 우분투
- webhacking.kr
- 워게임
- C
- cobolt
- 자바
- pwnable.kr
- Los
- lob
- 명령어
- 0xdeadbeef
- java
- lord of sqlinjection
- wargame.kr
- BOF
- ftz
- Lord of SQL Injection
- Python
- 1번
- wargame
- 파이썬
- 웹해킹
- 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |