curl과 form에서 직접 푸는 차이에 대해
답과 관련되도록 적으면 안될 것 같아 조금 우회해서 질문을 드리겠습니다.
같은 답안을 제출해도, curl 에서는 flag가 오는데 form에서는 오지 않습니다.
그렇다고 form에서 500 Internal Server Error가 출력되는 것은 아니어서 필터링 우회 및 쿼리 실행은 되 것 같고요.
다만 <pre></pre> 쪽이 비어서 오네요..
이 때문에 form에서 풀려고하다가 시간이 꽤 걸렸는데요.. 결국 curl로 다시 풀고.. 어떤 차이가 있을까요?
#web
작성자 정보
답변
2
믕믕이부하
대표 업적 없음
저도 자세히는 모르지만 accept 헤더 때문인걸로 알고 있습니다. 아마 burp suite등으로 불필요한 헤더를 전부 지워서 요청을 보내면 curl을 쓰지 않고도 flag를 얻으실 수 있을 겁니다.
as3617
워게임 고인물
풀이를 확인해보니 공백을 우회하기 위해서 탭문자를 사용하신 것으로 보입니다.
탭 문자는 \x09
인데 이를 url encoding으로 나타내면 %09
입니다.
이를 form을 이용하여 보낼 시 플래그를 얻을 수 없는 이유는
%09
가 %2509
로 변환되어 탭문자로 인식하지 못하기 때문입니다.