호그와트 (367) 썸네일형 리스트형 드림핵 로그인 문제 admin admin 11 panda panda123 58 93 88 81 12 84 92 17 83 99 단박에 정답을 맞출 수 있었다 대략 5분 정도만에 답이 나왔다 몇 시간씩 걸린 사람들도 있다고 하던데 나는 직관적으로 답에 접근할 수 있어서 훨씬 쉽게 답을 맞출 수 있었던 거 같다 2단계 문제도 생각보다 쉽다는 것을 알 수 있었다 물론, 답을 맞췄다고 문제가 가진 단물을 다 먹은 것은 아니겠지만 어쨋든 나는 2단계 이상의 문제도 충분히 맞출 수 있는 능력이 있다는 것을 알게 되었다 개인적으로 웹 중에 가장 쉽게 풀었다 ;; guest 아이디 하나 만들어보고 바꿔보고 하면서 backcode가 존재한다는 점을 바로 파악할 수 있었다 (헤으응)라는 아이디가 존재한다는 것을 알게 되었고 그렇다.. 드림핵 쿠키 쿠키 드림핵 워게임 중에서 가장 쉬운 문제이다 웹에서는 쿠키로 상대방을 구분한다 상대방이 어떠한 권한을 가지는 것이 적절한지 그 사람의 시그니처를 통해서 구분한다고 볼 수 있다 웹에서 각 사용자들에게 쿠키를 할당하는 것이다 프로그램을 보면 가장 핵심이 되는 부분이 있다 users = { 'guest': 'guest', 'admin': FLAG } 바로 이 부분이다. cookie를 할당하는데 사용자는 guest와 admin 두 명이다 더군다나 암호화하지도 않는다 개발자도구를 켜준 후에 guest에서 admin으로 바꾼다 바로 FLAG를 얻을 수 있다 드림핵 path 풀이 취약점 @app.route('/get_info', methods=['GET', 'POST']) def get_info(): if request.method == 'GET': return render_template('get_info.html') elif request.method == 'POST': userid = request.form.get('userid', '') info = requests.get(f'{API_HOST}/api/user/{userid}').text return render_template('get_info.html', info=info) FLAG를 가져오는 부분 @app.route('/api/user/') @internal_api def get_flag(uid): try: in.. 드림핵 csrf-2 풀이 나름 가설을 세워서 접근했다 을 flag로 해서 (POST) 보내면 ("/change_password")함수에 나와있는 대로 비밀번호가 변경될 거라고 생각했다 그렇게 비밀번호만 변경되면 로그인해서 admin권한을 획득하면 된다고 생각했다 그래서 admin으로 하기 전에 guest로 실험을 해봤다 guest로 맨 먼저 로그인을 해봤더니 주어진 비밀번호대로 잘 되었다 그리고 그 상태로 다시 guest로 로그인을 했더니 sessionid만 바뀌고 잘 로그인이 되는 것을 확인했다 자 이제 작전 개시 ! 를 다시 POST방식으로 보내보았다 그러나 여전히 guest로 잘 로그인이 되는 것을 확인했다 guest로 로그인 된 상태에서 ("/change_password")함수를 실행시키면 guest/guest그대로 로그.. 드림핵 크롤링 풀이 질문 중에 하나는 로컬 환경 어쩌고 하던데 실제로는 그런 건 전혀 필요 없는 문제이다 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... 레나 튜토리얼 재밌엉 아마 레나 튜토리얼 첫 번째 건가 그렇습니다 이 내용보다는 다른 분들의 내용을 참고하기를 추천드립니다 왜냐면 다른 분들의 내용이 더 깔끔하기 때문입니다 솔직히 처음 볼 때는 감이 안 잡히는 게 많았는데 다시 보면서 직접 해보니 감을 잡을 수 있었다 주어진 파일을 잘 보면 결국엔 원하는 값에 도달하기를 원한다는 것을 알 수 있다 DE 204000에서 "you did it well!! congratz !!" 뭐 대충 이런 값이 나오는데 이 값이 최종 플래그라고 할 수 있다 그런데 코드를 자세히 보면 여기에 도달하는데 총 2가지의 장애물이 있다 1번째 장애물은 messagebox라고 하면서 나오는 점프 문 안에 있는 무언가이다 그런데 이 점프 문은 ZF값에 따라 점프를 할 지 안 할 지 결정하므로 점프.. 웹해킹 12번 문제 ck="="+String.fromCharCode(enco_(240)) +String.fromCharCode(enco_(220)) +String.fromCharCode(enco_(232)) +String.fromCharCode(enco_(192)) +String.fromCharCode(enco_(226)) +String.fromCharCode(enco_(200)) +String.fromCharCode(enco_(204)) +String.fromCharCode(enco_(222-2)) +String.fromCharCode(enco_(198)) +"~~~~~~" +String.fromCharCode(enco2) +String.fromCharCode(enco3) /x00/x00/x00/x00/x00/x00/.. 웹해킹 27번 문제 "select id from chall27 where id = 'guest' and no = 2 " "select id from chall27 where id = 'guest' and no = '1' " #, select, (, 공백, limit, = 이 있으면 no hack ("/#|select|\(| |limit|=|0x/i",$_GET['no'])) exit("no hack"); no=-1%09or%09no=2-- %0d-1%09or%09no%0d2-- %0d-1%09or%09no%0d2# no = (0) or no like 2-- =%090%09or%09no%09like%092-- (내가 생각했던 부분) =0)%09or%09no%09like%092--%09 (정답) 이전 1 ··· 41 42 43 44 45 46 다음