호그와트 357

드림핵 basic explorer 01

포너블에서의 서버는 netcat이라는 프로그램을 사용하여 접속합니다. 이러한 서버에 접속하기 위해서는 bash창이나 terminal창에서 nc라는 명령어를 통해 접속해야 합니다. 예시로, host : host1.dreamhack.games port : 8888 일 경우에는 리눅스에서 “nc host1.dreamhack.games 8888” 이런식으로 접속하면 됩니다. ​ ​ from pwn import* ​ p = remote("host1.dreamhack.games", 12830) ​ read_flag_address = 0x80485B9 ​ payload = 헤으응 ​ payload += 헤헤(read_flag_address) ​ p.sendline(payload) ​ p.interactive()

호그와트 2021.11.16

드림핵 ssti 핵심

웹 어플리케이션에서 동적인 내용을 HTML로 출력할 때 미리 정의한 Template에 동적인 값을 넣어 출력하는 Template Engine을 사용하기도 합니다. 내 정보를 출력하는 페이지를 예로 들면 오른쪽 탭의 코드처럼 Template을 만들고 변수를 넣어 동적으로 HTML을 만들 수 있습니다. ​ 만약 Template 내부에서 사용되는 context가 아닌 Template source에 사용자 입력이 들어가게 된다면 악의적인 입력을 통해 개발자가 의도하지 않은 임의의 Template 기능을 실행할 수 있습니다. 즉, 사용자의 입력 데이터가 Template에 직접 사용될 경우 Template Engine이 실행하는 문법을 사용할 수 있기 때문에SSTI 취약점이 발생하게 됩니다. ​ SSTI 취약점을 ..

호그와트 2021.10.25

드림핵 로그인 문제

admin admin 11 panda panda123 58 ​ 93 88 81 12 84 92 17 83 99 ​ 단박에 정답을 맞출 수 있었다 대략 5분 정도만에 답이 나왔다 몇 시간씩 걸린 사람들도 있다고 하던데 나는 직관적으로 답에 접근할 수 있어서 훨씬 쉽게 답을 맞출 수 있었던 거 같다 2단계 문제도 생각보다 쉽다는 것을 알 수 있었다 물론, 답을 맞췄다고 문제가 가진 단물을 다 먹은 것은 아니겠지만 어쨋든 나는 2단계 이상의 문제도 충분히 맞출 수 있는 능력이 있다는 것을 알게 되었다 ​ 개인적으로 웹 중에 가장 쉽게 풀었다 ;; guest 아이디 하나 만들어보고 바꿔보고 하면서 backcode가 존재한다는 점을 바로 파악할 수 있었다 (헤으응)라는 아이디가 존재한다는 것을 알게 되었고 그렇다..

호그와트 2021.10.25

드림핵 쿠키 쿠키

드림핵 워게임 중에서 가장 쉬운 문제이다 ​ 웹에서는 쿠키로 상대방을 구분한다 상대방이 어떠한 권한을 가지는 것이 적절한지 그 사람의 시그니처를 통해서 구분한다고 볼 수 있다 웹에서 각 사용자들에게 쿠키를 할당하는 것이다 ​ 프로그램을 보면 가장 핵심이 되는 부분이 있다 users = { 'guest': 'guest', 'admin': FLAG } 바로 이 부분이다. cookie를 할당하는데 사용자는 guest와 admin 두 명이다 더군다나 암호화하지도 않는다 ​ 개발자도구를 켜준 후에 guest에서 admin으로 바꾼다 바로 FLAG를 얻을 수 있다

호그와트 2021.10.25

드림핵 csrf-2 풀이

나름 가설을 세워서 접근했다 을 flag로 해서 (POST) 보내면 ("/change_password")함수에 나와있는 대로 비밀번호가 변경될 거라고 생각했다 그렇게 비밀번호만 변경되면 로그인해서 admin권한을 획득하면 된다고 생각했다 그래서 admin으로 하기 전에 guest로 실험을 해봤다 guest로 맨 먼저 로그인을 해봤더니 주어진 비밀번호대로 잘 되었다 그리고 그 상태로 다시 guest로 로그인을 했더니 sessionid만 바뀌고 잘 로그인이 되는 것을 확인했다 자 이제 작전 개시 ! 를 다시 POST방식으로 보내보았다 그러나 여전히 guest로 잘 로그인이 되는 것을 확인했다 guest로 로그인 된 상태에서 ("/change_password")함수를 실행시키면 guest/guest그대로 로그..

호그와트 2021.10.22

드림핵 크롤링 풀이

질문 중에 하나는 로컬 환경 어쩌고 하던데 실제로는 그런 건 전혀 필요 없는 문제이다 url을 잘 구성하는 것이 이 문제가 원하는 핵심이라고 할 수 있다 https://umbum.dev/473 참고자료 ​ http://google.com:80+&@127.88.23.245:22/#+@google.com:80/ http://127.88.23.245:22/+&@google.com:80#+@google.com:80/ http://google.com:80+&@google.com:80#+@127.88.23.245:22/ ​ http://google.com:80+&@google.com:80#+@127.88.23.245:22/admin/ ​ http://google.com:80+&@google.com:80#+@127...

호그와트 2021.10.22

레나 튜토리얼 재밌엉

아마 레나 튜토리얼 첫 번째 건가 그렇습니다 이 내용보다는 다른 분들의 내용을 참고하기를 추천드립니다 왜냐면 다른 분들의 내용이 더 깔끔하기 때문입니다 ​ 솔직히 처음 볼 때는 감이 안 잡히는 게 많았는데 다시 보면서 직접 해보니 감을 잡을 수 있었다 주어진 파일을 잘 보면 결국엔 원하는 값에 도달하기를 원한다는 것을 알 수 있다 DE 204000에서 "you did it well!! congratz !!" 뭐 대충 이런 값이 나오는데 이 값이 최종 플래그라고 할 수 있다 그런데 코드를 자세히 보면 여기에 도달하는데 총 2가지의 장애물이 있다 ​ 1번째 장애물은 messagebox라고 하면서 나오는 점프 문 안에 있는 무언가이다 그런데 이 점프 문은 ZF값에 따라 점프를 할 지 안 할 지 결정하므로 점프..

호그와트 2021.10.18