欢迎来到皮皮网网首页

【漂亮的java源码】【uml+ea源码】【简单兄弟网站源码】stegsolve源码

来源:linux安装apache源码 时间:2024-11-26 14:25:02

1.2022Pwnhub春季赛相关体验及wp
2.第二届“强网杯”部分题目writeup

stegsolve源码

2022Pwnhub春季赛相关体验及wp

       首次参加Pwnhub举办的大型公开赛,体验令人满意。Pwnhub的声誉名副其实,比赛中只有四个解题,且难度集中在easyrop。比赛前期的漂亮的java源码宣传充分到位,Pwnhub历来以举办公开月赛闻名,此次公开赛规模空前,奖励丰厚。

       比赛题目多样,涵盖了web、misc、crypto、re、pwn等多个方向,还加入了ACM、uml+ea源码OCR、以及汇编等不同类型的题目,甚至引入了网页版的传奇游戏,以减轻比赛的枯燥性。题目设计全面,从多个方面考验参赛者的个人能力。

       比赛流程流畅,靶机启动迅速,不限制数量,后期取消了靶机时间限制,但在所有靶机都开放在同一IP地址上,端口号可以遍历,加之不是动态flag,可能导致蹭取flag的情况。

       首次在CTF比赛中遇到使用Flash游戏的简单兄弟网站源码题目,新颖有趣,促使我迅速安装Flash并进入主办方设置的游戏。游戏类题目共有四个小题,最后一个题需要获取服务器的shell,可以视为半个web挑战。

       注册账号,创建角色登录游戏,发现公告栏中明确显示了flag,十分友好。下一步是购买题目中的元宝召唤道具,但需要通过抽奖将绑定元宝转化为元宝,再购买。打死召唤出的怪物后,会掉落flag之书1,注意掉落的fpga+gtx源码flag之书可以被其他玩家捡走,谨防被抢,我的flag为flag{ nonono_notmola}。

       主办方放出服务器源码,虽然经过修改,但仍能从中找出一些漏洞。从log.php中可以获取生成token的密钥,允许任意用户登录其他账户。在log.php中,理论上存在注入漏洞,但线上复现不成功。web方面的其他漏洞未能发现,获取shell需要对游戏服务器文件进行逆向工程。

       web部分考察知识新颖且难度适中。在EzPDFParser中,通过java写的安卓Aide源码PDF解析器在解析PDF时触发log4j2漏洞,搭建恶意JNDI服务器,修改PDF文件即可触发漏洞。在easyCMS中,通过测试MySQL联通性,利用MySQL读取文件,通过Rogue-MySql-Server实现,使用PHP脚本操作。

       在baby_flask中,利用flask模板渲染不会更新的问题,通过生成个模板并在缓存刷新时执行payload,即可获取flag。Misc部分需要使用裸眼3d技巧,借助stegsolve工具将两张图分开,获取flag{ nice_pwnhub}。在其他页面的签到中,通过关于页面的视频中的二维码找到flag。

       比赛持续小时,时间较长,但某些类别的题目数量似乎不是很多,如web部分,队伍数量较多,完成三个题后,期待后期上新题,可惜未能如愿。整体体验良好,通过赛题学习到许多知识,期待Pwnhub举办更多类似的公开赛!

第二届“强网杯”部分题目writeup

       第二届“强网杯”部分题目解答

       本文作者:tinyfisher

       周末参加比赛,虽解决题目数量不多,但收获颇丰。特记录解题过程及思路,以下为题解:

       一、Welcome

       题目描述:文件头为D,判断为bmp文件。尝试使用notepad查看文件内容,无flag发现;使用binwalk未发现隐藏文件;使用stegsolve打开时,出现异常,当offset设置为时,发现flag。

       二、web签到

       题目描述:包含三关,考察弱类型判断及md5碰撞。

       第一关:源代码为弱类型判断。绕过方式为构造数据或md5 0e开头的字符串。

       第二关:源代码为===判断,字符串不进行类型转换。绕过方式为传入数组。

       第三关:源代码为强判断,强制转换为string类型进行比较。需通过md5碰撞绕过。

       三、streamgame1

       题目介绍:算法及key给出。尝试直接爆破,按照算法遍历flag和key,匹配后确定flag。

       四、streamgame2

       题目描述:与streamgame 1类似,但长度变化。遍历过程调整。

       五、streamgame4

       题目描述:长度虽变,但flag长度固定。继续遍历解决。

       六、simplecheck

       题目描述:给出apk,需输入flag,错误提示为“sorry its wrong”。通过反编译apk,查看关键代码,需让函数a返回true,实现逆向解出flag。

       算法描述:定义数组a、b、c、d,flag长度需等于b数组长度,。新数组arrayOfInt[0]=0,flag赋值到arrayOfInt[1]- arrayOfInt[]。关键代码遍历m,条件为且操作,可尝试利用爆破法解决。