왜 쿼리를 url에 작성해줘야 하나요?
처음에 쿼리를 입력란에 넣어는데 작동하지 않아서 몇시간 동안 끙끙댔다가 풀이를 봤는데 url에 넣어줘야 하더라구요
왜 입력란에 넣을때는 알맞게 작동하지 않나요?
#web
작성자 정보
답변
1
KDC
대표 업적 없음
안녕하세요 저도 풀다가 궁금해서 찾아봤는데 찾은것같아서 답변 드려요
우선 강의에서 제공하는 코드는 URL 인코딩이 된 상태입니다.
문제 uid 입력폼에는 URL 인코딩이 되기전 코드를 입력해야 정상적인 플래그가 나옵니다.
ex) '
웹의 특성이 탭을 스페이스로 인식하여 수강생들이 복사하였을 때 탭을 스페이스로 복사하게 되고 WAF에 걸려서 이렇게 표현한것 같네요
uid 폼 -> URL 인코딩 -> URL 상에서의 코드(문제에서 준 코드)
질문자님 말씀대로라면 URL 인코딩 된 코드를 uid 폼에 넣었으니 URL 인코딩이 2중으로 되는 상태이며 이는 웹서버에서 우리가 의도한것과 다르게 인식됩니다.
따라서 uid 입력 폼에는
' Union Select 이렇게 시작하는 코드를 넣으시고
url상의 uid 파라미터에는 강의에서 제공해준대로
%27%09Union%09Select%09 이런형식으로 넣으면 정상적으로 해결됩니다.
burpsuite 와 같은 프록시 도구를 이용해서 입력하는 위치에 따라 패킷 내용이 어떻게 변하는지 한번 확인해보세요!