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

去年写的,后面有点问题,懒得改了,要看就直接去翻我重写的另一篇吧2333
https://laure1.github.io/2019/08/29/Summary-of-Web/#Upload


打开链接–
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值