专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

强网杯S8 Rust Pwn chat-with-me出题思路分享

看雪学苑  · 公众号  · 互联网安全  · 2024-12-13 17:58
    

文章预览

1 出题思路 本题最终解数为42,因为题目难度不大,总体符合预期。题目是用rust写的代码,同时赛前夜里临时决定删除符号不给源码,一方面导致选手逆向难度很大,另一方面也让大部分选手把精力集中在动调上,避免陷入源码的细节。在出题过程中其实也没有漏洞和明确利用手法的考点,题目是一边学习一边调试的时候出出来的,再次把出题思路分享给大家,算是抛砖引玉。 这里还是首先给出源码( rustc 1.82.0-nightly (cefe1dcef 2024-07-22) ): use std::fmt; use std::io::{ self , Read, Write}; const MAX_MSG_LEN: usize = 0x50 ; struct Msg { data: [u8; MAX_MSG_LEN], } impl Msg { #[inline(never)] fn new () -> Self { Msg { data: [ 0 ; MAX_MSG_LEN], } } } impl fmt ::Display for Msg { #[inline(never)] fn fmt ( & self , f: & mut fmt::Formatter) -> fmt::Result { write! (f, ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览