自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 [安洵杯 2021]stack题解

payload2 = b'a'*(0x20-8)+p64(canary)+b'a'*8+p64(ret)+p64(rdi)+p64(binsh_addr)+p64(sys_addr)//记得用ret和ret_rdi传参。所以输入的格式化字符串为%11$p和%17$p(记得前六个参数存放在寄存器里)输入到第一个read中。那么思路就是先通过格式化字符串泄露canary和函数真实地址,然后栈溢出返回shell。然后在下一个read中根据main函数基址算偏移泄露其他部分构造rop链即可。成功getshell。

2023-06-08 22:50:44 108 1

原创 2023陕西省大学生网络安全技能大赛pwn陕西游玩题解

可以发现在0x7fffffffdf18处存放了main函数的地址,而printf输入时的位置在0x7fffffffdeb0,并且64位传参前6个参数要放在寄存器中,那么实际main函数真实地址相对格式化字符串参数的位置为(0x7fffffffdf18-0x7fffffffdeb0)/8+6=19。那么我们就要想办法泄露出一个函数真实地址,以此来计算偏移得到后门函数的地址从而getshell。接着计算main与后门函数的偏移,直接ida看后四位再相减就欧克了,代码如下。首先checksec~

2023-06-04 10:27:27 216 1

原创 LitCTF PWN题解

接下来就是正常的64位ret2libc过程,找一个pop寄存器和ret地址,用这条指令:ROPgadget --binary pwn --only 'pop|ret'看看c伪代码,很容易看出是ret2libc题,并且对read读入的数据有一个strlen的判断,如果大于0x50就跳出。直接nc之后ls查看一下目录,看到一个dockerfile,cat一下就能发现打开flag文件的方式。然后通过给的libc文件计算偏移,得到system函数和/bin/sh字符串的地址。咳咳,接下来是正题。

2023-06-02 00:26:36 509 3

原创 [BUUCTF]ciscn_2019_en_2解题思路

接下来通过计算偏移和libcsearcher拿到libc版本从而泄露system和bin/sh然后栈溢出获得shell。先用ROPgadget --binary fliename --only 'pop|ret' 找找gadgets。通过读c伪代码可以看出先是一个嵌套循环,然后输入v4的值,根据v4值来执行下面的代码。其中的0x4009A0是用来泄露puts函数的地址后返回encrypt函数再次运行。希望思路对各位有所帮助(本人真的很菜),如有不足请各位佬们指点。很明显有个gets函数的栈溢出。

2023-05-08 17:08:55 270 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除