博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
站点防止攻击
阅读量:5371 次
发布时间:2019-06-15

本文共 1317 字,大约阅读时间需要 4 分钟。

1、什么是XSS

XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入当中Web里面的html代码会被运行,从而达到恶意用户的特殊目的。XSS属于被动式的攻击,由于其被动且不好利用,所以很多人常呼略其危害性。

跨站脚本攻击最大的魅力是通过HTML注入劫持用户的浏览器,随意构造用户当前浏览的HTML内容,甚至能够模拟用户当前的操作。

XSS 是怎样发生的呢?

假如有以下一个textbox

value1from是来自用户的输入,假设用户不是输入value1from,而是输入"/><script>alert(document.cookie)</script><!- 那么就会变成

嵌入的JavaScript代码将会被运行。

或者用户输入的是  "οnfοcus="alert(document.cookie)      那么就会变成

事件被触发的时候嵌入的JavaScript代码将会被运行。

攻击的威力,取决于用户输入了什么样的脚本。

XSS之所以会发生, 是由于用户输入的数据变成了代码。 所以我们须要对用户输入的数据进行HTML Encode处理。 将当中的"中括号", “单引號”,“引號” 之类的特殊字符进行编码。

XSS 漏洞修复

原则: 不相信客户输入的数据

注意:  攻击代码不一定在<script></script>中

  1. 将重要的cookie标记为http only,   这种话Javascript 中的document.cookie语句就不能获取到cookie了.
  2. 仅仅同意用户输入我们期望的数据。 比如: 年龄的textbox中,仅仅同意用户输入数字。 而数字之外的字符都过滤掉。
  3. 对数据进行Html Encode 处理
  4. 过滤或移除特殊的Html标签, 比如: <script>, <iframe> , &lt; for <, &gt; for >, &quot for
  5. 过滤JavaScript 事件的标签。比如 "οnclick=", "onfocus" 等等。

 

防止XSS,主要是:

一、用户自己

用户可以忽略一个站点到还有一个站点的链接:比方说,假设A站点链接到somerandomsite.com/page,那么你假设先要上这个站点,最好不要去直接点击该链接,而是通过搜索功能去查找该站点。这样的方法可有效防止嵌入在链接网址中的XSS攻击,可是这样的方法用起来不太方便,并且当两个站点共享内容时就没办法用了。第二种方法是在你的浏览器中禁用像JavaScript脚本语言。即便因此可能会让一些站点上的一些非常不错的功能没法使用,仅仅要你还可以容忍即可。

二、上面列出的五点。

2、sql注入攻击

防止sql注入方法:

一、用户注冊和登陆的时候输入的username和password的时候禁止有特殊字符。

二、最小权限原则。

三、假设使用的是java,则尽量使用PreparedStatement

3、...

转载于:https://www.cnblogs.com/mfrbuaa/p/3994653.html

你可能感兴趣的文章
第四周作业
查看>>
20151121
查看>>
线段重叠 (思维好题)
查看>>
Codeforces Round #413 C. Fountains (线段树的创建、查询、更新)
查看>>
SBuild 0.1.5 发布,基于 Scala 的构建系统
查看>>
WordPress 3.5 RC3 发布
查看>>
DOM扩展札记
查看>>
primitive assembly
查看>>
浅谈localStorage的用法
查看>>
Ad Exchange基本接口和功能
查看>>
Angular ui-router的常用配置参数详解
查看>>
软考知识点梳理--项目评估
查看>>
把特斯拉送上火星的程序员,马斯克!
查看>>
三测单
查看>>
MyBatis 缓存
查看>>
SQL中left outer join与inner join 混用时,SQL Server自动优化执行计划
查看>>
mac下python实现vmstat
查看>>
jxl.dll操作总结
查看>>
成员函数对象类的const和非const成员函数的重载
查看>>
机器学习实战-----八大分类器识别树叶带源码
查看>>