power-girl0-0

HTML 인젝션 - 저장기법(Blog) 본문

웹해킹/Bee-Box

HTML 인젝션 - 저장기법(Blog)

power-girl0-0 2020. 9. 16. 01:22
728x90

저장기법이란?

악의적인 HTML태그를 데이터베이스에 저장하여 저장된 태그 내용을 확인한 사용자의 PC에 HTML 태그가 실행되게 하는 공격이다.

 

1. low

(1) h1태그를 사용하여 hello문자를 전송해보았다.

- h1태그가 사용되어 출력되는 것을 확인

 

h1태그를 사용하여 hello문자를 전송

 

h1태그가 사용되어 출력되는 것을 확인

(2) 앞에서 반사기법의 post 코드를 넣어보았다.

반사기법의 post 코드를 입력

 

Firstname에 aa를 입력하고 Last name에 bb를 넣어서 Go를 눌러 전송해보았다.

 

그 결과 반사기법의 POST페이지로 이동후 welcome aa dd가 출력되는 것을 확인할 수 있다.

 

 

2. medium

(1) medium으로 바꾸자 HTML태그를 문자열로 출력하는 것을 확인할 수 있다.

 

 

(2) 간단히 h1태그만 url인코딩으로 전송해보았다.

그대로 문자열로 출력해주는 것을 확인할 수 있다.

 

(3) htmli_stored.php의 코드를 살펴보았다.

 

입력받은 값을 목록에 테이블 형식으로 출력해주는 부분에 소스인 것 같다.

소스를 보니 security_level이 1이나 2는 entry부분이 xss_check_3함수로 필터링 되는 것을 확인할 수 있다.

(security_level이 1은 medium 2는 high단계를 의미한다.)

 

(4) xss_check_3함수를 보기 위해 functions_external.php 소스를 찾아가 보았다.

함수를 본 결과 htmlspecialchars함수를 이용하여 html태그를 우회해주는 것을 알 수 있다.

 

"즉, medium과 high단계에서는

htmlspecialchars함수로 입력값을 필터링 해주기 때문에

HTML에서 사용하는 특수문자를 UTF-8로 반환하여

html인젝션 공격을 방어하였다는 것을 알 수 있다."

728x90
Comments