金歌 发表于 2022-6-24 02:09:05

Dest0g3 520迎新赛

MISC

Welcome to fxxking DestCTF

关注微信公众号,得到flag
Dest0g3{W31c0m3_t0_DestCTF2022!}
Pngenius

https://img-blog.csdnimg.cn/52ab482dc4504b87a48152a41f409414.png
题目是一张PNG图片,很难不让人联想到隐写术,我们使用stegsolve打开
https://img-blog.csdnimg.cn/f15cb76d78114726af61520cb7c9265c.png
在R0G0B0发现了Password for zip,猜测图片包含ZIP,使用foremost进行分解
https://img-blog.csdnimg.cn/9d9fd80f4489403d9c5b37f72996fa2c.png
分解后发现有密码,使用刚刚解出来的密码解压,得到flag
https://img-blog.csdnimg.cn/c17be9a021204dd8862802208f72cc52.png
Dest0g3{2908C1AA-B2C1-B8E6-89D1-21B97D778603}
EasyEncode

https://img-blog.csdnimg.cn/fd7f02e48a914f5eb631174a89dce3fb.png
下载附件,发现是一个有密码的ZIP文件,我尝试了下伪加密,发现并不是,那么只能进行爆破,通过爆破得到密码
https://img-blog.csdnimg.cn/d7a50fb73002457286b236c3578a0587.png
使用得到的密码进行解密,得到一串Morse
https://img-blog.csdnimg.cn/32bf12fb8f6b4c6fb5192aee06d77cea.png
我们扔进在线网站解密一波,得到一串16进制
https://img-blog.csdnimg.cn/f119148794634984b1da70d2388317a3.png
将16进制写入文件,发现存在unicode
https://img-blog.csdnimg.cn/5165c17a0478432794ecf0c3264176c2.png
我们解码一手unicode,得到一串URL编码后的密文
https://img-blog.csdnimg.cn/9c71d4886f58427f937eb2ef5c9ab316.png
 使用URL进行解码,得到一串base64
https://img-blog.csdnimg.cn/3b7e0fcf0bf3468ab5a295e0451a8260.png
解密base64,得到flag
https://img-blog.csdnimg.cn/ec4aec620b4345678c74b7b140c471ef.png
Dest0g3{Deoding_1s_e4sy_4_U}
你知道JS吗

下载发现存在doc特征,故修改后缀为doc打开
https://img-blog.csdnimg.cn/6bef9afde8dc4843a5643939808f2535.png
打开后我们发现存在是字体混乱
https://img-blog.csdnimg.cn/e12aa2a17aa94ac1a9b3997807d8428b.png
我们直接换一个字体,发现存在base64特征
https://img-blog.csdnimg.cn/8e60faf1a30e4df4bfac0da4516843f2.png
解密base64,得到如下内容
https://img-blog.csdnimg.cn/e1b6e982a09844e18778d0800a1cafec.png
存在URL特征,我们直接使用URL解码一波,发现如下特殊字符
https://img-blog.csdnimg.cn/8477a67afdf14dd38d30def1640b0b07.png
根据经验,这是brainfuck加密过的,我们直接解密,得到如下字符
https://img-blog.csdnimg.cn/9e18ea10200e4b828f41fc05cb6a69bc.png
看来是16进制,我们写入文件,发现flag
https://img-blog.csdnimg.cn/9c96b80a26e24ac6b11728534b40499d.png
Dest0g3{86facac9-0a5d-4047-b702-86cb37ab77b2}
StrangeTraffic

下载附件,使用小鲨鱼打开这个流量包
https://img-blog.csdnimg.cn/475a73868a79453a8f99bea3a42651c5.png
追踪TCP,得到如下内容
https://img-blog.csdnimg.cn/266066c0e04f4794beef000ba9f3bf4a.png
将内容改为hex转储
https://img-blog.csdnimg.cn/e368b69297684203ada018a7a2972dd0.png
发现如下内容,每一个循环的结尾都存在base64一部分
https://img-blog.csdnimg.cn/2052383220a9468ca8578c37e2569ac8.png
https://img-blog.csdnimg.cn/81dfdbcea465488088205f0f4c7663e4.png

为我们是无脑的工具人,这里就不需要什么脚本辅助了,直接手撸一波,得到密文
RGVzdDBnM3szMUE1QkVBNi1GMjBELUYxOEEtRThFQS0yOUI0RjI1NzEwOEJ9 解密base64,得到flag
https://img-blog.csdnimg.cn/4b3d001c55c2413ebde85835b9bff4cc.png
Dest0g3{31A5BEA6-F20D-F18A-E8EA-29B4F257108B}
EasyWord

解压压缩包,得到如下文件
https://img-blog.csdnimg.cn/65a3be46e0d84ffa8f1ea591a5dacb3d.png
看看hint.txt,发现password.docm的密码存在掩码攻击,且密码为6位
https://img-blog.csdnimg.cn/728f6f4d3bcb41a5a473eb3f8e4fba1d.png
使用如下脚本获取docm文件的hash
https://img-blog.csdnimg.cn/c9a3b509078946c1b2b0b15e94ed7b82.png
以下脚本来源于
https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo/run/office2john.py
https://img-blog.csdnimg.cn/43f89f5b6d4449318c0615c5e2fbb163.png
获取到hash,版本之类的,我们去查一下发现2010版本的office的解密代码为9500,删除冗余,得到
https://img-blog.csdnimg.cn/53511faead2f4d59966718d41fc5ef9c.png
使用kali自带的hashcat进行掩码攻击
https://img-blog.csdnimg.cn/6292c33dc6b144d69b4da51ae5fc3a21.png
查看桌面生成的mima.txt,得到密码
https://img-blog.csdnimg.cn/579de083bc2c42718bbb37f45d281600.png
使用该密码打开word,发现使用了宏命令
https://img-blog.csdnimg.cn/524dbd2de0d142a597936dd188850531.png
 我们查看宏,发现被加密
https://img-blog.csdnimg.cn/e9fa7a46ce1f4afa8a2c80e383b84f5f.png
先把这个docm的文件解除密码、
https://img-blog.csdnimg.cn/b59cb0acb9f34de796b813a64ee898ef.png
然后另存为成doc文档,使用notepad打开
https://img-blog.csdnimg.cn/ead1df62dff845a5ae517520f2ae895a.png
将DPB修改为DPx(区分大小写),然后保存后再次打开,忽略所有的警告,但提示错误
https://img-blog.csdnimg.cn/afb086a5afd54d72b40edc74b20e2610.png
我们重新设置一个密码
https://img-blog.csdnimg.cn/9c2495ce26a043b98285e675cac1929b.png
点击确定后保存,然后使用notepad打开,将DPx改回DPB,至此,破解密码已完成
https://img-blog.csdnimg.cn/0af6e204b35d41ff9d957aa40732926d.png
再次打开后我们就可以编辑这个宏了,对代码进行简单的分析
https://img-blog.csdnimg.cn/7a77fbaadf4a492493545dd54b3ce365.png
我们如下图修改代码
https://img-blog.csdnimg.cn/fdc3e321f38b4fea987eb3b480b22fb5.png
这样相当于反向加密,我们调试时可以修改If为1让程序执行语句
接下来经过调试,我们发现只有这一行是输出最终提示的
https://img-blog.csdnimg.cn/1220ee3652144fff9d386e7f8898ce04.png
我们将它改为1,其它改为0,看看效果
https://img-blog.csdnimg.cn/756f89dc2b1247c1ba85f2d9e04e8d14.png
成功输出到了最终的密码(中间省略了一些调试过程,有兴趣的人可以去试试)
随后我们将源码还原到修改前,然后运行,输入密码,得到密码
https://img-blog.csdnimg.cn/39b159677411432e8cbb01c9b8dc02f1.png
压缩包密码:2zhlmcl,1hblsqt.
这里问候一下出题人,为什么解压密码后面的是个感叹号呢?
解压得到flag
https://img-blog.csdnimg.cn/e5008ba7828e476faf14edd7d3ec4f00.png
Dest0g3{VBScr1pt_And_Hashc4t_1s_g00d}
4096

https://img-blog.csdnimg.cn/48c563b56bec4337bf0951cb51c36e3d.png
果断启动一波容器,进入容器,在JS中找到一串base64
https://img-blog.csdnimg.cn/65b03c9e1ca943028ecff01b4abbd0ba.png
Base64进行解码,得到另一串base64
https://img-blog.csdnimg.cn/de8a12e2c31f463f97a08780ed97cb19.png
 再次解码,得到后半段flag
https://img-blog.csdnimg.cn/89800416b9204485b76b944f7401e318.png
我们在容器中将favicon.png下载下来,然后使用foremost进行文件分离
https://img-blog.csdnimg.cn/584be20448b04d01b468d21688248eaa.png
使用耳朵听一下wav,发现前面是按键音,中间是SSTV,后面也是按键音,我们用AU处理
https://img-blog.csdnimg.cn/ffd91b3e4dfc4469a664008072533119.png
将中间的SSTV删除后让两段拨号音拼接
https://img-blog.csdnimg.cn/27c81924b165449da332158f7ed800a5.png
然后使用demf2num进行拨号音识别,得到74958097831
https://img-blog.csdnimg.cn/649bd185c4974c99af17c8ef99e23343.png
考虑到是拨号,我们将它进行reserve操作,得到出题人手机号13879085947
https://img-blog.csdnimg.cn/8443015ab3d94052a31af01e46be8c6e.png
然后我们听一下中间的SSTV,本菜因为电脑没有声卡,被迫用手机了(软件名:Robot36)
https://img-blog.csdnimg.cn/583f216b75394c96a4d99f9ea39d4cc4.png
我们按照题目指示的方法,将出题人手机号进行md5,加密,得到最终的解压密码
https://img-blog.csdnimg.cn/3ba0fafdd4204c8884f5f126083c747f.png
使用以下密码对压缩包进行解压,得到如下图片
https://img-blog.csdnimg.cn/ee998b77a0a84613addb864c50dc1185.png
实在是太套了,我们使用gaps+手撸拼出原图(因为gaps精准度堪忧)
https://img-blog.csdnimg.cn/82dc7d7975244252878157825eac1c53.png
把这些base64拼在一起,得到前半段flag
随后我们将前半段flag和后半段flag进行拼接,得到最终的flag
Dest0g3{ed4d114f-9ee4-4ee7-b673-971d81f8b177}
Python_jail

下载题目拿到附件解压
https://img-blog.csdnimg.cn/472ce0e422f3451e86282a38b496bfb4.png
先看看hint
https://img-blog.csdnimg.cn/99e5f5969996418298222826162b54c6.png
看到中间的空白字符,再结合是一门语言,根据经验想到了无字天书
将password进行无字天书运行,得到密码:a8e15220-7404-4269-812e-6418557b7dc2
URL: https://vii5ard.github.io/whitespace/
https://img-blog.csdnimg.cn/00547bb88d6f4f4892ae05cbb857457d.png
使用该密码解压SECRET1.zip,得到一张图片,将它使用stegslove打开
最终在R0G0B0发现Zmxh开头的字符串,疑似flag进行base64编码
https://img-blog.csdnimg.cn/e4725e46b32a4dfa93279793740869a1.png
解base64得到flag
https://img-blog.csdnimg.cn/81a09b80e161473ba1f25864819b9093.png
flag{b5bcfc87-5ca6-43f1-b384-57d09b886ca9}
codegame

下载附件,修改后缀为zip,解压
https://img-blog.csdnimg.cn/e30ddf5348cb42dcbc3d1115014f233c.png
打开KEYcode
https://img-blog.csdnimg.cn/d617a1f1209c42acb46fe17ed10812ff.png
根据经验得知,这段代码是LOLCODE,LOLCODE在线运行
 https://img-blog.csdnimg.cn/9742842ec93b449c937da4b070d964fe.png
URL: https://www.dcode.fr/lolcode-language
运行得到QEFPFPQEBMXPPTLOA,这便是ZIP的密码,我们将Treasure.zip中的docx解压
https://img-blog.csdnimg.cn/091e784ae75e41ef8c7c2bed4f599fa5.png
后缀改为.zip,解压得到fllllllllll1ag.txt
https://img-blog.csdnimg.cn/add29cc7319845859963d10ae3f681f0.png
这是emojiAES,同样用QEFPFPQEBMXPPTLOA进行emojiAES解密即可
https://img-blog.csdnimg.cn/c00da2f622124492839b3600025e55a9.png
 但是我们发现解不出来,其实这是出题人留下的坑,我们点击Advanced,调整一下
最终得到了一串16进制(Rotation:4)
https://img-blog.csdnimg.cn/6558e5dba2004c3c83787c41f4784772.png
将这段16进制使用16进制编辑器打开,得到flag
https://img-blog.csdnimg.cn/896ca0d2c2d54943be342428dbabba25.png
 flag{9f68f334-017a-4201-92df-dddcc145334d}
rookie hacker-2

非预期解!!!(应该)
https://img-blog.csdnimg.cn/ee5bf4b15b4d4445ad11bfd293219796.png
使用破空flag查找工具,写一条正则(ip正则:\d+\.\d+\.\d+\.\d+)
然后递归一下Memory.dd,冗余数据战术性不看,结合docker数据是172开头,且172.18.0.2和172.18.0.3是相邻ip,并且在文本中也是相邻的,所以猜测ip就是这俩,结果还真对了,这里给破空flag查找工具打call!
Dest0g3{172.18.0.2_172.18.0.3}
被污染的二维码

首先根据附件名称,修改后缀为zip后解压
https://img-blog.csdnimg.cn/3e66c761cc974912b1b8d5f484ed747a.png
先看flag1的16进制,发现是个png文件,但是有意外收获
https://img-blog.csdnimg.cn/8e65af0c9c16459a8386bada76fea3ed.png
这里其实都没啥,意外收获就是这个PNG图片为了防止我们使用PS等软件打开,多了一个IDAT块,不清楚是什么用,但是binwalk可以把它分离
https://img-blog.csdnimg.cn/3700af3686f947129e54593d2cc79347.png
我们先修改后缀为png,发现是个反转颜色的二维码,我们使用stegslove反色一下
https://img-blog.csdnimg.cn/cba54714094f4ebabbf9e5c03361c838.png
暂时没什么信息,我们binwalk一下这张图片,发现在里面有一个密码
https://img-blog.csdnimg.cn/21b687136440484f8457aeda04d65e92.png
 https://img-blog.csdnimg.cn/92fbacac222640a88f8b702e7e3c2f80.png
看来是有什么东西需要密码,但是flag1已经处理完了,我们看看flag2,发现是个7Z文件
 https://img-blog.csdnimg.cn/4bcb9a0ee8104cf5bcd68ee8b00bce5c.png
但是实际上这个7z的文件头损坏了,正确的应该是377ABCAF,而它是377AAFBC,将BCAF换位,得到正确的文件
 https://img-blog.csdnimg.cn/d0d331ce597f49cfa81a48217d2b0d24.png
将后缀改为7z,然后使用密码解压,得到密文,但是密文长度有问题,猜测有零宽存在
 https://img-blog.csdnimg.cn/95a76ae496934c1a8ca52f25342675dd.png
我们解密零宽,零宽有很多种,都试试就好了,最后发现是这个Unicode Steganography with Zero-Width Characters (330k.github.io)
 https://img-blog.csdnimg.cn/0a486f70b58e41f49c92ba674dca279c.png
这里师傅们一定要注意下面的选项
https://img-blog.csdnimg.cn/7e142ecdb0924d46acec751478c44539.png
紧接着,我们根据解出来的N-ZA-M猜测是rot13算法,对解出来的长度66字符进行rot13
https://img-blog.csdnimg.cn/68505a91ae3948a2ae55bf17874154b1.png
根据经验判断是base64,解密一下,得到部分flag
https://img-blog.csdnimg.cn/8c98dc739a1649adad9dd84b0e1a7e7b.png
那么我们接下来的任务就是找到这四位字符,看来只能处理flag1中的二维码了,我们用QRazyBox加手撸补一下,这里的图片大小是315*315,但是二维码是21*21,所以每15*15代表二维码的一个像素,我们浅浅把我们已知的区域补充一波
https://img-blog.csdnimg.cn/988e7d50550e44058d5180bba275d227.png
(这里运用了推理手法,因为墨水是黑色,只要是15*15像素内存在白色,就一定是白色)
但是经过爆破发现没什么用(乱码了),那就只能继续补下面的灰色,我们瞎蒙一下
https://img-blog.csdnimg.cn/8763909ae23b4e7699cdcbb0ac0bd6e7.png
这里蒙的肯定不对,但是要知道,这个神奇的玩意是可以大幅度纠正错误的,我们点击tools
https://img-blog.csdnimg.cn/d74e96681724425283ab5b9c9c15e959.png
点击之后,往下翻,发现它提取出来了
https://img-blog.csdnimg.cn/b847d3f7b345414aa92b895072ca4963.png
最终的flag出来了
Dest0g3{dcfdffa4-ce19-45cb-902b-df7a152516c7}
CRYPTO

babyRSA

https://img-blog.csdnimg.cn/37504e54e7b841969abca1fa31dbd0b1.png
看到q的生成规则,很容易联想到pq相差非常小,使用平方差遍历法直接一把梭哈pq,然后求phi,求d,解密m。脚本如下:
from Crypto.Util.number import *

from gmpy2 import *

e=65537

n=27272410937497615429184017335437367466288981498585803398561456300019447702001403165885200936510173980380489828828523983388730026101865884520679872671569532101708469344562155718974222196684544003071765625134489632331414011555536130289106822732544904502428727133498239161324625698270381715640332111381465813621908465311076678337695819124178638737015840941223342176563458181918865641701282965455705790456658431641632470787689389714643528968037519265144919465402561959014798324908010947632834281698638848683632113623788303921939908168450492197671761167009855312820364427648296494571794298105543758141065915257674305081267

temp=gmpy2.iroot(n,2)

p=gmpy2.next_prime(temp)

q=n//p

print("p =",p)

print("q =",q)

phi_n=(p-1)*(q-1)

d=gmpy2.invert(e,phi_n)

c=14181751948841206148995320731138166924841307246014981115736748934451763670304308496261846056687977917728671991049712129745906089287169170294259856601300717330153987080212591008738712344004443623518040786009771108879196701679833782022875324499201475522241396314392429412747392203809125245393462952461525539673218721341853515099201642769577031724762640317081252046606564108211626446676911167979492329012381654087618979631924439276786566078856385835786995011067720124277812004808431347148593882791476391944410064371926611180496847010107167486521927340045188960373155894717498700488982910217850877130989318706580155251854

m=pow(c,d,n)

print(long_to_bytes(m)) Dest0g3{96411aad-032c-20a8-bc43-b473f6f08536}
babyAES

https://img-blog.csdnimg.cn/a2c93d8ccb734c69a837594431c2f72a.png
Iv,c,key都给了,直接写个解密脚本就行,白给类题目
from Crypto.Cipher import AES

c=b'C4:\x86Q$\xb0\xd1\x1b\xa9L\x00\xad\xa3\xff\x96 hJ\x1b~\x1c\xd1y\x87A\xfe0\xe2\xfb\xc7\xb7\x7f^\xc8\x9aP\xdaX\xc6\xdf\x17l=K\x95\xd07'

iv=b'\xd1\xdf\x8f)\x08w\xde\xf9yX%\xca[\xcb\x18\x80'

key=b'\xa4\xa6M\xab{\xf6\x97\x94>hK\x9bBe]F'

cipher = AES.new(key,AES.MODE_CBC,iv)

m=cipher.decrypt(c)

print(m) Dest0g3{d0e5fa76-e50f-76f6-9cf1-b6c2d576b6f4}
ezDLP

https://img-blog.csdnimg.cn/6a3fef6673f34b8a8ba379ada69d2f82.png
看到题目不难发现g的值非常之小,使用Pohlig-Hellman算法直接解
Sagemath的discrete_log可以直接求解,脚本如下
y = 199533304296625406955683944856330940256037859126142372412254741689676902594083385071807594584589647225039650850524873289407540031812171301348304158895770989218721006018956756841251888659321582420167478909768740235321161096806581684857660007735707550914742749524818990843357217489433410647994417860374972468061110200554531819987204852047401539211300639165417994955609002932104372266583569468915607415521035920169948704261625320990186754910551780290421057403512785617970138903967874651050299914974180360347163879160470918945383706463326470519550909277678697788304151342226439850677611170439191913555562326538607106089620201074331099713506536192957054173076913374098400489398228161089007898192779738439912595619813699711049380213926849110877231503068464392648816891183318112570732792516076618174144968844351282497993164926346337121313644001762196098432060141494704659769545012678386821212213326455045335220435963683095439867976162

p = 335215034881592512312398694238485179340610060759881511231472142277527176340784432381542726029524727833039074808456839870641607412102746854257629226877248337002993023452385472058106944014653401647033456174126976474875859099023703472904735779212010820524934972736276889281087909166017427905825553503050645575935980580803899122224368875197728677516907272452047278523846912786938173456942568602502013001099009776563388736434564541041529106817380347284002060811645842312648498340150736573246893588079033524476111268686138924892091575797329915240849862827621736832883215569687974368499436632617425922744658912248644475097139485785819369867604176912652851123185884810544172785948158330991257118563772736929105360124222843930130347670027236797458715653361366862282591170630650344062377644570729478796795124594909835004189813214758026703689710017334501371279295621820181402191463184275851324378938021156631501330660825566054528793444353

g = 19

x = discrete_log(mod(y, p), mod(g, p))

print(x) 可以得到输出
627467212751652661100750674849894892358409405070345081253130721039787502632741519936253501608002590652971133
print之后使用Crypto库的long_to_bytes直接求解flag
https://img-blog.csdnimg.cn/f62003e3161f4df0a7654c85b91505f3.pngDest0g3{07ed2a6f-182f-a05d-c81e-1318af820a78}
ezStream

脚本如下,思路在注释里
from gmpy2 import invert

from Crypto.Util.number import *



a = 3939333498

b = 3662432446

m = 2271373817

state1 = 17362

state2 = 20624

c = 600017039001091357643174067454938198067935635401496485588306838343558125283178792619821966678282131419050878

state1_ = state1 << 16



def next(seed):

    seed_new = (a * seed + b) % m

    return seed_new >> 16,seed_new



# 爆破低16位得到可能的state1的真实值

# for i in range(2**16):

#     t = state1_ + i

#     if (a * t + b) % m >> 16 == state2:

#         print(t)

t_list =

# 求出可能的seed

for i in t_list:

    seed = (i - b) * invert(a,m)%m

    print(seed)

seed_list =



c_bytes = long_to_bytes(c)

print(len(c_bytes))



key_list = []

seed = 104984523

for i in range(47):

    key,seed = next(seed)

    key_list.append(key%10)



for i in range(45):

    print(chr(key_list^c_bytes),end='')



# 这道题并不需要求seed,拿到t_list之后递推就可以了
RESERVE

simpleXOR

拿到题目,使用IDA打开,观察函数,就是道签到题,随便写个脚本xor一下
https://img-blog.csdnimg.cn/222ea80c3e3a4003a99067caf695211e.png

这里贴下脚本
a=

for i in range(len(a)):

    print(chr((a^0xf7)-i),end="") Dest0g3{0bcgf-AdMy892-KobPW-hB6LTqG}
hi

https://img-blog.csdnimg.cn/b6ed97ed49cb45568ac98aee1f68ed85.png
v6是密文,v5是输入的flag*23,可以直接查看x,flag长度是45,我们放一下
enflag=[0x97, 0x64, 0x48, 0xC6, 0x1C, 0x7A, 0x8E, 0x9F, 0x46, 0xBD,

  0x60, 0xE7, 0x82, 0xF3, 0xEE, 0x69, 0x49, 0xF7, 0x0E, 0xE3,

  0xE2, 0x17, 0xC0, 0xB9, 0x2C, 0x39, 0x30, 0xA4, 0x48, 0x01,

  0x41, 0x98, 0x39, 0xA9, 0xB5, 0xE5, 0x11, 0x74, 0x0E, 0xE8,

  0xAC, 0xFD, 0x8B, 0xA5, 0x6D

]



x=[  0x7B, 0x51, 0xF3, 0x5A, 0xCC, 0x39, 0xF9, 0x92, 0x1C, 0x9E,

  0x58, 0x69, 0x9D, 0xF7, 0xFD, 0x4A, 0x3E, 0xFB, 0x1D, 0x2C,

  0x4D, 0x0C, 0x70, 0xB1, 0x3B, 0x8D, 0x25, 0xED, 0x91, 0xB1,

  0x73, 0x8D, 0x82, 0xE6, 0xE7, 0x50, 0x20, 0x61, 0x62, 0x3C,

  0x00, 0x3A, 0xA6, 0x9D, 0x32]



for i in range(45):

    for j in range(0,128):

        v5=23*j

        if(v5+x)&0xff==enflag:

            print(chr(j),end="") Dest0g3{f982cd79-d7a3-0874-aa0b-a5b37e4445c8}
WEB

phpdest


 https://img-blog.csdnimg.cn/b646bd5b492a4f249b716bfe82fe41dc.png
拿到题目,我们使用伪协议配合多级符号链接的办法进行绕过
/proc/self指向当前进程的/proc/pid/,/proc/self/root/是指向/的符号链接,所以我们可以用上述方法进行绕过,接下来放出payload
?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php 使用以上payload,成功得到flag.php的base64加密后的结果

 https://img-blog.csdnimg.cn/5d291da506ce40cfba60c03ad30d86d9.png
我们果断解密一手base64,得到flag
https://img-blog.csdnimg.cn/ebb45f50b955411982baef6460a5094e.png
动态flag,请自己参悟flag是什么
EasyPHP

https://img-blog.csdnimg.cn/8e28b6e56b754dee8cc57ba90a18b951.png
拿到题目,我们发现需要post字符串和数组拼接,即ctf[]=shumu(shumu可以改)
https://img-blog.csdnimg.cn/aaced65a35514239a8f49b95b7950fa4.png
接下来,我们再来看一看,神奇的事情就发生了
https://img-blog.csdnimg.cn/d81c9bf717544978b3ce9e5f6e8d249b.png
动态flag,请自己参悟flag是什么
SimpleRCE

看到源码,我们大体就知道了考点是无字母数字绕过正则表达式,这里我们用了取反,因为取反,用的基本是不可见字符,不会触发到正则表达式,我们写一个php脚本
页: [1]
查看完整版本: Dest0g3 520迎新赛