使用HTTPHeaders防御WEB攻击(一).docVIP

  • 2
  • 0
  • 约9.15千字
  • 约 15页
  • 2017-02-02 发布于江苏
  • 举报
深圳暴走科技:使用HTTP Headers 防御WEB攻击(一) 我们经常能够看到像Xss,点击劫持,会话劫持等各种攻击手法。在这个系列文章中,我们会介绍各种可用来防御常见Web攻击的HTTP头以及通过一个PHP实例来演示其实现方法。本系列文章旨在给开发者一个提示,如何使用HTTP头对一些攻击进行防御。 ? 搭建试验环境 ? 数据以及实验环境下载地址在文末! ? 你可以在XAMPP、WAMP、LAMP、MAMP下设置PHP-MYSQL应用,当然这个选择完全取决于你的喜好。 ? 在本实验中,我使用的是搭载MAMP的苹果Mac机器,我把所以文件都放在了根目录下的“sample”文件夹内。 ? 应用程序功能介绍 ? 设置完这个实验样品之后,打开主页 ? http://localhost/sample/index.php ? ? 从上图中我们看以看到,这个页面就是一个简单的登录页面,它会进行基本的服务端验证。 ? 用户输入字段不能为空,完成这个功能只需使用PHP的empty()函数。因此用户如果不输入点东西点击登录,会返回下面这个页面 ? ? 如果输入的用户名密码不匹配的话,会返回以下页面,当然完成这一步骤是需要执行数据库查询操作的。 ? ? 输入的用户密码正确,主页显示用户已登录。 ? 如下所示,这是使用MySQLi准备语句完成的。 ? $stmt = $mysqli-prepare(select * from admin where username=? and password=?); $stmt-bind_param(ss,$username,$password); $stmt-execute();? username: admin password: 1q2w3e4r5t 注意:在这个示例中,给定的密码以SHA1算法方式存储在数据库中,这个密码使用在线工具可以轻松解出来。 ? 登录进去之后会看到一个表单,这个表单含有一个简单的Xss漏洞。 ? ? 现在我们进行抓包,当我们登陆时注意观察默认的Header信息。 ? ? ? 在成功登录之后我们看到一个搜索框,这里接受用户输入并返回相关信息给用户。 ? ? 下面是构建登录后页面的代码 ? ?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; ? ? } } ? !DOCTYPE html html ? ? head ? ? ? ? meta charset=UTF-8 ? ? ? ? titleAdmin Home/title ? ? ? ? link rel=stylesheet href=styles.css ? ? /head ? ? body ? ? ? ? ? ?div id=homecenter ? ? ? ? /brlegendtext id=texttext id=text2Welcome 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=textSearch Values/textinput type=text name=search id=textbox /br/br ? ? ? ? ? ? ? ?input type=submit value=Search name=Search id=but/ ? ? ? ? ? ? ? ?div id=errortext id=text2You Entered:/text?php echo $text; ?/div ? ? ? ? ? ? ? ?/div ? ? ? ? /form/center ? ? /div ? ? ? ?/body /html 使用X-Frame-Options响应头防御点击劫持 ? 首先我们要讨论的就是使用X-Frame-O

文档评论(0)

1亿VIP精品文档

相关文档