ISCTF赛后总结

作为新手参加CTF比赛,主要涉及Web、Crypto、Reverse和Misc等领域。在Web中依赖队友,Crypto通过交叉解密获取flag,Android和Misc题目通过逆向和解码技术解题。Pwn方面,学习了栈溢出和利用,但还需加强基础知识。总结下来,发现自己在pwn和逆向分析方面还需大量练习,未来将重点提升这些技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学了一个月的菜鸡,第一次打ctf比赛,感觉自己实在太菜了,总结总结经验。

Web

跟着队友混,队友Web贼强,Web全AK.

CRYPTO

弯弯曲曲的路

不合格的pwn手竟然拿到密码题的一血。。。

题目描述:一只古典的蓝鲨从一条路的尽头上下上下上的走过了弯弯曲曲的小路上,并且经过了5棵树还有5个银行。

打开下载的文件,文件名为zip格式提示用zip格式打开解压缩。

 根据题目描述,应该是5组,每组5个

 分组后仔细观察,发现flag是交叉式的。

ISCTF{Welc0nne_@To_I5CTF}

rsa

这道题做了半天没做出来,用了RSAtools失败了,用知乎上一位大神的方法做出来是一堆奇怪的东西

转载自知乎--CTF---RSA解密学习指南(二) - 醉清风的文章 - 知乎 https://zhuanlan.zhihu.com/p/76017554

 

 ANDROID

猜数字

打开app发现做题要做很久。。用ida打开,找到了分散的flag

Reverse

简单的re

ida打开,发现一个奇怪的函数叫catflag,点进去找到flag

Reverse-Easy_JAR

这道题一开始摸不着头脑为啥是jar,后来知道还有个逆向叫java逆向。用java逆向工具打开伪代码即可得到flag。

MISC

女神的嘲讽

Ook解码

 Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]在线Ook解码网站

看上去应该是base64解码,

 你下载的真的是图片吗?

解压后记事本打开

 

发现有个文件叫I_am_here,PS打开啥也没找到,上网搜了搜尝试用网上的方法

需要安装binwalk 和foremost

sudo apt install binwalk

binwalk跑一下发现多个图片

binwalk 文件名

foremost

sudo apt install foremost

用法和binwalk相同,分立后得到一张迪迦奥特曼的照片,上有flag

Misc签到

base64解码

我裂开了

用PS工具合并图层,得到flag

简单图片隐写术

txt文本文档打开,在末尾发现flag

登录流量分析

这道题要用到wireshark分析pcapng文件,追踪http流,从中寻找得到flag

easy_osint

百度识图解一下,找到一个地方叫金碧广场。。

Welcome To ISCTF World

我的世界打开。。。找到flag

PWN

作为一个菜鸡pwner,这次比赛让我意识到了自己的pwn有多菜,pwn门槛之高,还有pwn输出在一个队伍中的重要作用。

好吧我菜,我只打出来2道题目

杰哥的nc

 传入/bin/sh命令

这里的scanf("%s,&cmd")与scanf("%s,cmd")不同,前者是取地址,所以需要的就是把/bin/sh命令写入地址然后执行。

 救救小肥鲨吧

32位IDA打开help_my_shark,找到main函数

main函数中的func函数调用了-559038737这个参数

打开func函数

gets函数是很常见的栈溢出漏洞,函数调用结束时返回的result值,决定了是否能 控制靶机

 

 很明显func调用的参数和返回system命令需要的a1是明显不同的,点开a1发现a1的位置在栈的末尾,也就是说可以通过栈溢出覆盖变量的方式解决

这里s表示栈基址,r表示函数返回地址。

需要覆盖arg_0的话,偏移量为48.(0x08+0x28)

这里吸取了一个教训,发现逐行输入不是很好用,以后要学会用编译器写脚本

得到flag。 

后面的几道题,有一道是canary绕过,不会。。。。

总结一下自己pwn的能力还是太差,首先要加强自己逆向程序的动力,自己对于静态分析和动态调试的能力还不是很强,还有就是栈的结构和函数调用过程不是很懂,下一步要做的就是一个是学好pwn的知识,多学学ctfwiki\《汇编语言》《程序员的自我修养》这几本书,关键还是在于把基础打牢,另外reverse的基础也不能丢掉。

总结一下这次比赛,jeff的web很强,我的pwn还是不是很好。虽然自己很菜,但是这次比赛让我更加了解了ctf,感受到了ctf的乐趣,还能看出自己有哪些不足,往后的日子要继续加油。

### 关于阿里天池大赛中人工智能辅助糖尿病遗传风险预测的赛后总结 #### 数据集概述 该比赛的目标是通过分析妊娠期女性的身体指标和基因特征,预测其是否可能患上妊娠期糖尿病。训练集中包含1000条样本,每条样本具有85维特征,其中包括30个身体指标特征(如年龄、身高、体重、BMI等)和其他55个基因特征(取值为0、1、2,分别对应AA、Aa、aa这三种生物学术语)。测试集则包含200条样本,评估标准采用的是F1分数[^2]。 #### 特征工程方法 为了提高模型性能,在特征预处理阶段采用了多种策略: - **缺失值填充**:针对不同类型的特征分布特性,选择了平均值、中位数或众数等方式填补缺失的数据点。 - **差值计算**:基于连续型变量与其均值之间的差异及其绝对值构建新特征。 - **归一化与零替换**:对数值型属性执行标准化操作;为了避免后续运算过程中可能出现的问题,还将原始数据中的零值替换成了非常接近但不等于零的小数。 #### 单模型表现比较 比赛中尝试了多个机器学习框架来进行分类任务,具体如下: - 使用`LightGBM`, `XGBoost`, 和神经网络库`Keras`单独建立基线模型并优化参数设置。 - 结果显示,在大多数情况下,深度学习解决方案(Keras)的表现要优于传统树形算法(LightGBM>XGBoost)[^3]。 #### 模型融合技术应用 除了单一模型外,还探索了集成学习的方法来进一步增强泛化能力。最终发现当把几个独立开发出来的优秀子模型结合起来形成超级组合之后,整体准确性得到了明显改善,并且超越了个别组件所能达到的最佳水平。 #### 面临挑战及解决措施 由于可用实例数量有限(仅千级规模),因此存在严重的过拟合隐患。对此采取了一些缓解手段包括但不限于增加正则项强度调节超参防止复杂度过高以及利用交叉验证机制反复检验调校后的系统稳定性等方面做了大量工作以确保提交方案具备足够的鲁棒性和可靠性。 ```python import lightgbm as lgb from sklearn.metrics import f1_score # Example of training a LightGBM model with hyperparameter tuning. params = { 'boosting_type': 'gbdt', 'objective': 'binary', 'metric': {'f1'}, 'num_leaves': 31, 'learning_rate': 0.05, } train_data = lgb.Dataset(X_train, label=y_train) test_data = lgb.Dataset(X_test, label=y_test) bst = lgb.train(params, train_data, valid_sets=[test_data], early_stopping_rounds=10) predictions = bst.predict(X_val) threshold = 0.5 predicted_labels = (predictions >= threshold).astype(int) score = f1_score(y_val, predicted_labels) print(f"F1 Score: {score}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值