자주 보던 검은 화면에 하나의 입력폼 입니다.

대신 아래에 뭔가 적혀있네요.

<script>alert(1);</script>를 넣어서 통과시키면 된다고합니다.

그래서 바로 넣어봤는데...

당연히 바로는 통과 안시켜주네요.

일단 이거저거 입력을 해보겠습니다.

마구잡이로 쳐서 제출해봤는데 이것도 no hack이라는 문구가 나오네요? 

더 입력해보겠습니다.

이번엔 숫자만 입력해보았는데... 오? 바로 출력이되네요.

힌트를 얻었네요. 더 더 다양한 값을 넣어보겠습니다.

숫자와 영어를 섞었는데 이번엔 no hack이 출력되네요.. 숫자만 되는걸까요? 

번갈아가면서 입력후 제출해보니 이번엔 또 되네요?

그럼 특수문자는 괜찮을까요.

입력폼에 적힌대로 제출해보았는데.. "</"은 사라지고 뒤에 / 들도 없어지네요. 필터링되나봅니다

<나 /을 단독으로 입력했을 땐 문제가없네요.

마지막으로 알파벳 두 글자를 연달아서 입력해보았는데, 이 역시 no hack이 출력되네요.

이로써 알게된건, 알파벳이 2단어 이상 연달아 나오면 안되고, <와 /역시 연달아 붙어나오면 안된다는거네요.

그렇다면 중간중간을 띄워줘야하는데... 바로 생각나는 친구가있습니다.

 

바로 NULL 문자입니다.

코딩할 때는 ' \0 '로 작성하지만 url인코딩을 거치면 %00이 됩니다.

서버 사이드나 웹 언어에서는 인코딩 그대로 전달 할 수도, 아니면 문자 그대로 처리되기도 하지만..

최신 브라우저에서는 제거하거나 무시하기도, 인코딩 된 그대로 서버로 보내기도합니다.

이때 우리는 제거되거나 무시된다는 거에 초첨을 둘 수있습니다.

<script>alert(1);</script> 사이에 NULL문자(%00)을 넣어주면... 입력할 땐 알파벳과 <, /이 연달아 입력되는게 아니니 통과되고 서버로 넘어갈때 NULL문자들이 무시되면서 스크립트를 넣을 수 있을 것같 네요!

 

바로 시도해보겠습니다.

브라우저에서 NULL문자를 무시하는걸 노리는 것이기 때문에 url 입력창에다가 수행했습니다. 

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

엄청 길어졌지만 이걸 넣어보면...

 

짠! 성공입니다!

'보안 > 워게임 (웹 해킹)' 카테고리의 다른 글

웹 해킹 - ffuf 사용법  (0) 2026.02.22
Challenge - old-25 write up  (0) 2025.04.12
Challenge - old-27 write up  (0) 2025.04.09
Challenge - old-54 write up  (0) 2025.04.05
Challenge - old-38 write up  (0) 2025.04.05

+ Recent posts