运用HTTP Headers防护WEB进犯(Part2)

在前一篇文章《运用HTTP Headers防护WEB进犯(Part1)》中咱们了解到怎么运用X-Frame选项防护点击绑架进犯。在本文中咱们将会评论别的一个HTTP Header选项,X-XSS-Protection。和前一篇文章相似...

在前一篇文章《运用HTTP Headers防护WEB进犯(Part1)》中咱们了解到怎么运用X-Frame选项防护点击绑架进犯。在本文中咱们将会评论别的一个HTTP Header选项,X-XSS-Protection。和前一篇文章相似,咱们会先看看缝隙网页然后再运用这个HTTP头选项来防护。
从源码剖析
设置与前一篇文章相似,用户成功登录之后会呈现一个控制台界面,这儿能够进行搜索,如下代码即完成代码:
php
session_start();
session_regenerate_id();
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";
    }
}
?>
   
         charset="UTF-8">
        Admin Home
         rel="stylesheet" href="styles.css">
   
   
 
         id="home">
         id=text> id="text2">Welcome to Dashboard... You are logged in as: php echo $_SESSION['admin_loggedin']; ?>  href="logout.php">[logout]
         action="" method="GET">
             id="search">
             id="text">Search Values type="text" name="search" id="textbox">
 
             type="submit" value="Search" name="Search" id="but"/>
 
             id="error"> id="text2">You Entered:php echo $text; ?>
 
           
       
   
 
   
从上面的代码中,咱们能够看到应用程序没有对用户输入进行过滤而留下了缝隙。
接着,咱们从HTTP呼应头信息中看到应用程序没有任何额定的维护机制。
HTTP/1.1 200 OK
Date: Sun, 12 Apr 2019 14:53:37 GMT
Server: Apache/2.2.29 (Unix) mod_fastcgi/2.4.6 mod_wsgi/3.4 Python/2.7.8 PHP/5.6.2 mod_ssl/2.2.29 OpenSSL/0.9.8y DAV/2 mod_perl/2.0.8 Perl/v5.20.0
 
X-Powered-By: PHP/5.6.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=f94dc2ac2aa5763c636f9e75365102b5; path=/
Content-Length: 820
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
测验进行时
在搜索框履行一个简略的JavaScript脚本,看看是否成功履行

好吧,我供认这看起来好像没有成功履行,那就翻开控制台看看过错信息吧。

从控制台信息中能够看到谷歌Chrome阻挠了这个脚本。别的,过错提示信息中指出服务器没有启用X-XSS-Protection或许Content-Security-Policy头。
咱们能够经过启用X-XSS-Protection或许Content-Security-Policy头进行过滤。
运用如下代码禁用维护
header("X-XSS-Protection: 0");
将上面的代码添加进源码
php
session_start();
session_regenerate_id();
 
header("X-XSS-Protection: 0");
 
if(!isset($_SESSION['admin_loggedin']))
{
    header('Location: index.php');
}
if(isset($_GET['search']))
{
    if(!empty($_GET['search']))
    {
        $text = $_GET['search'];
    }

[1] [2] [3]  黑客接单网

  • 发表于 2021-04-16 08:09
  • 阅读 ( 221 )
  • 分类:互联网

0 条评论

请先 登录 后评论
扣1416
扣1416

723 篇文章

你可能感兴趣的文章

相关问题