본문 바로가기
컴소니/보안

[비박스(bWAPP)] low-A1-Injection HTML Injection -Reflected(URL)

by 금소니 2024. 1. 19.
반응형

#275

 

1. 개요

1) 문제명 : HTML Injection -Reflected(URL)

2) 난이도 : low

3) 관련 개념 : HTML, WEB, PHP, Injection 공격, 프록시

4) 문제 : URL에 HTML 코드를 Injection하여 원하는 데이터 출력

2. 서비스 확인

서비스는 현재 URL의 경로를 출력해주는 것으로 보입니다.

아마 URL을 이용하여 이 곳에 무언가 출력이 되도록 하는 것이 이번 문제를 푸는 방법인 것 같습니다.

3. 소스 코드 확인

1) 난이도 설정

마찬가지로 난이도에 따라 소스가 변경되고 있으나 입력 값이 없기 때문에 입력 값을 검증하는 함수가 없고 대신에 URL를 체크하는 함수가 작성되어 있습니다.

2) 서비스 코드

서비스 코드는 정말 간단합니다.

URL을 그대로 출력해주고 있습니다.

 

4. 문제 풀이

URL을 통하여 공격을 시도해보도록 하겠습니다.

스크립트가 동작하는 함수를 사용하였지만 URL 인코딩이 되어 제대로 동작하지 않고 화면에 인코딩된 URL을 출력하였습니다.

 

아마 브라우저를 통해 공격하는 것에 대해서는 어느정도 제한이 있는 것으로 보여 프록시 도구로 확인해보도록 하겠습니다.

프록시 도구로 확인한 결과, URL을 인코딩하여 서버에 요청하였고 그 결과, 인코딩한대로 출력하여 스크립트가 제대로 동작하지 않았습니다.

요청
응답

그럼 URL 인코딩이 되지 않도록 프록시 도구를 이용하여 직접 요청해보도록 하겠습니다.

그 결과 스크립트 함수가 정상적으로 작성되었고 브라우저 응답에서도 정상적으로 응답하는 것을 확인할 수 있었습니다.

 

5. 웹 로그 확인

 

1) 접근 IP : 192.168.128.141

2) HTTP METHOD : GET

3) 응답 : 200

 

첫 줄의 로그는 브라우저를 통하여 요청한 로그이고 두 번째 줄의 로그는 프록시 도구를 통해 요청한 로그입니다.

둘 다 정상적으로 응답은 하였지만 첫 줄의 경우 원하는 결과를 얻지 못하였습니다.

하지만 프록시 도구를 통해서 공격하였을 때 정상적으로 공격이 성공하였기 때문에 이러한 경우에 공격이 성공되지 않도록 조치가 필요합니다.

반응형

댓글