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

mac2022-06-30  45

题目见i春秋ctf训练营

看到fast,就想抓个包看看,以前有道题是打开链接直接来了个跳转,当然这题不是

查看返回包,发现一个好东西

 

拿去base64解码看看

感觉给出的字符串能继续解码,果然解码后得到一串数字

 

根据提示要把这串数字以post方式提交,变量名为ichunqiu

 

看到返回的是fast!!!,看来我的手速是满足不了ichunqiu了,那就上py跑

这里有个贼坑爹的事,一开始用py3写的代码死活跑不出来,看了wp,同样原理的py2.7的代码却运行自如

我先贴一下我的py3:

import requests import base64 url = 'http://d5c758086e34407e824f1c45c9dd21a2f65b78a8bc5b4c87.game.ichunqiu.com/' r = requests.get(url).headers['flag'] key = base64.b64decode(r).decode().split(':')[1] key2 = base64.b64decode(key).decode() print(key2) flag = {'ichunqiu':key2} print(requests.post(url, data=flag).text)

要是有大佬知道原因请吱个声

py2.7的代码:

import base64,requests def main(): a = requests.session() b = a.get("http://d5c758086e34407e824f1c45c9dd21a2f65b78a8bc5b4c87.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://d5c758086e34407e824f1c45c9dd21a2f65b78a8bc5b4c87.game.ichunqiu.com/",data=body) print f.text if __name__ == '__main__': main()

结果是直接返回了一个路径

输入路径后并没有发现有什么线索

里面有个登陆页面,试了好多注入语句都没发现有什么问题

查看wp后才知道是一个SVN 源码泄露漏洞

听大佬的话去访问URL+/刚才的路径/.svn/wc.db,看到了username

同时看到下面的验证码,提示md5加密后前六位为812367,直接用大佬给的验证码脚本跑了(话说大佬怎么知道是8位验证码而且还是不带字母的)

#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("d72824")

将md5后的username与跑出的验证码填入,密码这里似乎随便填一个就行了,我随手一个123就进去了,又得到一个地址

进去一看是个上传,不管三七二十一先抓个包,然后00截断一下试试:

 

 结果返回JPG!!! ,并没有卵用,接着试3.php.jpg,图片成功上传,还被重命名了,并没有解析成php

 

接着我直接传入php文件并修改后缀名

 

返回了You got it!:),但并没有实质内容,没办法,去看了wp后才知道后缀可以改成pht

修改完成后成功返回flag

 

转载于:https://www.cnblogs.com/Ragd0ll/p/8759305.html

最新回复(0)