완료됨
curl과 form에서 직접 푸는 차이에 대해

답과 관련되도록 적으면 안될 것 같아 조금 우회해서 질문을 드리겠습니다.

같은 답안을 제출해도, curl 에서는 flag가 오는데 form에서는 오지 않습니다.
그렇다고 form에서 500 Internal Server Error가 출력되는 것은 아니어서 필터링 우회 및 쿼리 실행은 되 것 같고요.
다만 <pre></pre> 쪽이 비어서 오네요..

이 때문에 form에서 풀려고하다가 시간이 꽤 걸렸는데요.. 결국 curl로 다시 풀고.. 어떤 차이가 있을까요?

#web
작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 2
avatar
믕믕이부하
대표 업적 없음
avatar
믕믕이부하
대표 업적 없음

저도 자세히는 모르지만 accept 헤더 때문인걸로 알고 있습니다. 아마 burp suite등으로 불필요한 헤더를 전부 지워서 요청을 보내면 curl을 쓰지 않고도 flag를 얻으실 수 있을 겁니다.

2022.04.11. 20:41
avatar
as3617
워게임 고인물
avatar
as3617
워게임 고인물

풀이를 확인해보니 공백을 우회하기 위해서 탭문자를 사용하신 것으로 보입니다.
탭 문자는 \x09인데 이를 url encoding으로 나타내면 %09입니다.
이를 form을 이용하여 보낼 시 플래그를 얻을 수 없는 이유는
%09%2509로 변환되어 탭문자로 인식하지 못하기 때문입니다.

2022.04.11. 23:24