zoukankan      html  css  js  c++  java
  • 第一届“百度杯”信息安全攻防总决赛_Upload

    题目见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

  • 相关阅读:
    【前端优化之拆分CSS】前端三剑客的分分合合
    ipad&mobile通用webapp框架前哨战
    如何判断一个DOM元素正在动画,一个CSS“阻塞”JS的例子
    关于前端框架升级与全站样式替换的简单建议
    【HTML5&CSS3进阶04】CSS3动画应该如何在webapp中运用
    【HTML5&CSS3进阶03】Jser与Csser如何一起愉快的翻新老组件
    【HTML5&CSS3进阶学习02】Header的实现·CSS中的布局
    【HTML5&CSS3进阶学习01】气泡组件的实现
    【模块化编程】理解requireJS-实现一个简单的模块加载器
    【小贴士】探一探javascript中的replace
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/8759305.html
Copyright © 2011-2022 走看看