logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Polar CTF Reverse 中等(1)

重点是check函数,这里解释一下*((_BYTE *)v3+i,定义 v3 为 _WORD v3[8],v3是指向16位数组的指针,强制转换为BYTE指向8位数组的指针,每次循环从v3其实位置偏移i个字节,再解引用得到相应的值。这里也简单说一下这段汇编的分析,jz就是判断为1就跳转,红色地址是一个很远的无效的,这会干扰我们或者AI进行分析真正的加密函数,而且IDA这个静态分析的,可能导致后面解析

文章图片
#网络安全
B站 XMCVE Pwn入门课程学习笔记(9)

后面会讲到堆,但是所需的libc版本会比较老,如Ubuntu16.04,可以尝试下载,方便以后操作实验一些开源镜像站,如清华大学如果下载Ubuntu这样选。

#学习
B站 XMCVE Pwn入门课程学习笔记(7)

通过ROP劫持程序执行流到write的plt地址,同时把write对应的got里面的内容写出来,就能知道write函数在内存中的真实地址,利用它减去它在libc中的偏移,就是libc的基地址,同时加上system的偏移和bin/sh的偏移,就能知道system和bin/sh的真实地址。一个gadget就可以满足一切需求,地址是libc里的地址,进入代码,满足约束条件,就可以直接获取shell。在m

文章图片
#学习
到底了