일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정보처리기사 실기
- SQL
- Buffer Overflow
- OS
- wargame
- webhacking
- 운영체제
- 정보보안기사
- LOB
- Spring Framework
- hacking
- 네트워크
- 워게임
- Shell code
- Spring MVC
- System
- 해킹
- Operating System
- Lord of BOF
- stack overflow
- webhacking.kr
- 정보보안기사 실기
- Payload
- Spring
- pwnable
- system hacking
- BOF
- PWN
- Pwnable.kr
- 웹해킹
- Today
- Total
목록system hacking (38)
DongDD's IT
[pwnable.kr] random Problem random value를 프로그래밍에 사용하는 방법을 배웠다고 되어있었다.random과 관련된 프로그래밍이 되어있을 것 같았다.먼저 ssh를 통해 접속해보았다. ssh를 통해 접속하니 flag파일과 random 실행 파일, random.c 소스 코드 파일이 있었다.먼저 소스 코드를 확인해보았다. 12345678910111213141516171819#include int main(){ unsigned int random; random = rand(); // random value! unsigned int key=0; scanf("%d", &key); if( (key ^ random) == 0xdeadbeef ){ printf("Good!\n"); syste..
[pwnable.kr]passcode Problem 로그인 시스템을 기초로 하는 passcode를 만드는 법을 들었다고 되어있고 C code로 에러없이 컴파일했지만 몇 개의 warning이 출력되었는데 봐줄 수 있느냐고 되어있었다.문제만 읽어서는 예측이 되지 않아 일단 ssh로 접속을 했다. ssh로 접속해서 확인해보니 flag 파일 하나와 passcode 실행 파일, passcode.c 소스 코드 파일이 있었다.먼저 소스코드를 확인해보았다. 12345678910111213141516171819202122232425262728293031323334353637383940414243#include #include void login(){ int passcode1; int passcode2; printf("e..
[pwnable.kr] flag Problem packed된 선물을 받았다고 되어있고 그것을 열어보라고 되어있었다.이번 문제에서는 접속할 수 있는 서버가 없었고 다운 받을 수 있는 파일이 하나 주어져있었다.reversing이라고 되어있었고 해당 binary파일만 있으면 문제를 해결할 수 있다고 써있었다.packed를 보아 packing된 파일일 수도 있다는 생각이 들었다. Solution 먼저 파일을 ubuntu환경으로 옮겨 실행해보니 다음과 같은 message가 출력되었다. 이 message가 flag인가 싶어 입력해보았지만 실패했다.Reversing과 관련되었다고 써있었기 때문에 IDA를 통해 열어보았다. 코드 내에 특별한 점은 보이지 않아 string을 확인해보니 upx라는 단어를 볼 수 있었다.u..
[pwnable.kr] bof Problem buffer overflow가 가장 일반적인 소프트웨어 취약점이라고 들었는데 이것이 사실이냐 묻고있다.buffer overflow에 대한 문제일 것 같았다.이번 문제에서는 ssh로 접속할 수 있는 서버가 주어지지 않았고 nc로 프로그램에 연결할 수 있게 되어있었고 소스 코드 파일과 bof 실행 파일을 다운 받을 수 있게 되어있었다.먼저 소스 코드를 확인해보았다. 12345678910111213141516171819#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcaf..
[pwnable.kr] collision Problem 문제에서 MD5 Hash 충돌에 대해서 들었다고 되어있고 자신 또한 그런 것을 하고 싶다라고 적혀있었다.MD5 Hash에 관련된 문제인 것 같았다.먼저 ssh로 접속해보았다. col 실행 파일과 col.c 소스 코드 파일과 flag파일이 있었다. 먼저 소스 코드를 확인해보았다. 1234567891011121314151617181920212223242526272829303132#include #include unsigned long hashcode = 0x21DD09EC;unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i
[pwnable.kr] fd Problem Linux의 file descriptor가 무엇인지 묻고 있는 문제였다.fd와 관련된 내용이 나올 것 같다는 생각이 들었다. ssh로 fd@pwnable.kr에 접속하니 위와 같은 화면을 볼 수 있었다.fd 실행파일과 fd.c 소스 코드 파일과 flag 파일이 있었다.먼저 소스 코드를 확인해 보았다. 12345678910111213141516171819202122#include #include #include char buf[32];int main(int argc, char* argv[], char* envp[]){ if(argc
[LOB] Level20 xavius Problem LOB 마지막 20번째 문제이다. 마지막 문제에서도 death_knight 실행 파일 하나와 death_knight.c 소스 코드 파일이 있었다.먼저 소스 코드를 확인해보았다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364#include #include #include #include #include #include #include #include #include main(){ char buffer[40]; int server_fd, client_fd; struct sockaddr_in ..
[LOB] Level19 nightmare Problem 이번 문제에서도 xavius 실행 파일과 xavius.c 소스 코드 파일이 있었다.소스 코드를 확인해보았다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include #include #include main(){ char buffer[40]; char *ret_addr; // overflow! fgets(buffer, 256, stdin); printf("%s\n", buffer); if(*(buffer+47) == '\xbf') { printf("stack retbayed you!\n"); exit(0); } if(*(buffer+47)..
[LOB] Level18 succubus Problem 이번 문제에서도 nightmare 실행 파일과 nightmare.c 소스 코드 파일이 있었다.소스 코드를 확인해보았다. 123456789101112131415161718192021222324252627282930#include #include #include #include main(int argc, char *argv[]){ char buffer[40]; char *addr; if(argc
[LOB] Level17 zombie_assassin Problem 이번 문제에서도 succubus 실행 파일과 succubus.c 소스 코드 파일이 있었다.먼저 소스 코드를 확인해보았다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788#include #include #include // the inspectorint check = 0; void MO(char *cmd){ if(check != 4) exit(0); printf("welcome to the ..