记录一次学校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,感觉太菜了,自己,还有许多不会,遇到问题还得思考,不能急,还有分工问题,自己再多练习一下靶场,我要有一天打爆他们,哈哈哈哈哈

别人都在不停的努力,自己又怎么会停
原文地址:https://www.cnblogs.com/chenyouxiu/p/14775367.html