浅谈如何防御xss攻击
笔前闲聊
最近都在写一些防守型文章,是因为笔者在最近的学习当中发现一些当初以攻击者角度学习的知识在某些特殊的场合下会表现的有点不够全面,总是感觉某些知识点联系不在一起,所以最近总是写一些防御型文章来把一些知识加强理解,在脑子里形成自己的知识脑图。
认识xss
首先还是来了解什么是xss,师傅们对这个东西估计也挺熟的啦,我就直接上百度了。
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
xss的分类
xss的分类有,反射型、存储型、DOM型。具体就不做解释,师傅们应该也都懂,不懂的师傅百度上也很容易查到。
xss能够构成的危害
关于xss能够造成的危害师傅们可能最了解的就是弹窗、盗取cookie,而其实呢,xss能够造成的危害远不止这些,还有一些如网站挂马、蠕虫、修改网页内容的高级利用,那么我们该如何去防御xss从而去杜绝这些利用呢?
xss的防御
方案一:添加HttpOnly
HttpOnly是cookie里面一个属性,假如在cookie里面设置了HttpOnly这个属性,那么JavaScript将无法访问到我们到cookie,但是这个方法也只能是防御cookie劫持。HttpOnly设置规则如下。
<?php
header("set-cookie: username=admin");
header("set-cookie: password=123456;httponly",false);
?>
方案二:对输入输出做严格的过滤
输入输出框是为了方便普通用户与服务器交互用的,所以有些特殊的字符普通用户是用不上的,在PHP中我们可以利用htmlspecialchars()、htmlentities()对HTML做实体转义。如以下字符会被转义为
&(和号)变为 &
"(双引号)变为 &quto;
'(单引号)变为 '
<(小于)变为 ≪
>(大于)变为 >
同样我们可以对我们的输入输出做一些编码转换,如HTML编码、CSS编码、JavaScript编码等。
总结
防御XSS的难度远高于防御SQL注入,因为对用户输入做过滤是一个大工程,既要不影响用户的浏览体验,还要防御XSS,而且在客户端用户输入的东西也是千奇百怪,XSS的攻击手法也是层出不穷。不过这些手段也都是可以杜绝的,这就要大家坚持不懈的学习了。当然文中所写并没有全面写出防御XSS的方法,实力有限,更多方法还需大家从原理入手,坚持不懈的去学习。
浅谈如何防御xss攻击相关推荐
- 浅谈CC防御过程中,WAF的主要特点有哪些?
浅谈CC防御过程中,WAF的主要特点有哪些?一部分网站和游戏,以及金融的企业网站负责人员对于流量攻击应该属于耳熟能详.对此问题一直也是他们最头疼的.因此在解决DDoS攻击和CC攻击防御的过程中,运用了 ...
- 如何防止通过url攻击_什么是XSS攻击?如何防御XSS攻击?
大家上午好,大家经常听到XSS攻击这个词,那么XSS攻击到底是什么,以及如何防御大家清楚么?今天,小墨就给大家讲一下:XSS攻击的定义.类型以及防御方法.什么是XSS攻击? XSS攻击全称跨站脚本攻击 ...
- 浅谈跨网站脚本攻击(XSS)的手段与防范(简析新浪微博XSS攻击事件)
本文主要涉及内容: 什么是XSS XSS攻击手段和目的 XSS的防范 新浪微博攻击事件 什么是XSS 跨网站脚本(Cross-sitescripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一 ...
- 了解与防御XSS攻击
一. XSS是什么 XSS攻击全称跨站脚本攻击(Cross Site Scripting),是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写 ...
- post攻击 xxs_如何正确防御xss攻击
展开全部 传统防御技术 2.1.1基于特征的防御 传统XSS防御多采用特征匹配方32313133353236313431303231363533e78988e69d8331333366303830式, ...
- 浅谈“跨站跟踪攻击(即CST/XST攻击)”
漏洞名称: Cross-Site-Tracing"简称为 CST / XST - 跨站式追踪攻击 描述: 攻击者将恶意代码嵌入一台已经被控制的主机上的web文件,当访问者浏览时恶意代码在浏览 ...
- 浅谈HTTP响应拆分攻击(一)
在本文中,我们将探讨何谓HTTP响应拆分以及攻击行为是怎样进行的.一旦彻底理解了其发生原理(该原理往往被人所误解),我们就可以探究如何利用响应拆分执行跨站点脚本(简称XSS).接下来自然就是讨论如果目 ...
- 浅谈游戏业务遭遇攻击的防护措施
很多人不禁问DDoS攻击是什么?尤其是对刚入行的新手小白来说,对于这方面完全不懂,那么今天我们就来讲讲它是什么又会造成什么危害,该如何防御. DDoS攻击也叫分布式拒绝服务(Distributed ...
- php+防御+xss,PHP防御XSS攻击
XSS即跨站脚本工具 例如我在你的评论上写了 然后很有可能就会弹出楼主傻逼了,当然这只是恶作剧,但要是别人在你的获取cookie就很严重了,如下 通过这种方式,你的所有cookie就会被发送到对应的网 ...
最新文章
- 如何将response里header的date转化为当地时间_外贸独立站卖家如何选择收款方式?...
- 微软四十周年 Microsoft’s 40th anniversary
- [JAVA #183; 0基础]:11.终结者-final
- 深夜遭粉丝质问!4天掌握新东方26年教育精华的方法,你怎么不早说?
- SDN精华问答 | 为什么SDN要花这么长时间才被采用?
- 【OpenCV 例程200篇】67. 空间域图像增强的综合应用
- 使用注解装配Bean
- Java File IO
- HTML5 保存画布
- Bash漏洞引发僵尸网络狂欢
- 机器学习基础算法21-多输出的决策树回归
- 内大考研计算机专业课,2019计算机考研专业课核心考点梳理
- UML 简单易懂 教程
- Delphi7 sn
- 二路归并排序和多路归并排序
- 使用HTML制作简易求职表
- Mark down学习日记
- 最新解决“请在微信客户端中打开链接”的教程分享
- 你不知道的几个牛逼网站,欢迎收藏
- 适合年轻人的副业项目,想要赚钱养家就不要再懒了