2020-08-17

ctf题 第一届“百度杯”信息安全攻防总决赛 upload

知识点:

  1. 注意参数的内容 注意题目中的flag
  2. python的base64编码和requests函数库 注意requests.session()
  3. python的md5
  4. svn文件泄露
  5. 文件上传的后缀名

打开题目显示的内容为
在这里插入图片描述
查看源代码
在这里插入图片描述
要求我们传入一个参数ichunqiu 期初我一直认为是将 Hi后面的那一段话给传入进去试了半天不行随后利用brup抓包发现flag
flag: ZmxhZ19pc19oZXJlOiBOamd6T1RVMQ==
flag为base64编码 后面为base64的双重编码 结合题目提示的fast应该要用脚本
import requests
import base64
url=“http://2147c5b81e23445c96297fa9a2f8feb95d908965eed54a93.changame.ichunqiu.com/”
s = requests.session()
re = s.post(url)
a=re.headers[‘flag’]
b=base64.b64decode(a)
f=str(b).split(’:’)
c=base64.b64decode(f[1])
data={‘ichunqiu’:c}
r = s.post(url,data=data)
print(r.text)

这里要用 requests.session,不然还是显示不够快,传递好flag
它会给你一个路径
Path:3712901a08bb58557943ca31f3487b7d
进入路径
在这里插入图片描述
需要知道用户名 密码 验证码
用户名可以通过snv文件泄露发现
进入.svn/wc.db获取信息
密码需要baopo
验证码需要md5
import hashlib

for i in range(10000000000):
hash = hashlib.md5(str(i).encode()).hexdigest()[:6]
if hash ==‘8caa9c’:
print(i)
break

获取登录后等到一个路径可以进行文件上传
抓包
修改content-type将后缀名改为pht即可获得flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值