Webhacking.kr 23번 -old

webhacking.kr 23번 [문제풀이]

안녕하세요.

오늘은 webhacking.kr이라는 사이트의 23번(old) 문제를 풀어보려고 합니다.

문제를 풀기 위해 해당 사이트로 이동해주세요.

웹 해킹 23번 문제풀이 [200점]

23번을 풀기 위해 들어가 보면 아래 사진처럼 초기 화면이 보일 겁니다

텍스트를 입력할 수 있는 상자와 제출버튼이 보입니다.

그 아래 "your mission is to inject <script>alert(1);</script>" 라고 적혀있네요.

개발자 도구로 찾아봐도 다른것은 보이지 않습니다.

보이는 힌트는 다 찾은 것 같네요.

그럼 이제 값을 넣어보겠습니다.

admin이라는 값을 넣어봤더니 no hack이라는 텍스트가 출력되네요.

여러가지 입력해보았습니다.

문자가 2개 이상이면 no hack이라는 메시지를 출력합니다.

숫자나 <, /, >등은 그냥 출력하는 것 같네요.

get방식이면서 박스에 태그같은 것을 적으면 바로 적용이 되네요.

그럼 이 문제는 문자 길이 필터링만 우회하면 되는 것 같습니다.

NULL이 생각나서 문자와 문자 사이에 url인코딩 NULL(%00)을 추가해봤습니다.

input박스에 U%00U라고 입력해보니 제가 원하던 결과가 아니었습니다.

주소창에도 U%2500U로 나오네요.

그래서 이번에는 주소창에 U%00U를 입력해봤습니다.

UU가 붙어서 출력되네요.

잘 되는 것을 보았으니 이번에는 <script>alert(1);</script>에 %00을 추가해서 실행해보았습니다.

<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t(1);</s%00c%00r%00i%00p%00t>

alert(1)이 실행되었습니다.

확인을 눌러보니 old-23 pwned가 출력됩니다.

오랜만에 풀어보니 재미있네요.

+추가

HTML URL코딩

http://www.w3big.com/ko/tags/html-urlencode.html

 

HTML의 URL 인코딩 참조 설명서

HTML의 URL 인코딩 참조 설명서 URL 인코딩 된 문자는 인터넷을 통해 전송되는 형식으로 변환됩니다. URL - 유니폼 리소스 로케이터 서버로 웹 페이지 요청의 URL을 통해 웹 브라우저. http://www.w3big.com:

www.w3big.com

Designed by JB FACTORY