首页 技术 正文
技术 2022年11月23日
0 收藏 552 点赞 3,514 浏览 1033 个字

xss(跨站脚本攻击)

  原理:攻击者可以通过在页面中注入恶意链接或者脚本代码,当受害者访问时,脚本代码会在其浏览器中执行,这个时候,我们可以获取当前用户的cookie或者进行重定向等操作。

  xss造成的原因是因为对用户插入的数据没有进行过滤,导致用户可以上传一些非法数据,对服务器数据进行盗取。

  xss的形成一定是伴随着输入和输出的。

  xss分为反射型xss、存储型xss、DOM型xss(DOM型xss是一种特殊的反射型xss)

1.反射型xss(输入数据,浏览器直接对数据进行输出)是一种非持久型的xss

  常见的情况有两种:

    <script>输出</script>

    输在在html标签的属性中:<input value=”输出”>、<img onload=”输出”>、<body style=”输出”>,我们可以直接在输出中构造xss payload

2.DOM型xss(我们可以通过源码查看,不仅输出了,而且javascript使用这个输出做了其他事情)

  1.显示输出

  2.隐式输出

  3.不管是显示输出,还是隐式输出,最终结果都会通过innerhtml()和document.write()流向浏览器,但是有时候没有流向页面,而是碰到了eval参数

3.存储型xss(输出的位置不一定在输入的位置,而且一个输入点可能存在很多输出的地方)

4.flash xss(谷歌搜索存在漏洞的flash文件)

直接嵌入 <script>alert('xss')</script>
元素事件 <body onload=alert('xss')>
<input value=alert('xss')>
<img style=alert('xss')>
重定向 <a href =http://192.168.59.143>click</a>
<img src =http"//192.168.59.143/a.jpg onerror=alert('xss')>
<a href ="onclick=alert('xss')">type</a>
重定向:<script>windows.location='http://www.baidu.com'</script>

xss的防御

  1.禁止用户输入不可信数据

  2.对用户输入的不可信数据进行编码

xss的绕过:

  1.宽字符绕过

  2.大小写绕过

  3.标签绕过

总结:就是通过输入查看输出,通过输出查看对输入的限制过滤,然后通过过滤条件修改输入进行xss注入。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,992
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,506
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,767
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844