加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

使用HTTP Headers 防御WEB攻击(一)

发布时间:2016-07-29 11:28:45 所属栏目:语言 来源:freebuf
导读:我们经常能够看到像Xss,点击劫持,会话劫持等各种攻击手法。在这个系列文章中,我们会介绍各种可用来防御常见Web攻击的HTTP头以及通过一个PHP实例来演示其实现方法。本系

使用Chrome的开发者模式,我们来看看背后隐藏的秘密。

HTTPHeaders Web攻击 点击劫持

在Firefox中使用开发者模式

HTTPHeaders Web攻击 点击劫持

在Firefox中加载iframe.html页面,下面是控制台提示的错误信息

HTTPHeaders Web攻击 点击劫持

X-Frame-Options: SAMEORIGIN

有可能存在需要使用框架的情景。在此类情况下,就可以使用SAMEORIGIN值

打开home.php文件并添加如下代码

  • header(“X-Frame-Options: sameorigin”);

修改后代码如下

<?php
session_start();
session_regenerate_id();
 
 header("X-Frame-Options: sameorigin");
 
 if(!isset($_SESSION['admin_loggedin']))
{
    header('Location: index.php');
}
if(isset($_GET['search']))
{
    if(!empty($_GET['search']))
    {
        $text = $_GET['search'];
    }
    else
    {
        $text = "No text Entered";
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Admin Home</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
 
         <div id="home"><center>
        </br><legend><text id=text><text id="text2">Welcome to Dashboard...</text>
</br></br> You are logged in as: <?php echo $_SESSION['admin_loggedin']; ?>
<a href="logout.php">[logout]</a></text></legend></br> <form action="" method="GET"> <div id="search"> <text id="text">Search Values</text><input type="text" name="search" id="textbox"></br></br> <input type="submit" value="Search" name="Search" id="but"/> <div id="error"><text id="text2">You Entered:</text><?php echo $text; ?></div> </div> </form></center> </div> </body> </html>

从网页退出后重新登录,注意观察HTTP头信息

HTTPHeaders Web攻击 点击劫持

接下来,看看他们不同的工作原理

第一步加载相同的iframe.html,从下图中可以看出加载没有问题

HTTPHeaders Web攻击 点击劫持

我使用虚拟机打开Kali Linux并把文件放入其中,然后加载这个URL(http://localhost/sample/home.php)

HTTPHeaders Web攻击 点击劫持

当我们打开iframe.html文件时,由于跨域限制而不能正常加载

HTTPHeaders Web攻击 点击劫持

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读