CTF解题
123111234
这个作者很懒,什么都没留下…
展开
-
对pwntools之recv,send方法的理解
pwntools学习一般在做pwn题,写利用脚本时,会用到recv,send等函数,之前我理解问什么send,不理解recv的作用,现在通过一道题目理解了。下面详细讲解下recv及send的作用。remote(“一个域名或者ip地址”, 端口) 会连接到我们指定的地址及端口。 然后该函数会返回remote对象 (这里,我们将该对象保存到了变量 c)。remote对象主要用来进行对远程主机的输入输出。主要方法有:接收远端传回的数据interactive() : 在取得shell之后使用,直接进行交原创 2020-07-06 18:14:04 · 16657 阅读 · 0 评论 -
攻防世界-pwn-dice_game(srand(),rand(),随机数)
高手进阶区 dice_game考察知识点:srand(),rand()函数,产生随机数。srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。比如:通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。如果srand(1),因为1原创 2020-06-27 22:58:13 · 2120 阅读 · 0 评论 -
攻防世界-pwn 新手练习区
when_the_your_born要求v5=1926即可得到flag,而根据程序,v5只要等于1926就进入不了这个分支,也就是说,我们输入的v5不能等于1926。这里可以利用gets函数的输入v4,来覆盖v5。v4:ebp-0x20v5:ebp-0x18v4和v5相差0x08,即在输入v4时,先输入0x08个垃圾数据,在输入1926即可实现覆盖。payload如下from pw...原创 2020-02-24 18:32:27 · 2468 阅读 · 0 评论 -
攻防世界-web新手区
view_source根据题目描述,要查看一个网页的源代码,按照之前的操作,要么右键-》查看源代码,要么按f12查看源代码,这里鼠标右键不管用了,就按f12(Mac里按command+option+4)还可以根据题目提示,view_source,可以用view-source指令查看源代码:view-source:网址例如:robots根据提示,用到robots协议。什么是robo...原创 2020-02-18 15:14:40 · 459 阅读 · 0 评论 -
Javris OJ - pwn level5(mmap和mprotect练习)(_libc_csu_init中的通用gedget的使用)
pwn level5这个题和level3-64的附件一样,level5要求不用system和execve,而是用mprotect和mmap,mmap主要是将文件映射到一段内存去同时设置那段内存的属性可读可写或者是可执行,mprotect函数是将从addr开始的地址 ,长度位len的内存的访问权限。可以这样做:利用shellcode,利用read函数把shellcode写入bss段,这里要求写入...原创 2020-02-14 21:57:46 · 1851 阅读 · 5 评论 -
Jarvis OJ - pwn level3-64
pwn - level3_x64检查保护机制只开启了NX保护,堆栈不可执行保护。放入ida分析,发现read栈溢出。思路:没有system和binsh的情况下,在read函数前有write函数运行,可以通过泄漏write函数的地址来泄漏libc版本,从而泄漏system和binsh地址。泄漏write函数,需要调用write(1,write_got,0x08)...原创 2020-02-10 16:31:49 · 279 阅读 · 3 评论 -
Jarvis oj-pwn level2-64
pwn level2-64检查保护机制放入ida分析在ida 中发现有system函数,再查找下也有binsh字符串。由于是64位的,所以,传参数时要注意,前6个参数是存在寄存器里的。rdi的地址利用pop ret 指令来传递参数,pop rdi,将参数binsh弹出栈,并存入rdi寄存器中,再ret返回栈中,再执行system函数,参数从rdi中取出。构造脚本如下:...原创 2020-02-09 20:11:12 · 167 阅读 · 0 评论 -
Jarvis OJ-pwn level4(利用DynElf泄漏system地址)
pwn level4借助DynELF实现无libc的漏洞:这篇讲的挺好检查保护机制ida打开文件,发现read函数栈溢出漏洞,想要用ret2libc解决,但是在漏洞函数前没有其他函数执行,所以不能进行泄漏函数得到libc版本。在无libc情况下,通过DynELF进行泄漏system函数。有了system地址,但是没有binsh字符串,这里可以通过read函数,从标准输入,写到bss...原创 2020-02-07 21:16:52 · 245 阅读 · 0 评论 -
Jarvis OJ-pwn test your memory
pwn test your memory运行一下检查保护机制只开启堆栈不可执行保护。观察反汇编代码,main函数里随机产生一串字符串,然后调用mem_test进行检测。mem_test函数,先打印一个地址(hint),再输入s,这里存在栈溢出漏洞,然后输入的s与随机产生的字符串比较。点进hint,提示是cat flag命令,可以获得flag程序中已有system函数。...原创 2020-02-06 21:28:40 · 236 阅读 · 0 评论 -
Jarvis OJ -pwn smashes
pwn smashes题目分析检查保护机制开启NX,canary,fortify 保护,可以得出不能往堆栈中写入shellcode进行控制利用。ida中打开输入不正确的canary后,会触发栈保护错误,利用打印出argv[0]的地址覆盖成想要输出内容的地址。想要输出的flag的地址,在程序中存在,所以能找到。angv[0]_addr:即程序名的地址。在ma...原创 2020-02-05 21:26:06 · 406 阅读 · 0 评论 -
Javris oj -pwn tell me something
pwn - tell me something修改权限:chmod 777 guestbook检查保护机制:checksec guestbook64位文件,开启堆栈不可执行保护,不能往堆栈里写入shellcode解题。用64位ida打开guestbook,找漏洞点from pwn import *r=remote('pwn.jarvisoj.com',9876)pay...原创 2020-02-04 21:02:43 · 605 阅读 · 2 评论 -
Jarvis OJ - pwn level3
前言因为换了电脑,GitHub博客的环境搭起来太麻烦了,又想有所记录,所以又回到这里啦~level3前段时间做过pwn题目,现在再来做,发现以前很简单的脚本利用命令都忘记了,真是,啥东西都不能放,一放就忘,这脑子不管用了。之后每天保持做题量,保持做题手感!在这里记录并且作为监督自己的一种方式。做题思路没有system和binsh,又给出了libc文件,容易想到可以用ret2libc方法...原创 2020-02-03 21:11:41 · 242 阅读 · 0 评论 -
2019.3.6(正月三十周三)Invisible flag
题目描述解题步骤下载图片,如图所示根据题目提示,说flag是看不见的,而给出的是一个图片,还和图片长度有关,猜想是不是修改图片高度的问题,于是用winhex打开图片。这里标黄色的0-3是图片的宽,4-7是图片的高,显然,图片的高小于图片的宽。修改图片的高,值和宽相同(黄色区域)保存修改后的图片,软件报错了。。。解决方法:winhex菜单 选项-》常规设置,修改临时文件...原创 2019-03-06 10:46:47 · 206 阅读 · 0 评论 -
2019.3.5(正月二十九周二)zip加密文件破解常用方法+解题PkCrack
破解Zip加密文件的[常用方法]https://www.cnblogs.com/ECJTUACM-873284962/p/9387711.html(找的大佬的博客)Zip属性隐藏Zip伪加密暴力破解明文攻击CRC32碰撞例题——PkCrack解题步骤:从题目来看,是明文攻击类型明文攻击是一种较为高效的攻击手段,大致原理是当你不知道一个zip的密码,但是你有zip中的...原创 2019-03-05 23:01:25 · 4249 阅读 · 0 评论 -
Exif
题目描述解题步骤先下载jpg图片,打开如下,没有任何有效信息。根据题目提示,搜索Exif含义可交换图像文件格式(英语:Exchangeable image file format,官 方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。Exif可以附加于JPEG、TIFF、RIFF等文件之中,为其增加有关数码相机拍摄信息的内容和索引图或...原创 2019-02-27 19:16:30 · 591 阅读 · 7 评论