AIAS

[bWAPP] HTML Injection - Current URL (Level - Low) 본문

WEB/bWAPP

[bWAPP] HTML Injection - Current URL (Level - Low)

414s 2020. 12. 3. 14:10

HTML Injection?

: [bWAPP] Reflected HTML Injection (Level - Low, Medium), 414s.tistory.com/8

 

[bWAPP] Reflected HTML Injection (Level - Low, Medium)

HTML Injection?  공격자가 악의적인 HTML 코드를 삽입하여 사용자에게 정상적으로 서비스 중인 HTML 화면이 불필요한 HTML 코드가 삽입된 사이트로 접속되어 불필요한 화면을 제공하거나 악성 웹사이

414s.tistory.com

 

실습환경

- bWAPP (buggy Web APPlication)

 : OWASP 취약점이 주로 반영된 모의해킹 실습 환경

 

 

Reflected HTML Injection URL (Level - Low)

 GET 요청한 HOST 정보와 URI값을 화면상으로 출력해주는 페이지에서 REQUEST_URI 값에 HTML 코드값을 포함시켜 HTML Injection을 실행 시켜보는 페이지이다.

 REQUEST_URI 값에 HTML 태그와 같은 특수문자를 필터링해주지 않기에 취약점이 존재하고 있다.

Reflected HTML InjectionURL - PHP Code (Level.Low)

 

 GET Request URL 변조를 위하여 테스트 페이지를 새로고침하여 패킷을 잡고 Request URL값에 HTML 코드를 삽입 후 전송 시도

: <h1>Hi,COOKIE</h1><script>alert(document.cookie)</script>

HTML Injection

 

 HTML 태그가 필터링되지 않아 동작한 모습

HTML Injection Code Excuted

 

 medium 레벨의 해당하는 case "1" 의 경우 document.URL로 현재 클라이언트 정보를 write하여 출력하고 있기 때문에 우회할 수 가 없다. //<script>document.write(document.cookie);</script> : 화면에 Cookie값 출력 가능

 High 레벨의 case "2"는 xss_check_3의 htmlspecialchars을 적용 시키기 때문에 특수문자가 HTML 엔티디로 변환되어 태그가 인식되지 않는다.

Reflected HTML InjectionURL - PHP Code

 

 

대응방안

 - HTML 태그가 인식되지 않도록 <,> 값과 같은 특수문자들을 필터링해주고 URL 디코딩 기능이 꼭 필요한 경우 필터링 구간 앞에 넣거나 URL 인코딩된 값도 필터링 수행 필요

HTML Injection & XSS - PHP Defense Code

Comments