web安全入门(第六章-1)xss的原理分析与解剖

1,什么是XSS

定义:
		个人理解:就是HTML代码注入
		注入攻击的本质,就是把用户输入的数据当作前端代码去执行
		HTML+CSS+JS  组合
拼接的什么:
		拼接的HTML代码,一般是JS语句
XSS的危害:
		~盗取cookie		//主要
		~获取内网ip
		~获取浏览器保存的明文密码
		~截取网页屏幕
		~网页上的键盘记录
		
	cookie是存放在用户的浏览器里面的,只要能操纵你的浏览器或者读取你的cookie,别人就能得到
	
XSS平台:
		为了方便利用各种复杂XSS语句,XSS平台应运诞生
				xsspt.com		//开放注册
				xss9.com		//需要邀请码
		XSS平台大大方便了XSS攻击,只需要引入一个平台外部链接就可以了实现功能了

2,类别

	~反射型
		一般危害不是太大,国内不是太重视。一般不点xss链接就没事(诱骗你点链接,来窃取你的cookie)/传参一般不会进入数据库
	~存储型
		一般发生在留言板,上传的恶意代码被存储在数据库中,日后只要有人访问,就会被攻击 /传参会进入数据库
	~dom型
		比较特别,日后细讲

3,如何检测存在

三种类型:
	1.标签触发
	一般是想办法让浏览弹窗一下,最经典的弹窗语句:
		<script>alert(1)</script>
	只要有弹窗,就证明有xss
	2.xss的方式
		~正常在url中打入
		~使用伪协议
			伪协议:不同于因特网上真实存在的协议,如http://,https://,ftp://
					伪协议只有在特定环境下才可以执行(关联应用中使用),
					比如:php:// tencent://(关联QQ)
			经典代码:
					<a href=javascript:alert(1)>test</a>
	3.	~利用事件(满足两种条件,自动触发)
			理解:当满足某种条件时,就执行
			例如:<img src='suibian.jpg' onerror=alert(1)/>
					上述语句就是,先加载suibian.jpg图片,如果没成功,就弹个“1”
		
	注意:html事件,可以直接百度,有很多很多事件

靶场核心就在于触发一个弹窗

	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//		//自动检测输入框进行弹窗

XSS的原理分析与解剖常见问题

	1.xss的本质是什么
	我们的传参被拼接进HTML页面,并且被执行

	2.xss如何执行
	通过拼接恶意的html代码,js语句来执行攻击,实际上为html代码注入

	3.xss作用
	盗用cookie,得到内网ip,获取保存的密码等

	4.如何检测xss
	通过一个经典语句<script>alert('1')</script>弹窗检测

	5.xss还可以通过什么来执行
	通过事件,伪协议来执行

	6.伪协议是什么
	一种不同与真实协议的协议,只有关联应用才可以用(例如:javascript:alert(1))

	7.事件是什么
	这里的事件就是指js事件,通过之歌js事件来执行 例如<img src='1' onerror=alert(1)/>当图片加载错误时弹窗,以此来触发执行语句

	8.xss一般通过什么来执行
	写在<script>标签内或者是事件标签触发

	9.一定要用<来闭合吗
	不一定 '和"也可以用来闭合语句

	10.xss的过滤方法
	进行转义实体编码输出,加标签,正则匹配替换

	11.常用的事件有哪些
	onerror(加载错误时触发),onload(加载成功时触发),oninput(输入框输入时触发)

	12.如何防范xss
	转义字符输出,用白名单验证、HTML实体化

	13.xss要成功执行的条件是什么
	用户可以控制输入,执行代码拼接用户输入数据

	14.xss有几种类型
	有三种,分别为反射型,存储型,DOM型
	15.三种xss的形式的区别是什么
	反射型 非持久型xss 只对本次访问有影响
	存储型  持久型xss 存入数据库,访问时触发
	DOM型 利用DOM对象触发的xss

	16.反射型XSS具体使用方法
	比如百度存在反射型XSS,然后你构建可以窃取Cookie的JS语句,然后传参点在URL那里,然后我们通过短链接将他变为短链接,然后发给想要获取别人信息的人。然后人家如果登陆状态访问了就会触发XSS

	17.反射型XSS为什么很多SRC不收
	因为危害比较小,需要管理员和你交互,大部分公益SRC会不收,专属的可以获得。

	18.DOM型XSS究竟是持久型还是非持久型?
	既有持久也有非持久,DOM型最简单的理解方法就是通过网页自带JS操作后造成的XSS,例如本身可能有HTML实体编码,结果我们输出点因为JS会进行解码,然后我们打了编码过的字符串,绕过了HTML实体编码造成的XSS就属于DOM型

	19.事件型XSS是不是需要交互妮?
	不一定,有些事件需要,有些不需要,例如: onload onerror 这些就不需要,我用的最喜欢的还是onfocus=alert(1) autofocus (获取焦点触发弹窗,然后自动触发)

	20.事件有哪些?
	https://www.w3school.com.cn/tags/html_ref_eventattributes.asp


	21.Xss窃取他人Cookie最简单的方法是什么?
	通过XSS平台,例如XSSPT

	22.短链接是什么?
	短链接,通俗来说,就是将长的URL网址,转换为简短的网址字符串,和DNS协议有点像,提供服务的网站会在数据库里面存储短链接对应的原本URL是什么,当你访问短链接,然后那边设置了302重定向跳转到原本的长URL

	23.XSS在什么地方可以插入?
	有输入的地方就插进去

	24.XSS一般在什么业务场景容易遇见?
	重灾区:评论区、留言区、个人信息、订单信息等
	针对型:站内信、网页即时通讯、私信、意见反馈
	存在风险:搜索框、当前目录、图片属性等
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值