记录有趣的CTF题目:​Google CTF 2020 NodeJS XSS
2023-2-23 00:2:55 Author: NOVASEC(查看原文) 阅读量:25 收藏

△△△点击上方“蓝字”关注我们了解更多精彩
0x00 前言
前段时间写了一篇CTF文章,也算是刚入门找的题目吧,发现确实玩CTF很有趣,每道过程解题成功的那种感觉很有成就感。
虽然说CTF很多离实战背道而驰,在实战中往往遇到不上,但是在CTF上挖掘0day的几率也是蛮大的。
在安全的领域里,不论CTF还是渗透测试或者攻击队,本质上都是在一个未知的系统里,拆解着"每一道题",探索着每一扇墙,再把所探索过的墙打通,形成整条可走的道路。每个实战时环境不一样,造就的结果也都是不一样。
但笔者倒是觉得,CTF也亦是如此。每个人有每个人思路去解所遇到的难题,基于自己所了解的知识去探索,不存在知识用不用得上,也所谓是多学一点知识,得一寸欢喜。万一哪天就用上了呢?
本篇文章,算是小小划水一下,也是记录一下XSS的思路,欢迎更多表哥讨论有更好的思路。
0x01 NodeJS XSS

打开题目,直接开撸。

尝试提交test,查看源代码发现test出现在这里,script标签里面。

尝试闭合,发现被转义了。

尝试提交"<img src=x onerror=alert(1)>,发现引号被转义,尖括号也被十六进制转换了。

在查看F12的同时发现有个敏感路径,访问得到NodeJS源码。

下载到本地进行审计。,发现有个函数操作输入的字符串。

我们去看看这个JSON.stringify方法。

发现经过处理后逃逸了双引号,尝试构造提交一个对象或者数组

content=;alert(1)//&content=

成功弹窗。

0x02 总结

下面是wp,看了其他大佬的测试思路,挺有意思的,每个人的思维方式都不一样,手法也存在差异。

https://blog.maple3142.net/2020/12/11/google-ctf-2020-writeups/#web

https://gist.github.com/officialaimm/777b632be51998117e43eff71a5146f3

0x03 免责声明

在学习本文技术或工具使用前,请您务必审慎阅读、充分理解各条款内容。

1、本团队分享的任何类型技术、工具文章等文章仅面向合法授权的企业安全建设行为与个人学习行为,严禁任何组织或个人使用本团队技术或工具进行非法活动

2、在使用本文相关工具及技术进行测试时,您应确保该行为符合当地的法律法规,并且已经取得了足够的授权。如您仅需要测试技术或工具的可行性,建议请自行搭建靶机环境,请勿对非授权目标进行扫描。

3、如您在使用本工具的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。

4、本团队目前未发起任何对外公开培训项目和其他对外收费项目,严禁任何组织或个人使用本团队名义进行非法盈利。

5、本团队所有分享工具及技术文章,严禁不经过授权的公开分享。

如果发现上述禁止行为,我们将保留追究您法律责任的权利,并由您自身承担由禁止行为造成的任何后果

END

如您有任何投稿、问题、建议、需求、合作、后台留言NOVASEC公众号!

或添加NOVASEC-余生 以便于及时回复。

感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!

本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!


文章来源: http://mp.weixin.qq.com/s?__biz=MzUzODU3ODA0MA==&mid=2247488699&idx=1&sn=96916a77ee95227f14645e1a19b6c590&chksm=fad4c9accda340baf318a5ae43810f479e7f7fc31f0512bdfe160e41845828844a09e9be1876#rd
如有侵权请联系:admin#unsafe.sh