草庐IT

【CTF】CTF竞赛介绍以及刷题网址

CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCONCTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”。一、赛事介绍CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间

【CTF】CTF竞赛介绍以及刷题网址

CTF(CaptureTheFlag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCONCTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”。一、赛事介绍CTF是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。其大致流程是,参赛团队之间

史上最全的CTF保姆教程 从入门到入狱【带工具】

下面分享的资源包含国内9套教程教程1-CTF从入门到提升四周学习视频教程教程2-信息安全CTF比赛培训教程教程3-CTF从入门到提升教程4-CTF培训web网络安全基础入门渗透测试教程教程5-CTF入门课程教程6-CTF夺旗全套视频教程教程7-网络安全课程新手入门必看教程8-bugku_CTF_Web视频教程网络安全预科班课程CTF入门国外3套教程国外教程1套-GoogleCTF2018BeginnersQuest(中文字幕)国外教程2套-RefrainCTFtask(0CTFTCTF2019Quals)(中文字幕)国外教程3套-DragonCTF2018(中文字幕)除了教程,还有一些CTF挑

史上最全的CTF保姆教程 从入门到入狱【带工具】

下面分享的资源包含国内9套教程教程1-CTF从入门到提升四周学习视频教程教程2-信息安全CTF比赛培训教程教程3-CTF从入门到提升教程4-CTF培训web网络安全基础入门渗透测试教程教程5-CTF入门课程教程6-CTF夺旗全套视频教程教程7-网络安全课程新手入门必看教程8-bugku_CTF_Web视频教程网络安全预科班课程CTF入门国外3套教程国外教程1套-GoogleCTF2018BeginnersQuest(中文字幕)国外教程2套-RefrainCTFtask(0CTFTCTF2019Quals)(中文字幕)国外教程3套-DragonCTF2018(中文字幕)除了教程,还有一些CTF挑

2022美团CTF个人决赛WP

ReverseROP解析data的ROP,一点一点还原frompwnimport*opcode=open('data','rb').read()opcode_gadget=opcode[0x30+8:]foroffsetinrange(0,len(opcode_gadget),8):print(f'{hex(u64(opcode_gadget[offset:offset+8]))}') 提取出来密文,转成64位的cipher=[0x98,0x7A,0xDF,0x57,0xC6,0xE3,0x18,0xC7,0x11,0x07,0xC7,0xD4,0x02,0xD2,0x9E,0x43,0x3A

2022美团CTF个人决赛WP

ReverseROP解析data的ROP,一点一点还原frompwnimport*opcode=open('data','rb').read()opcode_gadget=opcode[0x30+8:]foroffsetinrange(0,len(opcode_gadget),8):print(f'{hex(u64(opcode_gadget[offset:offset+8]))}') 提取出来密文,转成64位的cipher=[0x98,0x7A,0xDF,0x57,0xC6,0xE3,0x18,0xC7,0x11,0x07,0xC7,0xD4,0x02,0xD2,0x9E,0x43,0x3A

angr_ctf——从0学习angr(一):angr简介与核心概念

我在学习angr时,先是阅读了开发者发布在IEEE上的论文IEEEXploreFull-TextPDF:该文章讲述了自动化漏洞挖掘的背景和方法,并对angr的架构和核心模块进行了介绍,非常经典值得一读。而后,我阅读了angr官方文档和API文档,对angr有了总体的、晕晕乎乎的了解。最后,我发现了github上的项目angr_ctf,并使用该项目在解题过程中不断补充、修正我对angr的了解,以下是涉及的相关连接,你可能用得上:angr官方文档README-angrDocumentationangr的API文档angrAPIdocumentation—angr9.2.26documentatio

angr_ctf——从0学习angr(一):angr简介与核心概念

我在学习angr时,先是阅读了开发者发布在IEEE上的论文IEEEXploreFull-TextPDF:该文章讲述了自动化漏洞挖掘的背景和方法,并对angr的架构和核心模块进行了介绍,非常经典值得一读。而后,我阅读了angr官方文档和API文档,对angr有了总体的、晕晕乎乎的了解。最后,我发现了github上的项目angr_ctf,并使用该项目在解题过程中不断补充、修正我对angr的了解,以下是涉及的相关连接,你可能用得上:angr官方文档README-angrDocumentationangr的API文档angrAPIdocumentation—angr9.2.26documentatio

angr_ctf——从0学习angr(二):状态操作和约束求解

状态操作angr中提到的状态(state)实际上是一个Simstate类,该类可由Project预设得到。预设完成后,还可以根据需要对某些部分进行细化操作。一个state包含了程序运行到某个阶段时,内存、寄存器、文件系统、符号变量和符号约束等内容。寄存器访问可以通过state.regs.寄存器名来访问和修改寄存器>>>print(state.regs.eax,state.regs.ebx)>>>state.regs.eax+=1>>>print(state.regs.eax,state.regs.ebx)栈访问栈访问涉及两个寄存器:ebp和esp,以及两个指令:push和pop,对于寄存器的访

angr_ctf——从0学习angr(二):状态操作和约束求解

状态操作angr中提到的状态(state)实际上是一个Simstate类,该类可由Project预设得到。预设完成后,还可以根据需要对某些部分进行细化操作。一个state包含了程序运行到某个阶段时,内存、寄存器、文件系统、符号变量和符号约束等内容。寄存器访问可以通过state.regs.寄存器名来访问和修改寄存器>>>print(state.regs.eax,state.regs.ebx)>>>state.regs.eax+=1>>>print(state.regs.eax,state.regs.ebx)栈访问栈访问涉及两个寄存器:ebp和esp,以及两个指令:push和pop,对于寄存器的访