목록hacking (2)
jyamethyst21 님의 블로그
문제:요즘 워게임보다 코드에 집중을 했던 터라 오랜만에 다시 워게임에 손을 대봤다. 유료로 바뀐 드림핵.. 동아리 계정을 받게 되어 다시 들어가볼 수 있었다! 예전에 리버싱 처음 배울 때 풀었던 문제인데 요즘 통 리버싱을 안했어서.. 다시 감을 익히기 위해 기초 문제부터 손을 대볼까한다. 해당 문제는 correct를 출력하는 값을 찾으면 되는 아주 간단한 문제이다. 바로 풀이로 넘어가보도록 하겠다. 풀이:파일 구조를 살펴보기 위해 IDA를 활용하여 구조를 살펴보았다.if문과 같이 두 갈래로 나뉘는 곳에 "Correct"라는 문자열이 있는 것을 볼 수 있다. 아마 IDA도 x64dbg 처럼 문자열 검색이 있을거라 correct라고 검색해서 찾으면 좀 더 쉬울 것이다. 하지만 오랜만인만큼 정석대로 풀어볼까한..
해당 문제의 사이트에 접속해보면 위와 같다. host에 8.8.8.8을 입력하니 위와 같이 ping이 꽂히는 걸 알 수 있다.이 명령창을 통해 flag.py를 찾으면 되는 문제같다. #!/usr/bin/env python3import subprocessfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)@APP.route('/')def index(): return render_template('index.html')@APP.route('/ping', methods=['GET', 'POST'])def ping(): if request.method == 'POST':..
