XSS攻击原理及防护

发布时间 - 2019-11-30 00:00:00    点击率:

简介

XSS(Cross Site Scripting, 跨站脚本攻击)又称是 CSS, 在 Web攻击中比较常见的方式, 通过此攻击可以控制用户终端做一系列的恶意操作, 如 可以盗取, 篡改, 添加用户的数据或诱导到钓鱼网站等

攻击原理

比较常见的方式是利用未做好过滤的参数传入一些脚本语言代码块通常是 JavaScript, PHP, Java, ASP, Flash, ActiveX等等, 直接传入到页面或直接存入数据库通过用户浏览器阅读此数据时可以修改当前页面的一些信息或窃取会话和 Cookie等, 这样完成一次 XSS攻击

例子

http://example.com/list?memo=
http://example.com/list?memo=诱惑点击语句
http://example.com/list?memo=

以上例子只是大概描述了方式, 在实际攻击时代码不会如此简单

防御方法

防止 XSS安全漏洞主要依靠程序员较高的编程能力和安全意识

去掉任何对远程内容的引用 如 样式或 JavaScript等

Cookie内不要存重要信息为了避免 Cookie被盗, 最好 Cookie设置 HttpOnly属性防止 JavaScript脚本读取 Cookie信息

不要信任用户的输入, 必须对每一个参数值做好过滤或转译: (& 转译后 &), ( 转译后 youjiankuohaophpcn), (" 转译后 "), (\ 转译后 '), (/ 转译后 /), (;)等

本文来自 web服务器安全_网站安全防护教程 栏目。欢迎学习


# Java  # php  # JavaScript  # css  # xss  # Cookie  # 数据库  # 较高  # 为了避免  # 安全防护  # 未做  # 在实际  # ASP 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在建站之星绑定自定义域名?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel如何实现文件上传和存储?(本地与S3配置)  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  javascript如何操作浏览器历史记录_怎样实现无刷新导航  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  如何在Windows环境下新建FTP站点并设置权限?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Bootstrap整体框架之JavaScript插件架构  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  做企业网站制作流程,企业网站制作基本流程有哪些?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  *服务器网站为何频现安全漏洞?  教你用AI润色文章,让你的文字表达更专业  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Bootstrap整体框架之CSS12栅格系统  如何快速查询域名建站关键信息?  如何在不使用负向后查找的情况下匹配特定条件前的换行符  再谈Python中的字符串与字符编码(推荐)  如何快速生成ASP一键建站模板并优化安全性?  IOS倒计时设置UIButton标题title的抖动问题  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何批量查询域名的建站时间记录?  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  网站制作软件有哪些,制图软件有哪些?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel集合Collection怎么用_Laravel集合常用函数详解  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  移动端脚本框架Hammer.js  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Thinkphp 中 distinct 的用法解析  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  JS实现鼠标移上去显示图片或微信二维码  深圳网站制作培训,深圳哪些招聘网站比较好?  网站优化排名时,需要考虑哪些问题呢?  如何在阿里云香港服务器快速搭建网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  Swift中swift中的switch 语句  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  动图在线制作网站有哪些,滑动动图图集怎么做?  bootstrap日历插件datetimepicker使用方法  如何在 React 中条件性地遍历数组并渲染元素  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel如何使用Service Container和依赖注入?(代码示例)