정보보안(구버전)/ bWAPP 2019. 1. 24. 14:19

웹 해킹 bWAPP - 06. A1 - Injection - iframe Injection

 

 

본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.

 

 

1. Injection

 

 - OWASP Top10 A1 - 악의적인 명령 삽입
 - 서버로 전송되는 요청 정보에 악의적인 명령을 삽입하여 불필요한 동작을 실시하거나, 서버/시스템/DB 중요 정보를

   획득할 수 있는 취약점이다.
 - Ex) HTML 인젝션, SQL 인젝션, PHP 인젝션, XML 인젝션

 

 

 

2. iframe

 

 - HTML 내용 안에서 다른 HTML 내용을 출력할 수 있는 HTML 태그

 - 형식 : <iframe src="출력한 페이지 주소" width="가로 사이즈" height='세로 사이즈"></iframe>

 

 

 

3. 'robots.txt'

 

 - 검색 엔진을 통해서 정보를 검색하는 것을 제어할때 사용하는 파일이다.

 - 만약, 중요한 디렉토리, 파일들이 검색이 된다면, 디렉토리 리스팅에 의해서 정보가 노출되는 문제가 발생한다.
 - 또한, 'robots.txt' 파일은 웹-서버 홈 디렉터리에 생성하고 관리해야 한다.
 - 명령어 형식은 다음과 같다.

 

형식

내용

 User-agent : *

 모든 검색 엔진

 User-agent: googlebot

 구글 검색 엔진

 Allow: /

 모든 디렉토리 접근 허용

 Disallow: abc.ini

'abc.ini' 파일 검색 차단

 Disallow: /admin/

'admin' 디렉터리 접근 차단

 Disallow:

 사이트 크롤링 가능

 

 

 

bWAPP 'robots.txt' 파일 내용 확인

 

 

 ① 'GoodBot' 봇은 사이트 크롤링을 가능하다.

 ② 'BadBot' 봇은 모든 디렉토리 접근이 불가능하다.

 ③ 모든 봇들은 /admin/, /documents/, /images/, /passwords/ 디렉토리 접근이 불가능하다.

 

 

 

4. Injection - iframe Injection

 

 - 이 시나리오는 iframe에 height와 width를 '0'으로 설정하여 인젝션한 코드 내용을 숨기는 내용이다.

 

 

Ex1) Injection - iframe Injection 이해 I

 

 

보안 레벨 선택 및 시나리오 선택

 

 

iframe injection 실행시 'robots'txt' 파일이 열림

 

 

주소창 'robots.txt' 요청 내용 확인

 

 

 

마우스 우클릭 -> '페이지 소스' 클릭

 

 

 

HTML iframe 소스 내용 확인

 

 

 

6-0. iframe 인젝션 추가-1.txt

첨부파일에 있는 주소를 주소창에 입력하여 접속 실시

 

 

 

height와 width를 '0'으로 변경하여 접속 실시

 

 

 

Beebox 페이지 내용이 안보임

 

 

 

Ex2) Injection - iframe Injection 이해 II

 

- bWAPP에서 'warning.html' 파일 생성

 

bee@bee-box:/var/www/bWAPP$ sudo vi warning.html

 <script>alert("Warning")</script>

 

:wq!

 

 

 

6-1. iframe 인젝션 추가-2.txt

첨부파일에 있는 주소를 주소창에 입력하여 접속 실시

 

 

 

마우스 우클릭 -> '페이지 소스' 클릭

 

 

 

iframe 인젝션이 진행됨

 

 

 

 

Ex3) 'iframei.php' 파일 내용 확인

 

bee@bee-box:/var/www/bWAPP$ ls -l iframei.php
-rw-rw-r-- 1 root www-data 5558 2014-11-02 23:52 iframei.php

 

bee@bee-box:/var/www/bWAPP$ vi iframei.php

~ 중간 생략 ~

 

include("functions_external.php");

 

if(!(isset($_GET["ParamUrl"])) || !(isset($_GET["ParamHeight"])) || !(isset($_GET["ParamWidth"])))
{

 

    header("Location: iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250");

 

    exit;

 

}

 

function xss($data)
{

    switch($_COOKIE["security_level"])
    {

        case "0" :

 

            $data = no_check($data);
            break;

 

        case "1" :

 

            $data = xss_check_4($data);
            break;

 

        case "2" :

            $data = xss_check_3($data);
            break;

 

        default :

 

            $data = no_check($data);
            break;

    }

    return $data;

}
 

~ 중간 생략 ~

 

<div id="main">

    <h1>iFrame Injection</h1>

<?php

if($_COOKIE["security_level"] == "1" || $_COOKIE["security_level"] == "2")
{

?>
    <iframe frameborder="0" src="robots.txt" height="<?php echo xss($_GET["ParamHeight"])?>" width="<?php echo xss($_GET["ParamWidth"])?>"></iframe>
<?php

}

else
{

?>
    <iframe frameborder="0" src="<?php echo xss($_GET["ParamUrl"])?>" height="<?php echo xss($_GET["ParamHeight"])?>" width="<?php echo xss($_GET["ParamWidth"])?>"></iframe>
<?php

}

 

:q!

 

 

 

 

Ex4) 보안 레벨 'High' 변경

 

 

보안 레벨 및 시나리오 선택

 

 

 

6-2. iframe 인젝션 추가-3.txt

첨부파일에 있는 주소를 주소창에 입력하여 접속 실시(High 보안 레벨이므로 warning.html 스크립트가 실행 안됨)

 

 

 

마우스 우클릭 -> '페이지 소스' 클릭

 

 

 

iframe 인젝션 실패

 

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)


웹해킹 06. bWAPP Injection - iframe Injection   https://youtu.be/dCRGvRSIFs8

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q