XSS的原理分析与解剖
每日一句:
世界上不存在学霸,只存在用不用心
本文内容:
~XSS的原理与特性
~反射型XSS及其实战注意
一、XSS的原理与特性
1,什么是XSS
定义:
个人理解:就是HTML代码注入
注入攻击的本质,就是把用户输入的数据当作代码去执行
拼接的什么:
拼接的HTML代码,一般是JS语句
XSS的危害:
~盗取cookie //主要
~获取内网ip
~获取浏览器保存的明文密码
~截取网页屏幕
~网页上的键盘记录
XSS平台:
为了方便利用各种复杂XSS语句,XSS平台应运诞生
xsspt.com //开放注册
xss9.com //需要邀请码
XSS平台大大方便了XSS攻击,只需要引入一个平台外部链接就可以了实现功能了
2,类别
~反射型
一般危害不是太大,国内不是太重视。一般不点xss链接就没事
~存储型
一般发生在留言板,上传的恶意代码被存储在数据库中,日后只要有人访问,就会被攻击
~dom型
比较特别,日后细讲
3,如何检测存在
一般是想办法让浏览弹窗一下,最经典的弹窗语句:
<script>alert(1)</script>
只要有弹窗,就证明有xss
4,xss的方式
~正常在url中打入
~使用伪协议
伪协议:不同于因特网上真实存在的协议,如http://,https://,ftp://
伪协议只有在特定环境下才可以执行(关联应用中使用),
比如:php:// tencent://(关联QQ)
经典代码:
<a href=javascript:alert(1)>test</a>
~利用事件
理解:当满足某种条件时,就执行
例如:<img src='suibian.jpg' onerror=alert(1)/>
上述语句就是,先加载suibian.jpg图片,如果没成功,就弹个“1”
注意:html事件,可以直接百度,有很多很多事件
二、反射型XSS实战注意
1,XSS != js注入
Xss攻击手段很多,不能盲目的把XSS当作JS注入。
XSS应该是包括js注入
2,xss打的实际上是浏览器
3,cookie是存在浏览器中的
4,漏洞:会对用户造成影响的bug
5,短链接欺骗
常常反射型xss链接很长,人们不会能傻去点击,这时候直接百度“短链接生成”,
变成短链接就可以更好的欺骗
8,找反射型xss,尽量不要用谷歌浏览器
浏览器在长期的更新中,有了安全意识,你一个xss代码打进去,
就被谷歌浏览器拦截了,所以建议使用火狐浏览器测试
9,提供几个常用事件型代码
' oninput=alert(1) // //在输入框输入东西被弹出,后边的“//”是注释
' onfocus=alert(1) // //有人点击输入框就弹窗
' onfocus=alert(1) autofocus// //自动检测输入框进行弹窗