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

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

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

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

#web
작성자 정보
답변 2
avatar
믕믕이부하
대표 업적 없음

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

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

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

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