CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。为了方便称呼,我们把这样的内容称之为“Flag”。
CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客 们通过互相发起真实攻击进行技术比拼的方式。发展至今,已 经成为全球范围网络安全圈流行的竞赛形式。
CTF竞赛模式具体分为以下三类:
在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,这种模式的CTF竞赛与ACM编程竞赛、信息学奥赛比较类似,以解决网络安全技术挑战题目的分值和时间来排名,通常用于在线选拔赛。题目主要包含逆向、漏洞挖掘与利用、Web渗透、密码、取证、隐写、安全编程等类别。
在攻防模式CTF赛制中,参赛队伍在网络空间互相进行攻击和防守,挖掘网络服务漏洞并攻击对手服务来得分,修补自身服务漏洞进行防御来避免丢分。攻防模式CTF赛制可以实时通过得分反映出比赛情况,最终也以得分直接分出胜负,是一种竞争激烈,具有很强观赏性和高度透明性的网络安全赛制。在这种赛制中,不仅仅是比参赛队员的智力和技术,也比体力(因为比赛一般都会持续48小时及以上),同时也比团队之间的分工配合与合作。
结合了解题模式与攻防模式的CTF赛制,比如参赛队伍通过解题可以获取一些初始分数,然后通过攻防对抗进行得分增减的零和游戏,最终以得分高低分出胜负。采用混合模式CTF赛制的典型代表如iCTF国际CTF竞赛。
CTF的江湖:
我们一般习惯把ctf分成四类:
1.题目来源是渗透实战或安全研究的paper
• 国内:BCTF(blue lotus)、0CTF(0ops)、HITCON(hitcon\217)
• 国际:DEFCON、CODEGATE、PlaidCTF、Boston Key Party CTF
2.题目来源是各类有趣的漏洞,举办者一般是赛棍
• 国内:HCTF(HDUISA)、CCTF(0xFA)、XDCTF(XDSEC)、SCTF(三叶 草)、ALICTF(alibaba)、360
3.举办者一般是赛棍,但往往并不擅长于举办比赛
• 国内:SSCTF(四叶草)、RCTF(ROIS)、华山杯、ISG、信息安全国 赛、XCUNA(高校网安联赛)
4.举办者一般是技术从业者,并不懂CTF
• 国内:WHCTF、新XDCTF、首都安全日等...
我这里就拿国内一家安全公司出的一个入门级app的题目做分析
要求如下:
1.有壳就脱壳 2.拿到此题的Flag
首先拿到一个app用工具查一下 这里提示没有壳,那么我们安装一下看一下软件页面
一打开就是如此 两个编辑框 然后点击登陆就跳转到另一个页面提示”Waiting fot you!”
既然如此 打开jadx-gui工具反编译一波 从java层入手
首先找到他的”AndroidManifest.xml” 里面有个”activity”标签里面就是他的活动页面的信息
可以看到这里有3个活动页面信息
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
有这两个属性的值上面的活动页面就是我们的入口页面(一开打软件所显示的页面信息)
既然如此我们之前看到过有个登陆的按钮在一启动的活动下
那么我们到此活动页面看一下按钮下的逻辑事件(“com.tencent.testvuln.MainActivity”)
来到这个类里面找到按钮点击事件 也就是onClick事件下
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2021-2-4 16:06
被kanxue编辑
,原因: