문제를 풀고 질문 있습니다.

<img src="/change_password?pw=admin"><img src="/login?username=admin&password=admin">
처음에는 위의 코드로 접근을 했는데 안되더라고요, <img src="/change_password?pw=admin">을 /flag에서 보내고 login페이지로 넘어가서 직접 입력하는 것은 되는데 왜 위에 것은 안되는 건지 잘 모르겠습니다. 동시에 하면 안되는 건가요?

#web
작성자 정보
답변 1
santa_
대표 업적 없음

위 스크립트 코드 <img src=“/change_password?pw=admin”><img src=“/login?username=admin&password=admin”>로 param 값을 작성하면 password는 admin으로 잘 변경될 것입니다. 이는 /flag 페이지에서 check_csrf() 함수와 read_url() 함수를 호출하여 url 요청을 보내기 때문입니다. 그런데 이 함수들은 admin의 브라우저가 요청을 보내도록 할 뿐 풀이자에게 결과를 출력하지는 않습니다. 따라서 로그인에 성공했더라도 풀이자는 플래그를 확인할 수 없고, /login 페이지에서 직접 로그인해야 인덱스 페이지로 이동하여 플래그를 확인할 수 있습니다.

2023.03.20. 17:22
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기