第四天作业

一.总结反射型、存储型、DOM型XSS特点和区别

特点

反射型(非持久型跨站)

反射型跨站脚本漏洞,最普遍的类型。用户访问服务器-跨站链接-返回跨站代码。

这种攻击往往具有一次性。攻击者通过邮件等形式将包含XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用户的请求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析执行代码,触发XSS漏洞。

存储型(持久型跨站)

最直接的危害类型,跨站代码存储在服务器(数据库)。

攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性。攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码。例如下图:

DOM跨站(DOM XSS)

DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。

DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如URI ,location,refelTer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。

区别

反射型XSS:攻击者构造一个参数包含恶意js代码的URL,诱骗用户点击,用户访问后向服务器发送请求,服务器响应包含恶意代码的页面,并在客户端执行。例如服务器后端存在PHP代码echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';,参数name传入js代码后,则会在服务器生成恶意页面,然后返回给客户端执行

存储型XSS:攻击者通过网页的留言、评论等交互处将恶意代码注入到服务器数据库中,用户请求后响应包含恶意代码的页面

DOM型XSS:攻击者构造一个参数包含恶意js代码的URL,诱骗用户点击,用户访问后向服务器发送请求,服务器的响应并不包含恶意代码,而是URL中的代码直接在本地浏览器由js执行。例如下面的html页面,当URL的参数a传入js恶意代码后,会直接被html内嵌的js代码写入到html中,并不需要经过服务器的处理

三.XSS挑战靶场打靶(https://xss.tesla-space.com/)

第一关

根据URL,猜测一下name后面的内容可以做插入,试一下

构建payload

<script>alert('1')</script>

执行后成功过关

第二关

这里我们先执行一下上一关的payload,没有反应

查看源码

发现我们输入的语句被赋值给了vlaue,并且在input标签里面,所以我们要闭合value和input 标签就可以正常弹窗了
构造payload

 "><script>alert('1');</script><”

成功过关

第三关

先输入简单的JS语句,发现没有反应

查看源码,发现我们写入的js语句的<>以及部分符号都被实体化了

这里我们可以利用onfocus事件绕过,

onfocus事件在元素获得焦点时触发,最常与 <input>、<select> 和 <a> 标签一起使用,简单来说,onfocus事件就是当输入框被点击的时候,就会触发myFunction()函数,然后我们再配合javascript伪协议来执行javascript代码

构造payload

' onfocus=javascript:alert() '

点击搜索,然后再次点击输入框,触发onfocus事件

第四关

还是先试试最简单的js语句看看效果,发现页面没有反应,查看源码,发现我们的<>被注释掉了

这里是双引号闭合,<input>标签,所以我们还能继续利用onfocus事件,

构建payload

" onfocus=javascript:alert() "

点击输入框,触发onfocus事件

第五关

输入简单的js语句看看效果,发现页面没有反应,查看源码,发现”script”被替换成了“scr_ipt”

再试试onfocus方法

发现也还是一样被过滤了,使用a href标签法试试

href属性的意思是 当标签<a>被点击的时候,就会触发执行转跳

构建payload

 "> <a href=javascript:alert()>111</a> <"

点击”111”跳转,出现弹窗,成功过关

三.上网搜索一份XSS 的fuzz字典

下载地址:GitHub - TheKingOfDuck/fuzzDicts: Web Pentesting Fuzz 字典,一个就够了。

下载解压后里面有包括fuzz字典在内的很多实用的字典

fuzz字典:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值