From 7df45e445352ab208570d6d0e1f5b46c98f4cfc2 Mon Sep 17 00:00:00 2001 From: cnrenil Date: Mon, 9 Sep 2024 17:16:59 +0800 Subject: [PATCH] First Commit --- Dockerfile | 6 ++++++ _files/src/dump.pcap | Bin 0 -> 5219 bytes _files/src/index.html | 48 ++++++++++++++++++++++++++++++++++++++++++ _files/src/server.php | 40 +++++++++++++++++++++++++++++++++++ 4 files changed, 94 insertions(+) create mode 100644 Dockerfile create mode 100644 _files/src/dump.pcap create mode 100644 _files/src/index.html create mode 100644 _files/src/server.php diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2374b6c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,6 @@ +FROM php:8.2-cli + +COPY _files/src /app +WORKDIR /app + +CMD [ "php", "-S", "0.0.0.0:80" ] diff --git a/_files/src/dump.pcap b/_files/src/dump.pcap new file mode 100644 index 0000000000000000000000000000000000000000..f14ae42e0b2f7e25f125806ac841d41d27e221b9 GIT binary patch literal 5219 zcmc&&Uu+vm8Q=U-nz{sC`$8pzIvCtISFd;dH@4#qP1B_5HNB>ZL(|eryV)Jv+pKrD z>vilTifGa4D23DIXhC-(2Pxv=?&$>5apFjMLFj})NSr_sF9#w@OP}E3ju&XcH?v;< ztK$lgVA`p7XJ>x%`@Z?jH}my(KmXCacBYf5mQJP(ULJqv!}M>02bkyJnbg|S&5STi za_6hZnd4o9!7npR8>w5}M^@jz_qlJ9p6l(qn>#$iw0G`qcD8rBzMy}mowT=gbnGL@ ze`tx!Fa$aIo`Za3b*uY><=Hm@{m%NK-Cs2#6LbgpPk?*^W+Jt=P|o33oXOshlT!@sjIagrj3j#%9uT^<*`&SF*}K`7jWLnClE|JoyR6Sl))NI zeO6ymR8{06eja&e0)YWEu4si4D#fB#qTxO?WEd*GfalIA78eQi`$JLWJu{X%JMKfO zGLO+IEY0hEXgF)?Im`uuG20Y0C8kAFDG%v!4M`FOVlQIO}+ zxiig`dJZ_$)2UJub$LO z9Yqsc1ydt4R(q|uDqSj$Q1y(Wc^k>XYUC|cfT&8=35=9=sgMJK`!m=YQ89Tuv3Oec z_Bwrf`}_-{TENxWh`~0FA?EW%-IQD5IDJ~-fIG-y1aN;);v;c3B*sH*I2}#1u}~bd zqR2~pe=ID?!8j~f#a2RuGWf|q;%iFMs(9f?MSo8KyoSRDZ`cN;d!2(2M zBWu8$WfpLg5fEU?cw;nndwYj#;t@fqJDb>IvB-jkb8Nu`Ex~z#<=!T+x<-zI#k>VU z(LQj%hKh2Y5DoFOl15%)106U;1|mTaP#7IOiby-bD&%P!gyBZn5d>1mYW?8FhpR7b z-+6iay}Nb(w0k(xGI8DjtrCga)7q~oIF##^=nR7ZVp?8jScB1|Q~fqtsYjtEU`_U3 zb#yO$e%bcm^yKMbJqKi9Yj~ZneJe*D;WY2~gzEZMuGWyU$s{=^jwLxe#3tu-d9fT$ zvw?B|gpYx8n<~y>6~Ph}S3WSASA#3%Q83-&&(qfA^4sxMk-}b`C-^h85=?!FLgkB(fo{8rS~ArOoqxj$F3=U=cmiW||?A+NC2(p15*Ev&xvpNB{FUv@9Tz!f)iPPA`X49{n z1H_K}Kav9{0tup=Q?zP8^zec6=RN$13sW9G>fvJ^p7-$KiyrTGz_xlLqf17|r6MS&b1Z0Mt(2Jk|nLV+X zKoesVT+AQx2Ou|gL`MRAtJI{&MNC$}D93jk#4^VyaQs=r JrXYyj{{jO + + + + + 登录页面 + + + +

登录

+ +

+ +

+ + + + diff --git a/_files/src/server.php b/_files/src/server.php new file mode 100644 index 0000000..2d6e273 --- /dev/null +++ b/_files/src/server.php @@ -0,0 +1,40 @@ + '04f94c31-7845-469b-ba4e-1fdbabb511f4', // 用户名 => 密码 +]; + +// 从环境变量中读取 Flag,如果没有则使用默认值 +$flag = getenv('GZCTF_FLAG') ?: 'CTF{this_is_test_flag}'; + +// 异或加密函数 +function xor_encrypt($data, $key) { + $out = ''; + for ($i = 0; $i < strlen($data); $i++) { + $out .= $data[$i] ^ $key[$i % strlen($key)]; + } + return $out; +} + +// 处理 POST 请求 +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $username = $_POST['username'] ?? ''; + $encrypted_password = $_POST['password'] ?? ''; + $key = '1e72c059-3a93-4f6f-839e-aa0c0784cd29'; + + // 解密密码 + $password = xor_encrypt($encrypted_password, $key); + + // 验证用户 + if (isset($users[$username]) && $users[$username] === $password) { + // 登录成功,返回加密的 Flag + $encrypted_flag = xor_encrypt($flag, $key); + echo "登录成功!Flag: " . base64_encode($encrypted_flag); // 使用 Base64 编码以便于传输 + } else { + echo "用户名或密码错误!"; + } +} +?> +