일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- tcache
- heap exploit
- seccomp
- K-shield Junior
- RTL
- shellcode
- heap feng shui
- malware
- Dynamic Analysis
- HackCTF
- _IO_FILE
- vtable
- heap
- Android
- GOT overwrite
- 나뭇잎 책
- DFC 2022
- _IO_FILE Arbitrary Address Read
- _IO_FILE Arbitrary Address Write
- DreamHack
- BOF
- Lazenca
- __environ
- master canary
- Reversing
- srop
- UAF
- ROP
- DFB
- H4CKING GAME
- Today
- Total
목록Wargame (59)
Studying Security
보호되어 있는 글입니다.
보호되어 있는 글입니다.

csrf-1 문제 정보 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제풀이 위와 같은 사이트를 볼 수 있고 링크가 걸린 페이지를 살펴봅니다. vuln(csrf) page 태그가 동작하지 않아 alert(1)과 같이 페이지에 출력이 이루어지는 것을 볼 수 있습니다. memo 무언가를 출력할 수 있는 공간이 존재합니다. notice flag /admin/notice_flag에 접근하기 위해서는 127.0.0.1이면서 userid가 admin일 때 접근이 가능하다. flag vuln?param에 임의의 원하는 값을 줄 수 있습니다. 는 사용할 수 없기 때문에 img 태그를 이용해 notice_flag에 userid=admin으로 요청을 보내..

xss-1 문제 정보 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 문제풀이 위와 같은 사이트를 볼 수 있고 vuln(xss) page 이런식으로 alert(1)을 통해 를 전달한다면 memo 엔드포인트에서 이용자의 쿠키 정보를 확인할 수 있습니다. xss-2 문제 정보 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 문제풀이 xss-1와 비슷하지만 태그가 동작하지 않는다. 따라서 이를 우회할 수 있는 다른 방법을 사용해야한다. img태그의 onerror를 이용해 src가 ..

문제 정보 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 문제풀이 해당 사이트가 주어지는데 app.py를 제공해주기 때문에 어떻게 동작하는지 알 수 있다. 위를 통해 guest: guest와 user: user1234로 접속이 가능하다는 사실을 알 수 있다. guest로 접속을 시도하면 Hello guest, you are not admin이라는 문자열이 사이트에 출력된다. 그리고 cookie도 생성되는 것을 볼 수 있다. user로 접속해도 guest와 같이 사이트에 문자열을 출력하고 cookie가 생성된다. admin의 sessionid가 있어야 인증을 통과할 수 있을 것 같다. /admin이라는 route가 보여..

문제 정보 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 문제풀이 해당 사이트가 주어지는데 app.py를 제공해주기 때문에 어떻게 동작하는지 알 수 있다. 위를 통해 guest: guest로 접속이 가능하다는 사실을 알 수 있다. guest로 접속을 시도하면 Hello guest, you are not admin이라는 문자열이 사이트에 출력된다. 그리고 cookie도 생성되는 것을 볼 수 있다. cookie로 인증상태를 관리하는 사이트라고 했기 때문에 cookie의 guest value를 admin으로 바꿔보도록 했다. 바꾸고 새로고침을 해주면 flag값을 획득할 수 있다. Reference https://dreamhack.io/

devtools-sources 개발자 도구의 sources에서 flag를 찾아 획득하는 문제! chrome 개발자 도구 F12 Ctrl+Shift+i 직접 도구 더보기 → 개발자 도구 클릭 funjs Find FLAG !라는 문구가 돌아다니고 일치하는 FLAG를 입력할 경우 이를 출력해주는 문제 일단 너무 움직이기 때문에 움직임을 담당하는 함수를 주석처리했다. 이어서 flag입력 후 submit시에 main함수가 동작하는데 이를 살펴보면 flag의 무언가를 비교하는 모습을 볼 수 있다. console.log를 통해 flag[_0x374fd6(0x17c)]가 무엇인지 출력해봄으로써 flag를 획득할 수 있었는데 if(flag[_0x374fd6(0x17c)] != 0x24) → flag의 길이가 0x24인지..

Mitigation Main function Vulnerability Analysis seccomp-tools로 해당 바이너리 파일을 살펴보면 rt_sigreturn, sigreturn, exit_group, exit, open, read, write에 대해서 허용을 해놓을 것을 확인할 수 있습니다. main함수를 살펴보면 0x804a060에 0xc8 size의 데이터를 입력 받고 0x804a060을 호출하고 있습니다. 목표는 /home/orw/flag의 값을 획득하는 것이기 때문에 0x804a060에 flag를 획득할 수 있는 shellcode를 작성하면 됩니다. shellcode는 아래와 같은 동작을 수행하도록 작성하면 됩니다. fd = open("/home/orw/flag") read(fd, buf..