문제 해결 후 질문 있습니다!!

코드를 해석해서 change_password경로로 들어가 비밀번호를 바꿔주는 것까지는 해석했습니다. 그런데 비밀번호를 바꾸기 위해 로그인이 필수여서 guest 아이디로 로그인을 했고, guest 아이디로 로그인이 되어있는 상태에서 비밀번호를 바꿔주었는데, 왜 admin 아이디의 비밀번호가 바뀌는지 잘 이해가 가질 않습니다. 제가 해석을 간과하고 넘어간 코드 부분이 있는지, 혹은 ~~이렇게 해서 admin 계정의 비밀번호가 바뀐다는 것인지 알려주시면 감사하겠습니다 .

#web
작성자 정보
답변 1
avatar
YaPoo
공부벌레

우선 csrf 공격 기법의 과정에 대해 좀 더 고민해보시면 좋을 것 같습니다!
아마 이 문제에서 csrf 구문을 작성하여 flag 페이지에 입력했던 걸로 기억하고 있는데..
csrf의 경우 공격자의 계정과는 관계가 없고, 공격을 당하는 피해자가 csrf 구문을 읽고 실행됨으로써 발생하는 피해를 말합니다.
때문에 사실 공격자의 계정과는 연관이 없죠!
아마 이부분이 헷갈리셨던것 같은데 csrf 공격이 왜 발생하는지, 피해자 시점에서 고민해보시면 좋을것 같습니다 :)
추가로 문제파일에 존재하는 read_url 함수가 어떤 기능인지도 직접 분석해보시는게 해당 문제와 앞으로의 web 문제를 푸실때 좀 더 원할하실겁니다!

def read_url(url, cookie={"name": "name", "value": "value"}):
    cookie.update({"domain": "127.0.0.1"})
    try:
        options = webdriver.ChromeOptions()
        for _ in [
            "headless",
            "window-size=1920x1080",
            "disable-gpu",
            "no-sandbox",
            "disable-dev-shm-usage",
        ]:
            options.add_argument(_)
        driver = webdriver.Chrome("/chromedriver", options=options)
        driver.implicitly_wait(3)
        driver.set_page_load_timeout(3)
        driver.get("http://127.0.0.1:8000/")
        driver.add_cookie(cookie)
        driver.get(url)
    except Exception as e:
        driver.quit()
        print(str(e))
        # return str(e)
        return False
    driver.quit()
    return True
    ```
2023.04.27. 14:25
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기