일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 버퍼오버플로우
- buffer over flow
- SQL Injection
- BOF
- Linux
- 리버싱
- NewsClipping
- 어셈블리어
- ctf
- Python
- PWN
- 리눅스
- reversing
- x64dbg
- RITSEC CTF 2019
- 보안뉴스
- 뉴스클리핑
- writeup
- termux
- RITSEC
- HackCTF
- Shadow 동아리
- requests
- webhacking
- ftz
- Next.js
- CodeEngn
- Hackerschool
- Nop Slide
- 웹해킹
- Today
- Total
목록Hackerschool (17)
Jaeseo's Information Security Story
FTZ - level12 - WriteUp Level12:it is like this 일단 hint를 보고 문제를 풀어봅니다. [level12@ftz level12cat hint #include #include #include int main( void ) { char str[256]; setreuid( 3093, 3093 ); printf( "문장을 입력하세요.\n" ); gets( str ); printf( "%s\n", str ); } 일단 이번에도 level 11 과 같이 bof를 일으켜 level13의 권한으로 shell를 띄우거나 my-pass명령어를 실행해야 하는 것으로 보입니다. 소스코드를 이용해서 디버깅용 프로그램을 만들어 gdb로 분석을 해봅니다. (gdb) set disassembly..
FTZ - level11 - WriteUp level11:what!@#$? 이번 문제는 bof의 개념에 대해 확실히 공부하게 되는 좋은 문제였습니다. bof에 대해 개념이 부족하시다고 생각하시는 분은 달고나 bof기초문서를 꼭 한번 읽어보시고 하시는 게 좋습니다. 일단 Hint파일을 봅니다. [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 ); } [level11@ftz level11]$ ls -la | grep attackme -rwsr-x--- 1 level12 ..
FTZ - level10 - WriteUp level10:interesting to hack! hint 파일을 봅니다. [level10@ftz level10]$ cat hint 두명의 사용자가 대화방을 이용하여 비밀스런 대화를 나누고 있다. 그 대화방은 공유 메모리를 이용하여 만들어졌으며, key_t의 값은 7530이다. 이를 이용해 두 사람의 대화를 도청하여 level11의 권한을 얻어라. - 레벨을 완료하셨다면 소스는 지우고 나가주세요. 힌트 파일을 보면 공유메모리에 대한 프로그래밍을 하고 key_t를 가지고 대화를 살펴 보라는 문제로 보입니다. 일단 c로 공유메모리 프로그램을 하기 위해 인터넷을 통해 검색을 해보았습니다. SharedMemory 위의 링크에 매우 자세히 설명이 되어 있어서 참고하면서..
FTZ - level9 - WriteUp level9:apple 일단 힌트를 살펴봅니다. [level9@ftz level9]$ cat hint 다음은 /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의 권한을 얻어라. 문제를 보면 입력은 buf만 받지만 buffer over flow를 이..
FTZ - level8 - WriteUp level8:break the world hint 파일! [level8@ftz level8]$ cat hint level9의 shadow 파일이 서버 어딘가에 숨어있다. 그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다. 2700이라는 것으로 일단 2700byte라는 것을 확인할 수 있다. find 명령어를 통해 찾아본다. [level8@ftz level8]$ find / -size 2700c 2>/dev/null /var/www/manual/ssl/ssl_intro_fig2.gif /etc/rc.d/found.txt /usr/share/man/man3/IO::Pipe.3pm.gz /usr/share/man/man3/URI::data.3pm.gz f..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CjP0v/btqzEg90ic9/cVBmrDqgCDaWJURSgH6hN0/img.png)
이전 level5의 WriteUp를 보실분은 아래의 링크로! FTZ - level5 - WriteUP 그전 level4 풀이를 보실 분은 아래 링크로 FTZ - level4 - WriteUp 이전 level3 WriteUp를 보고 싶은 분은 아래로 FTZ - level3 - WriteUp 일단 hint를 보고 문제를 풀어본다. 일단 autodig명령어를 이용하여 lev.. jaeseokim.tistory.com level6는 이번에는 특이하게 바로 shell로 나오지 않고 특이한 프로그램이 돌아가는 모습을 볼수가 있다. 일단 접속을 하면 "인포샵 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이다." 라는 hint를 알려주고 있다. 엔터를 입력을 하면 위와 같은 화면이 뜨면서 알맞은 숫자를 입력 해..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lcxay/btqzCOfbtyM/KAvX7eYfx7MKe2pfWz7N01/img.png)
이전 level3 WriteUp를 보고 싶은 분은 아래로 FTZ - level3 - WriteUp 일단 hint를 보고 문제를 풀어본다. 일단 autodig명령어를 이용하여 level4의 권한을 얻어야 하는 것 같다. whereis와 ls -la를 통해 살펴 본 결과 leve4의 권한으로 set-uid가 설정되어 있다. 이제 autodig 명.. jaeseokim.tistory.com 일단 hint 파일을 읽어 본다. hint를 보니 /etc/xinetd.d/ 백도어를 숨겨두었다고 하니 이쪽을 공략 하여 다음 level5의 권한을 얻어야 하는 것으로 보인다. 일단 xinetd(슈퍼 데몬)의 설정 폴더로 이동하여 확인 한다. 중간에 backdoor 라는 파일이 level4의 소유그룹에 속한 것을 볼수가 있..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/btmNet/btqzD7yjFp5/TtGHgSyyMJlMH1Yd9vJMqK/img.png)
일단 hint를 보고 문제를 풀어본다. 일단 autodig명령어를 이용하여 level4의 권한을 얻어야 하는 것 같다. whereis와 ls -la를 통해 살펴 본 결과 leve4의 권한으로 set-uid가 설정되어 있다. 이제 autodig 명령어의 소스 코드를 살펴본다. #include #include #include int main(int argc, char **argv){ char cmd[100]; if( argc!=2 ){ // 만약 인자값 하나가 아니라면 간단한 설명을 보여주고 종료로 빠진다. printf( "Auto Digger Version 0.9\n" ); printf( "Usage : %s host\n", argv[0] ); exit(0); } strcpy( cmd, "dig @" );..