0xGame Week1 misc&web

Week1

misc

[signin]

image.png

去大厨解密

image.png

0xGame{Welc0me_To_0xGame2023!!}

[重生之我在教学楼打cs]

下载一个cs1.6的游戏,把地图添加进去,打开。

根据提示:一眼”鼎”真,flag也许就在脚下。结合地图中有鼎,经过对鼎仔细的观察发现

83af31c5270b958469b4d3f322199e2.jpg

0xGame{CS_very_good}

[shark shark]

打开流量包

image.png

发现压缩包文件,提取出来,发现解压要密码

image.png

在第0流找到了密码very_safe_password,解压出来一个flag.txt

image-20231011145345693

0xGame{7a504dab-ada6-4c41-adb3-0d1530098cd4}

[hide and seek]

根据题目提示是用steghide隐藏的,那我们就要用steghide来解,但是不知道密码,所以先用stegseek来爆破密码。

1
stegseek 1.jpg <密码.txt>

不加密码文件默认用kali自带的rocky.txt文件进行爆破。如果找不到rocky.txt文件,在kali终端输入wordlists,解压一下rocky.txt就行

image.png

image.png

0xGame{Just_h1de_and_S33k}

[least and most]

先用zsteg得到flag前半段

image.png

0xGame{lsb_com

再msb隐写得到后半段

image.png

bined_wi th_msb}

0xGame{lsb_combined_wi th_msb}

[another signin]

一题区块链交易的娱乐题

题目给出了:

题目(提供源码,nc访问) 124.220.8.243:20000

rpc(货币节点,添加至metamask) 124.220.8.243:8545

水龙头(提供货币,浏览器访问) 124.220.8.243:8080

其中rpc要用matemask(谷歌插件)访问

先用nc看题目

image.png

大概的意思就是要完成一些任务,然后给你flag,先创建一个账户

image.png

提示要充钱

就用浏览器打开水龙头地址去给账户充钱124.220.8.243:8080

输入 0xdAC4E085939DcD76e5CfBE22D7FeAEF50000c1Bc

接着我们来到第2步

image.png

给了我们交易地址和交易hash

先输入4看一下源码

image.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
pragma solidity 0.8.9;

contract Greeter {
string greeting;

constructor(string memory _greeting) {
greeting = _greeting;
}

function greet() public view returns (string memory) {
return greeting;
}

function setGreeting(string memory _greeting) public {
greeting = _greeting;
}

function isSolved() public view returns (bool) {
string memory expected = "Love0xGame";
return keccak256(abi.encodePacked(expected)) == keccak256(abi.encodePacked(greeting));
}
}

可以看到我们需要满足keccak256(abi.encodePacked(expected)) == keccak256(abi.encodePacked(greeting));但expexted已经是Love0xGame,所以我们需要让greeting也是Love0xGame

打开matemask

image.png

添加网络,其中网络名称随便写,rpc填题目的第二个rpc地址,链id填错会告诉你正确的,照着填就行,货币符号自己随便。

在浏览器搜索remix并打开

image.png

将之前得到的源码复制进去

image.png

然后选择Injected Provider - MetaMask,这边注意networks的id是否一样,然后在At Address中输入前面的合约地址:0x4a9D3ABB3Ac6E3312a76f521B35f7b4c804Dc3dE

image.png

下面填Love0xGame

然后点击setGreeting

image.png

看到已经成功

最后在题目那边输入3,填写创建账号的token,得到flag

image.png

0xGame{a4a1e006-42f1-44f9-a4c5-6c712a930664}

web

[Ping]

用burp抓包

image.png

发现过滤了空格和/,用${IFS}代替空格,再利用base64绕过

1
payload:ip=127.0.0.1|echo${IFS}'Y2F0IC4uLy4uLy4uL2ZsYWc='${IFS}|${IFS}base64${IFS}-d${IFS}|${IFS}sh

0xGame{19c71976-d7d8-4ab8-9ea5-6ea3800f59f6}

[signin]

在main.js文件里

image.png

0xGame{c788fa80-2184-429f-b410-48cb8e2de0ff}

[babyphp]

image.png

参数a和参数b为弱比较md5绕过,c用%00截断绕过,name用php伪协议绕过

image.png

image.png

0xGame{43bb3e24-0824-48cb-95d0-c471540c0953}

[Hello HTTP]

image.png

用get传参query=ctf

image.png

post传参action=getflag

image.png

更改cookie

image.png

伪造请求ip

image.png

更改user-agent

image.png

更改Refere

image.png

0xGame{2c1a10fb-921e-4250-820f-5ce36940b8b5}

[repo_leak]

打开环境

image.png

提示是用git来进行版本控制的,先用dirmap目录扫描一下,看一下存不存在git源码泄露

image.png

发现好多git,确定存在git泄露

github安装相关工具:githacker

用githacker下载网页的源码

image.png

进入result目录下

image.png

放现git目录(隐藏的目录用ls -a显示)确实被我们拿到了,进入git目录,用git log查看文件上传的日志

image.png

发现flag被上传,记录下它的hash:8a5b670558921bd232d75b29542492f00698298b

接下来利用上传的hash查看上传的文件内容

git show 8a5b670558921bd232d75b29542492f00698298b

image.png

找到了flag

0xGame{3fc49725-23b5-4f28-8c64-16a3459b67b7}


0xGame Week1 misc&web
http://www.qetx.top/posts/419/
作者
Qetx.Jul.27
发布于
2023年10月11日
许可协议