pw is king poetic 이번엔 .c 파일은 없고 다른 문제들과 동일하게 attackme 파일만 있다. 힌트는 다음과 같다. #include void printit() { printf("Hello there!\n");} main(){ int crap; void (*call)()=printit; char buf[20]; fgets(buf,48,stdin); setreuid(3098,3098); call();} main 안에 setreuid가 있는걸 보니 왠지 환경변수를 사용해야할 것 같다.일단export SHELLCODE=$(python -c 'print "\x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80\x31\xc0\x50\x68..
16번은 attackme.c 파일도 존재한다. 힌트는 다음과 같다. #include void shell() { setreuid(3097,3097); system("/bin/sh");} void printit() { printf("Hello there!\n");} main(){ int crap; void (*call)()=printit; char buf[20]; fgets(buf,48,stdin); call();} 코드만 볼땐 shell() 함수가 실행돼야 하는데, shell() 함수가 사용된 곳은 없고왠지 *call 부분을 수정해 shell 함수의 주소를 실행하도록 하면 될 것 같다. gdb로도 보자.Dump of assembler code for function main:0x08048518 :push ..
힌트는 다음과 같다 #include main(){ int crap; int *check; char buf[20]; fgets(buf,45,stdin); if (*check==0xdeadbeef) { setreuid(3096,3096); system("/bin/sh"); }} level15는 level14와 전체적인 코드는 비슷하지만포인터 변수 check와 0xdeadbeef 를 비교하는게 다르다.이번 문제는 포인터에 대한 이해가 요구되는 것 같다. A가 39개까진 들어가고 40개부터는 Segmentation fault가 뜬다. (gdb) disas mainDump of assembler code for function main:0x08048490 :push ebp0x08048491 :mov ebp,esp..
level14도 bof 문제이다.힌트는 다음과 같다. 레벨14 이후로는 mainsource의 문제를 그대로 가져왔습니다.버퍼 오버플로우, 포맷스트링을 학습하는데는 이 문제들이최고의 효과를 가져다줍니다. #include #include main(){ int crap; int check; char buf[20]; fgets(buf,45,stdin); if (check==0xdeadbeef) { setreuid(3095,3095); system("/bin/sh"); }} 대충 코드를 보면 buf의 공간은 20이지만 fgets로 45만큼 받아서 buf에 저장한다.그리고 check가 0xdeadbeef 와 일치하면 level15의 쉘을 따낼 수 있다.crap은 어디서 쓰이는 걸까 궁그미 (gdb) disas ma..
flag.txt 파일을 찾아야 하는데알려준 것은 NodeJS , poems folder, path를 이용한다는 것. ?path 로 들어가면 poems 디렉토리에 여러 txt 파일들이 있지만 flag.txt는 없다?path=(파일명) 으로 들어가면 그 파일의 내용이 보인다. ?path=.. 으로 상위 디렉토리에 접근하려고 했으나 WHOA THATS BANNED!!!! 가 뜨면서 접근이 안된다.그래서 . 을 아스키 코드로 변환(%2e)하여 입력했는데 그래도 접근이 안된다. %2e 를 한번 더 아스키 코드로 변환하면 % 가 %25로 바뀌기 때문에%252e가 되는데 이걸 이용해 flag.txt 파일에 접근할 수 있었다.
- Total
- Today
- Yesterday
- ftz
- Los
- my-pass
- 자바
- wargame
- MySQL
- lob
- webhacking.kr
- 웹해킹
- C
- 0xdeadbeef
- Python
- 설치
- 1번
- lord of sqlinjection
- wargame.kr
- cobolt
- java
- BOF
- Lord of SQL Injection
- ubuntu
- 파이썬
- 우분투
- 명령어
- pwnable
- 워게임
- c언어
- pwnable.kr
- attackme
- WebHacking
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |