zoukankan      html  css  js  c++  java
  • 记录一次学校ctf比赛2

    awd

    啥也不会,看的视频都没用上,还是自己代码审计经验不足,刚看到那个

    账号密码: --
    Token:
    
    虚拟IP:192-168-1-191.pvp205.bugku.cn
    
    其他选手地址为192-168-1-X.pvp205.bugku.cn。 服务端口自己发现 SSH 端口2222
    请输入flag
    Api:https://ctf.bugku.com/pvp/submit.html?token=[token]&flag=[flag]
    

    一脸懵逼,IP地址不是点点点吗?这咋杠杠的。。。离谱。。。

    然后比赛就开始,用shell来连接,然后,然后就蒙蔽了。

    刚开始想用安全狗,但是后期的解压及命令都是在root下进行的,所以没法。。

    把html文件拷贝桌面,d盾没有发现后门,代码审计也没有发现$eval后门,找到一个,但是三个参数,就离谱,试了不成功。。。

    跟看的视频不一样,实践也不一样,在var/www/html下找,config,incex等,没有找到关键信息,为了防止被攻击,自己不知道规则,赖我,队友也不知道,然后上传waf include,直接donw,然后直接扣500,5轮,后来又改的,然后没被攻击,但自己登不上网站了。。。。

    最后自己没被学长扫,其他人被扫的down且flag。。。得了第二,更离谱,哈哈哈哈

    ,也多谢学长的关怀。。。

    awd总结

    等考完,发现方向找错了,其实应该是以网页为主要,然后/admin,尝试登录后台,赖自己太没有经验,没有考虑远程和网页哪个重要,自己也慌了

    /admin 然后登录后台,可以查看后台,还可以隐藏删除后面提到的php,一块死,哈哈哈

    其实自己还有一种想法,就是登录phpmyadmin,数据库,因为在html下看见了mysql.php,但没有找到admin密码,应该是默认的、

    其实刚开始登录网站,看见搜索框,第一件事就是看能不能找命令来进行回显,但是没有

    尝试了echo回显、一句话、php代码。。。

    也赖自己没经验,看到学长找到那个php编译器,然后运行实例那个,直接就起飞,根据那个来进行ls

    cat /flag*

    然后只需要登录服务器,就行了。。。

    ping 脚本

    import os
    import time
    import subprocess
    from multiprocessing import Pool
    def ping_call(num):
        fnull = open(os.devnull, 'w')
        ipaddr = "192-168-1-'+str(num)+'.pvp205.bugku.cn"
        result = subprocess.call(ipaddr + ' -n 2', shell=True, stdout=fnull, stderr=fnull)
        current_time = time.strftime('%Y%m%d-%H:%M:%S', time.localtime())
        if result:
            print('时间:{} ip地址:{} ping fall'.format(current_time, ipaddr))
        else:
            print('时间:{} ip地址:{} ping ok'.format(current_time, ipaddr))
    
        fnull.close()
    
    
    if __name__ == '__main__':
        start_time = time.time()
        p = Pool(20)
        res_l = []
        for i in range(1, 256):
            res = p.apply_async(ping_call, args=(i,))
            res_l.append(res)
        for res in res_l:
            res.get()
        print('程序耗时{:.2f}'.format(time.time() - start_time))
    

    然后根据地址进行,对ping出来的进行干活。。。运行php。。

    web

    image-20210516223645222

    第一题

    image-20210516231144405

    在网上查找phpsyudy 2016 漏洞 然后在火狐重发并且看重发的头,可以看到执行的whoaimi,又说falg在根目录下,所以直接system('cat /flag*');变base64就可以

    image-20210516231502048

    参考链接:

    https://www.cnblogs.com/yuzly/p/11610061.html

    第二题

    image-20210516230521733

    这个题有点离谱,1是l,不是1。。。导致没做出来,以后我就复制,不手打了

    misc

    image-20210516231650562

    第一题

    思路错误

    用binwalk -e 强制分离压缩包

    出现[TIFF image data, big-endian, offset of first image directory: 8](javascript:)

    意思就是图像偏移8位

    嗯。。改头改错了。。

    自己创建一个

    然后winhex一个jpg的,再把压缩包的前面的位数改了。。。

    image-20210516232250484

    image-20210516232455820

    离谱。。。

    改6位,我就改4位,其实也能出来没用爱奇艺播放器,但是自己没有看提示。

    第二题

    小明的求救

    下载附件 得到加密的压缩包 使用使用ziperello爆破得出密码 打开后发现音频文件 听到最后发现 类似电报的滴滴声 我们使用audacity打开

    111

    发现音轨 .- ... .--- .. ..-. --. ..- -.-- ... -.-- .- --. 把上面一段音轨通过摩斯密码解密后得到flag

    第三题

    image-20210516233220455

    先对图片进行binwalk分离

    binwalk -e zaima.jpg

    得到输出文件

    img

    有密码,而且压缩包备注上显示4 位数

    使用ziperello

    img

    img

    然后打开用notepad

    b0a46ba5-f566-51ce-d21a-714738845507

    然后套入flag{}

    杂项

    image-20210516233334454

    md5,一般都是十六进制,32位,由数字0-9和字母a-f组成的字符串,然后去掉多余的

    image-20210516233441642

    工具在线的用不了,所以用python脚本的,rsatool不会用。。。

    由于是在kali下运行,安装必备组件

    apt-get install openssl

    apt-get install pyasnl

    apt-get install gmpy

    apt-get install gmpy2

    apt-get install crypto

    pip install pycryptodome

    然后在用命令

    img

    总结

    还得学python,感觉太菜了,自己,还有许多不会,遇到问题还得思考,不能急,还有分工问题,自己再多练习一下靶场,我要有一天打爆他们,哈哈哈哈哈

    别人都在不停的努力,自己又怎么会停
  • 相关阅读:
    一文详解云上自动化部署集群管理工具 Nebula Operator
    手把手教你从数据预处理开始体验图数据库
    图查询语言的历史回顾短文
    集群通信:从心跳说起
    @Constraint 自定义注解校验手机号
    【工具】maven插件自动生成mapper文件
    【工具】方法日志打印+任务切片
    简单梳理下 Vue3 的新特性
    团队与领导力健康检查 | 体检表
    详细介绍Scrum Master八大职责(Scrum Master能力说明)
  • 原文地址:https://www.cnblogs.com/chenyouxiu/p/14775367.html
Copyright © 2011-2022 走看看