bWAPP - 5. iFrame Injection

2022. 1. 29. 14:01·Web hacking

                                                                     5. IFrame Injection

 

 

 

iFrame은 HTML 문서 안에서 또 다른 HTML 문서를 출력하는 태그로 사용되며, 어느 위치든 상관없이 인젝션 공격을 할 수 있습니다. iFrame 인젝션은 독립적으로 만들 수 있어 HTML 인젝션 중에서도 공격에 자주 사용되며, 주로 악성 URL을 삽입한 후 사이즈를 0으로 설정하여 숨기는 방법을 사용합니다.

 

- Low 레벨 -

iFrame Injection 실습페이지의 화면 입니다.

 

'iframei.php' 페이지를 보시면 GET 방식으로 데이터를 전송하기 때문에 URL에 변수를 노출합니다.

 

 

http://192.168.1.82/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250

 

 

 

 

소스코드 확인 결과 bWAPP 디렉토리에 있는 robots.txt 파일의 내용을 출력하는 것을 확인

 

html 파일을 하나 만든다.

<html>

           <head>

                     <h1>Iframe Injection</h1>

                                <script>document.write(document.cookie)</script>

           </head>

</html>

 

 

 

- LOW 결과 및 입력 값 -

http://192.168.1.82/bWAPP/iframei.php?ParamUrl=robots.txt"></iframe><iframe src="iframe_bWAPP.html"

width="250" height="250"></iframe>&ParamWidth=250&ParamHeight=250

 

만든 html을 url에 주입결과 악의적은 html 페이지를 호출하게되었다.

iframe 태그에 추가되기 때문에 "></iframe>을 입력하여 원래 페이지의 iframe 태그를 닫아

줍니다.

iframe 값을 입력후 페이지의 소스 코드를 다시 확인하시면 원래 있던 iframe 태그가 닫히고 악의적으로 주입한 iframe 태그가 추가된 것을 확인할수 있습니다.

즉 새로운 코드가 추가되었다.

 

 

출처: https://securitycode.tistory.com/102 

 

 

 

 

 

- Medium 레벨 -

 

low레벨에서와 마찬가지로 ParamUrl을 조작했을 때, iframe_injection.html이 출력되지 않는 것을 볼 수 있다.

소스코드를 보면, ParamUrl을 GET방식으로 받지 않고, robots.txt로 지정해놓은 것을 확인할 수 있다.

vi iframei.php  

 

 

해당 url을 이용하여 low와 유사하게 진행해봤다.

http://192.168.1.82/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250&ParamHeight=250"></iframe><iframe src="iframe_bWAPP.html"

width="250" height="250"></iframe>

 

하지만 \역슬래쉬가 붙는 것을 확인할 수 있다.

그래서 addslashes() 함수가 사용된다는 것을 알 수 있다.

addslashes() 함수를 거치게 되는데 addslashes() 함수란 ', '', \, NULL과 같은 문자앞에 \(역슬래쉬)를 붙이는 함수를 말한다.

 

- Medium 결과 및 입력 값 1번 -

iframe_bWAPP.html에 " " 로 감싸지 않기

 

http://192.168.1.82/bWAPP/iframei.php?ParamUrl=robots.txt&ParamWidth=250"></iframe><iframe src=iframe_bWAPP.html

width="250" height="250"></iframe>&ParamHeight=250

 

 

 

- High 레벨 -

 

function_external.php의 xss_chech_3함수를 확인해봤다.

 

htmlspecialchars함수를 이용해

웹 브라우저에서 iframe 태그에 사용되는 문자들을 HTML태그로 해석하지 않게 입력 데이터를 utf-8로 인코딩한다.

함수를 보면 HTML의 특수문자들을 변환한다고 되어있다.

이후 htmlspecialchars함수를 통해 utf-8로 반환한다.

 

따라서 iframe_injection.html이 출력되지 않는 것을 볼 수 있다.

 

공격은 불가능 하지만 이런식으로 대응이 가능하다는 것을 알았다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                       

저작자표시 비영리 변경금지 (새창열림)

'Web hacking' 카테고리의 다른 글

bWAPP 7. Mail Header Injection (SMTP) (진행 예정)  (0) 2022.02.01
bWAPP - 6. LDAP Connection Settings (진행 예정)  (0) 2022.02.01
bWAPP - 4. HTML Injection - Stored (Blog)  (0) 2022.01.25
bWAPP - 3. HTML Injection – Reflected (Current URL)  (0) 2022.01.25
bWAPP - 2. HTML Injection - Reflected (POST)  (0) 2022.01.25
'Web hacking' 카테고리의 다른 글
  • bWAPP 7. Mail Header Injection (SMTP) (진행 예정)
  • bWAPP - 6. LDAP Connection Settings (진행 예정)
  • bWAPP - 4. HTML Injection - Stored (Blog)
  • bWAPP - 3. HTML Injection – Reflected (Current URL)
taktaks
taktaks
보안 연습 일기장입니다. 모든 연습은 불법적인 용도로 사용하지 말아주시길 부탁드립니다. 용무는 wndudxkr2005@gmail.com 메일 부탁드립니다.
  • taktaks
    taktaks
    taktaks
  • 전체
    오늘
    어제
    • 보안 일지 (280)
      • 네트워크 구축 (12)
      • 리눅스 보안구축 (10)
      • 파이썬 기본 (11)
      • Web hacking (39)
      • 통합 인프라 보안 (41)
      • 공격기법 및 탐지 (33)
      • 악성코드 및 포렌식 (93)
      • 리버싱 (5)
      • 시스템 해킹 (20)
      • C 언어 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      프롯
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    taktaks
    bWAPP - 5. iFrame Injection

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인
    상단으로

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.