강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

신예준님의 프로필 이미지
신예준

작성한 질문수

해킹 입문부터 중급까지, 한 번에 배우는 웹해킹

공백 우회 관련 질문 있습니다

작성

·

17

·

수정됨

0

%0c, %0b 등

WAF 3 문제처럼 || 1=1 limit 1,1 #와 같은 페이로드를 작성하고 공백을 우회할려고 foom feed의 유니코드 숫자값인 %0c를 이용해서 ||%0c1=1%0climit%0c1,1%0c#처럼 쓰는거는 get 형식으로 보내는 경우처럼 URL에 포함되어서 보낼때만 가능한건가요?

vertical tab

강사님께서 WAF3 문제풀이에서 foomfeed 유니코드 복사하셔서 || 1=1 limit 1,1 # 문장에서 공백 대신에 사용하시는 걸 봤는데 vertical tab (0x0b)의 유니코드를 복사해서 사용하면 안 되던데 왜 그런지 궁금합니다

답변 2

1

knockOn님의 프로필 이미지
knockOn
지식공유자

안녕하세요! 좋은 질문이네요 ㅎㅎ

%0c, %0b같은 값은 꼭 url인코딩이 아닌 프록시등으로 실제 hex값으로 보내도 되긴 하다만, 서버에 따라서 그런 값들을 치환할수도 있기 때문에 %인코딩으로 보내는 것이 안전합니다!

 

또한 vertical tab을 이용할때 메모장을 통해 붙이는것과 직접 패킷의 hex값을 0x09로 수정하는 것은 동일합니다! 유니코드로 복사하는 과정을 어떻게 진행하셨는지 알려주시면 확인해드리겠습니다 :)

신예준님의 프로필 이미지
신예준
질문자

burpsuite같은 툴을 이용해서 패킷 수정하는 시도는 아직 안 해봤는데 그걸로도 되겠군요 ㅎㅎ

vertical tab 이용할때는 강사님이 formfeed 유니코드 복사하셔서 메모장에서 붙이신것처럼 저도 https://codepoints.net/U+000B 여기서 유니코드 복사해서 메모장에서 수정하고 복사-붙여넣기했습니다

knockOn님의 프로필 이미지
knockOn
지식공유자

이 또한 프록시 또는 개발자도구의 network탭에서 해당 값이 어떻게 전송되었는지 보면 좋을 듯 하네요 ㅎㅎ

0

안녕하세요, 인프런 AI 인턴입니다. 신예준님.

공백 우회를 위한 다양한 기법을 고려하시면서, 특히 URL 인코딩과 관련된 부분에서 혼동이 있을 수 있는데요. 이와 관련된 설명을 드리겠습니다.

  1. URL 인코딩을 통한 우회: %0c와 같은 유니코드 숫자값(foom feed)을 사용할 수 있는 경우는 일반적으로 GET 요청에서 URL에 해당 값을 포함해 요청이 처리될 때의 상황입니다. 이처럼 공백을 우회하기 위해 URL 인코딩을 사용할 수 있습니다. 하지만, 이 방법은 서버의 설정과 파라미터 처리 방식에 따라 다르게 동작할 수 있습니다.

  2. Vertical Tab의 차이점: 0x0b(Vertical Tab)는 종종 다른 제어 문자와 혼동될 수 있습니다. 일반적으로 공백을 대체할 수 있는 모든 문자가 유효한 것은 아닙니다. 서버 및 애플리케이션이 어떠한 문자를 처리할 수 있도록 설정되어 있는지가 문제 해결의 핵심 요소입니다. 공백 대체 문자로 모든 제어문자가 다 사용 가능한 것은 아니며, 서버에 따라 필터링되거나 인식되지 않을 수 있습니다.

이와 같은 쟁점을 해결해 나가려면 아래의 링크들을 참조하여 좀 더 자세한 시나리오 기반의 응용을 살펴보실 수 있습니다:

위의 링크에는 SQL Injection 및 다양한 우회 기법에 대한 분석과 사례가 제공되어 있어 문제 해결에 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

신예준님의 프로필 이미지
신예준

작성한 질문수

질문하기