계속 failed만 뜹니당 ㅠㅠㅠㅠㅠ
xss를 트리거하는거까진 성공했는데
report에 POST하는 과정에서 어떤 문자열을 넣든지 failed가 뜨네요
어떻게 해결해야할까요...??
#web
작성자 정보
답변
1
limelee
웹해킹 초심자
access_page가 참일 경우 message 변수에 Success를 전달합니다.
if access_page(text, cookie={"name": "flag", "value": FLAG}):
return render_template("report.html", message="Success")
report.html에선 아래와 같이 분기가 되는데
{% if success %}
해당 부분에서 success 변수가 존재하지 않기 때문에 성공 여부와 상관없이 무조건 Fail로 분기하게 됩니다.
{% if message == "Success" %}
이런 조건을 의도하신 거 같지만 잘못 짜여진 듯합니다.
{% if message %}
<div class="note-content">
{% if success %}
<p class="success">Success</p>
{% else %}
<p class="fail">Fail</p>
{% endif %}
</div>
{% endif %}
그래서 올바르게 페이로드를 짜셨다면 쿠키를 받아볼 수 있습니다.
만약 테스트 할 때는 문제 없었는데 report로 보내면 실행이 안되는 것 같다. <- 이 문제같은 경우는
driver.get(f"http://127.0.0.1:8000/test?text={quote(text)}")
해당 코드를 유심히 살펴보며 report에서 입력한 값이 어떻게 전달될지 확인하면 될 듯 합니다.