自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Ret2dlresolve、Srop

介绍了ret2dlresolve和srop利用工具构造脚本进行解题的方法

2024-03-08 17:32:07 1379 1

原创 ctf-pwn 伪随机数绕过问题

生成伪随机数的范围在0到RAN_DMAX之间,这个最大值依赖于所指定的库,一般至少为32767,该随机数的生成依赖于种子,也就是说,如果种子一样,生成的随机数序列就一样,所以是伪随机数,当然很多题目会把时间作为种子,以此增加随机性。,初始化随机数发生器,用来设置rand函数的种子seed。系统在调用rand函数时,会先调用srand函数,如果没有就会默认种子为1。这里是种子为1时,可以看到生成了0到100内完全相同的随机数序列。

2024-03-07 16:26:09 1006 1

原创 初学堆 UAF漏洞及double free 利用手法(libc2.23)

UAF漏洞及double free 利用手法(libc2.23)通过一道例题加深理解

2024-03-06 21:05:06 921 6

原创 非栈上格式化字符串漏洞

这样之后如果继续按照原来的方式就会发现错误,第三个指针依然指的是返回地址的栈地址的尾两字节,而我们要修改前两个字节了,那就需要把上面构造的方式再用一次,让原来的返回地址栈地址加2就可以,与修改尾两字节相同的方式,再写一次,,那么随便输入几个%p,再根据gdb中内容,来观察泄露的位置,再不断修改得到正确的libc start main +243的地址,以及一个随便的栈地址,做完这些前置条件,重点就来了。每个pay最后的p64()是写栈上格式化字符串漏洞时栈对齐时需要的,由于这里不在栈上,那么这里不加就可以。

2024-02-22 14:37:46 440 1

原创 手动构造格式化字符串payload

像上次总结的格式化字符串漏洞的题都是能够溢出大量字节,因此能够使用pwntools的工具来自动生成payload但是如果题目给到了字节限制,使payload链所占字节非常有限,不足以装下自动生成的,那么就需要我们去手动构造payload,在正式了解手动构造之前可以通过上面链接回顾一下格式化字符串漏洞的知识,并且需要特别注意三个格式化字符。这是手动构造的关键。这里要注意一个h是以两个字节的方式写入,一般使用这个可以更省字节。

2024-02-19 14:02:44 811 1

原创 沙盒orw总结

一般沙盒机制开启后,会禁掉execve函数,也就意味着one_gadget以及system函数都不能使用,这就需要去利用open/read/write函数来拿到flag,当程序中出现sanbox或者seccomp时就要注意到开启了沙盒机制,这就可以利用seccomp-tools工具去查看什么函数被禁掉了,然后通过一道题的两种构造orw的方式来加深理解。

2024-02-07 20:14:39 781 1

原创 栈上格式化字符串漏洞总结

例如printf(s),这就是个漏洞函数,那么正确形式应该是printf('%s',s),即以字符串形式输出,那么存在漏洞的原因就是就是没有格式化字符,这时候如果我们在漏洞函数上边输入一个格式化字符,比如%p,那么就会泄露指定位置的地址。因为当程序进行printf函数时,第一个参数是格式化字符,来确定下面一个数据的打印形式。下面是一些格式化字符代表的意思。

2024-02-04 20:16:21 2424

原创 pwn栈迁移总结

栈迁移往往在发生栈溢出的函数能够溢出的只有rbp与返回地址时进行,由于不能输入更多数据来构造rop链,一般会把栈迁往两个位置,一是原来的栈,二是bss段。在了解栈迁移之前需要先了解两个汇编指令,这是进行栈迁移的关键,leave,ret,这两个一般在函数的最后都会出现,可以清空栈中内容。leave可以理解为mov rsp,rbp;pop rbp这两个汇编指令的效果综合,但只是效果几乎一样,但并不是真的由它俩组成,第一步就是把rbp的值赋给rsp,也就是在同一位置了;

2024-01-28 20:43:51 2390

原创 刷题小结2:pie与canary保护

pie保护开启后也就是所有地址都被随机化了,包括ida与ROPgadget所看到的所有地址都只有最后几位,这是相对于当前随机产生的pie的基址的偏移,那么我们如果能得到pie的基址,就能得到其他地址,从而拿到权限,这里总结的方法是接收pie的基址。先checksec一下,可以看到开启pie保护,同时ida里也不是可以用的地址,而是偏移。那么看主函数主函数的逻辑就是进行两次循环,分别输入1,2,3或者其他进入对应函数case1:非常明显的栈溢出,可以覆盖rbp以及返回地址。

2024-01-27 15:35:42 799

原创 刷题小结1:ret2text,mprotect,自动化rop链,ret2csu

先看ida,64位,乍一看,栈溢出且有binsh字符串,但是计算后返回地址只能控制一个字节。但是本地调试发现原来的返回地址与binsh的地址只相差了两位,也就是一字节,那么就可以构造exp了。

2024-01-26 13:46:07 662 1

空空如也

空空如也

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

TA关注的人

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