文档章节

xss攻防浅谈

吴伟祥
 吴伟祥
发布于 07/23 19:35
字数 550
阅读 4
收藏 0

导读

XSS (Cross-Site Script) 攻击又叫跨站脚本攻击, 本质是一种注入攻击. 其原理, 简单的说就是利用各种手段把恶意代码添加到网页中, 并让受害者执行这段脚本. XSS能做用户使用浏览器能做的一切事情. 伟大的同源策略也无法保证不受XSS攻击,因为此时攻击者就在同源之内.

xss攻击方式

从攻击的方式可以分为

  • 反射型
  • 存储型
  • 文档型

这种分类方式有些过时, 长久以来, 人们认为XSS分类有以上三种, 但实际情况中经常无法区分, 所以更明确的分类方式可以分为以下两类:

  • client(客户端型)
  • server(服务端型)

当一端xss代码是在服务端被插入的, 那么这就是服务端型xss, 同理, 如果代码在客户端插入, 就是客户端型xss.

防止xss攻击

转义

无论是服务端型还是客户端型xss,攻击达成都需要两个条件

  • 代码被注入
  • 代码被执行

其实只要做好无论任何情况下保证代码不被执行就能完全杜绝xss攻击.

总之, 任何时候都不要把不受信任的数据直接插入到dom中的任何位置, 一定要做转义。

对于某些位置,不受信任的数据做转义就可以保证安全

  • 一般的标签属性值
  • div body 的内部html

对于某些位置,即使做了转义依然不安全

  • script标签中
  • 注释中
  • 表签的属性名名
  • 标签名
  • css标签中

使用JSON.parse 而不是eval, request 的content-type要指定是Content-Type: application/json;

如果链接的URL中部分是动态生成的, 一定要做转义.

 

本文转载自:http://louiszhai.github.io/2016/03/05/xss/

吴伟祥
粉丝 9
博文 340
码字总数 212901
作品 0
泉州
后端工程师
Web-安全-学习资料(很全)​

看原文 看原文 看原文 Web-安全-学习资料(很全) Web-Security-Learning 在学习web安全的过程中整合的一些资料。 该repo会不断更新,最近更新日期为:2017/9/19。 9月19日更新: 新收录文章...

Ho0oH
2017/09/26
0
0
浅谈Web漏洞攻防----SQL注入篇

各位粉丝,不好意思最近有点忙导致简书脱更了一段时间,最近刚好遇到webservice相关的项目,学到的一点东西,想和大家分享一下。 所谓Web漏洞攻防这东西心正之人用之则正,心术不正之人用之则...

HaleyLiu
2017/11/30
0
0
Web安全的三个攻防姿势

关于前端Web安全的问题,是一个老生常谈的问题,作为离用户最近的一层,我们大前端确实需要把手伸的更远一点。 我们最常见的Web安全攻击有以下几种 XSS 跨站脚本攻击 CSRF 跨站请求伪造 clic...

木羽zwwill
2017/10/18
0
0
《网络黑白》一书所抄袭的文章列表

这本书实在是垃圾,一是因为它的互联网上的文章拼凑而成的,二是因为拼凑水平太差,连表述都一模一样,还抄得前言不搭后语,三是因为内容全都是大量的科普,不涉及技术也没有干货。所以大家也...

wizardforcel0
07/02
0
0
招sql注入漏洞 渗透技术 渗透测试人员 可兼职

负责承接的安全项目,主要以渗透测试 为 主。 1、精通web攻击、渗透技术,精通 asp/asp.net/php/java代码防护; 2、熟练掌握windows/nux/unix攻防 技 术; 3、熟练掌握SQL注入、文件上传、 ...

liujian1
2015/06/09
471
1

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo分析之Transport层

前言 上一篇文章Dubbo分析之Serialize层,介绍了最底层的序列化/反序列化层,本文继续分析Serialize层的上一层transport网络传输层,此层使用了现有的一些通讯开源框架(ex:netty,mina,grizzl...

ksfzhaohui
26分钟前
1
0
通告!Android 9 Pie未适配应用公示

8月7日,谷歌正式发布Android 9 Pie,至今已两月有余。近日,华为终端开放实验室对国内主流应用在Android 9 Pie的兼容性进行测试,结果显示:目前TOP3000应用兼容率已经超过95%,但仍有少量应...

安卓绿色联盟
28分钟前
1
0
Linux下多网卡绑定模式详解

在我们日常Linux使用中,一般对于生产网都会使用双网卡或多网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可谓好处多多。而一般我们都会使用Linux操作系统下自带的网卡绑定模式。这...

openthings
29分钟前
2
0
SylixOS中AARCH64跳转表实现原理

1. 跳转表存在的意义 1.1 内核模块反汇编 如下的程序清单,为一个内核模块的源码。 #define __SYLIXOS_KERNEL#include <SylixOS.h>#include <module.h> /* * SylixOS call module_i......

zhywxyy
31分钟前
2
0
聊一聊 Spring 中的线程安全性

本文摘自ImportNew公众号,摘录做学习资料,向大家推荐该公众号 Spring与线程安全 Spring作为一个IOC/DI容器,帮助我们管理了许许多多的“bean”。但其实,Spring并没有保证这些对象的线程安...

木子SMZ
31分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部