前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网站防止攻击

网站防止攻击

作者头像
全栈程序员站长
发布2022-09-09 10:05:18
1.1K0
发布2022-09-09 10:05:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1、什么是XSS

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

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

XSS 是如何发生的呢?

假如有下面一个textbox

代码语言:javascript
复制
<input type="text" name="address1" value="value1from">

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

代码语言:javascript
复制
<input type="text" name="address1" value=""/><script>alert(document.cookie)</script><!- ">

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

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

代码语言:javascript
复制
<input type="text" name="address1" value="" onfocus="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注入方法:

一、用户注册和登陆的时候输入的用户名和密码的时候禁止有特殊字符。

二、最小权限原则。

三、如果使用的是java,则尽量使用PreparedStatement

3、…

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/162081.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XSS 漏洞修复
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档