본문 바로가기

SWUFORCE 워게임👊🏻

[Webhacking] old - 23 ; web

1. 접속하면 보이는 화면이다. 미션은 <script>alert(1);//script>를 주입하는 것이라고 한다.

 

2. 미션대로 <script>alert(1);</script>을 넣어 제출했는데 'no hack' 이라고 떴다. 소스코드를 살펴봤는데 딱히 힌트는 안보인다.

 

3. 그래서 숫자, 문자, 특수문자를 넣어봤다.

 

숫자 : 연속으로 입력해 제출했을 때 값이 저장됨 (연속입력 문제 없음)

문자 : 연속으로 입력해 제출했을 때 no hack

특수문자: 연속으로 입력해 제출했을 때 값이 저장됨 (연속입력 문제 없음)

 

=> 문자만 연속으로 입력하지 못하게 되어 있는 듯 하다. 

 

4. 이번에는 문자 사이를 띄워서 입력했는데 이는 띄워진 문자열로 그대로 저장되었다.

 

=> 공백 취약점이 있음을 확인 할 수 있다. 공백 문자열은 단순한 입력 누락처럼 보일 수 있지만, 적절한 검증이 이루어지지 않으면 심각한 보안 취약점이 된다.

 

우리의 목적은 <script>alert(1);//script> 을 입력해야 하기 때문에, 웹에서 필터링을 우회하는 방법 중 하나인 %00을 문자열 사이사이에 넣어 url에 넣어주면 될 것 같다.

 

<s%00c%00r%00i%00p%00t>a%00l%00e%00r%00t%00(%001%00)%00;%00<%00/%00s%00c%00r%00i%00p%00t></s%00c%00r%00i%00p%00t> 을 url 뒤에 넣어준다.

해결 완!👊🏻