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

[비박스(bWAPP)] low-A1-Injection HTML Injection - stored(Blog)

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

#276

 

1. 개요

1) 문제명 : HTML Injection - stored(Blog)

2) 난이도 : low

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

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

2. 서비스 확인

이번 문제에서는 글을 남길 수 있는 방명록 서비스를 제공하고 있었습니다.

 

아마 이 곳에 HTML 코드를 삽입하여 공격을 시도하는 것으로 보입니다.

3. 소스 코드 확인

1) 난이도 설정

입력 값 검증을 통하여 난이도를 설정합니다.

근데 조금 특이한 점은 이전처럼 HTML 코드 삽입에 대한 필터링을 할 줄 알았는데 여기서는 SQL Injection에 대한 입력 값을 검증하는 것으로 보입니다.

아마 SQL Injection 공격도 수행이 가능한 것으로 보입니다.

 

2) 서비스 코드

서비스를 위한 메인 코드입니다.

보시면 데이터를 입력받아 쿼리로 저장하고 있습니다.

즉, HTML 코드 Injection 뿐만 아니라 SQL Injection 공격도 가능한 것으로 보입니다.

그리고 공격과 크게 관련은 없지만 게시글을 지우는 기능 또한 구현되어 있습니다.

4. 문제 풀이

1) HTML Injection

먼저 HTML Injection을 시도해보겠습니다.

아마 난이도가 low라 별다른 제한이 없을 것으로 보여 앞서 공격했던 것과 같이 동일하게 공격이 가능할 것으로 보입니다.

벌 이미지를 삽입해보도록 하겠습니다.

2) SQL Injection

SQL Injection을 시도하려고 하였으나 사용자가 데이터를 입력하면 쿼리로 저장하고 다시 불러오는 과정에서 데이터를 HTML 소스로 인식합니다.

따라서 SQL Injection에 사용되는 쿼리를 입력하여도 HTML 소스로 인식하면서 별도로 쿼리가 실행되지 않았습니다.

아마 필터링하는데에만 SQL Injection 조치 함수를 이용한 것으로 보여집니다.

 

5. 웹 로그 확인

웹 로그만을 확인하였을때는 어떠한 시도가 있었는지 정확히 확인이 어렵습니다.

이러한 경우에는 해당 경로의 소스를 확인하여 어떤 동작을 요청했는지 확인이 필요할 것으로 보입니다.

 

1) 접근 IP : 192.168.128.141

2) HTTP METHOD : POST

3) 응답 : 200

4) 요청 URL : /bWAPP/htmli_stored.php

반응형

댓글