自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pwn入门-buu刷题第三页题解(32道)(持续更新中)

这个0x400A28的位置,然后程序就会根据我们rbp的值再加上一些偏移,赋值给rsi,最后实现往0x123000+偏移的地方写值,但是这里的0x38的字长,再加上偏移还是不够我们写orw,所以我们可以再执行一次read,来获取更多的字长,然后如果在调试时发现位置不对的话,可以通过nop滑梯滑到正确的地方执行orw。即可getshell。通过unlink,我们可以改变itemlist里面的值的内容,从而来改变show的位置,然后再泄露libc_base,然后由于这道题的got表还是可写的,那么随便打了。

2024-07-27 23:40:37 617

原创 暑假第一周周报(7.3~7.8)

House Of XXX 是 2004 年《The Malloc Maleficarum-Glibc Malloc Exploitation Techniques》中提出的一系列针对 glibc 堆分配器的利用方法。但是,由于年代久远《The Malloc Maleficarum》中提出的大多数方法今天都不能奏效,我们现在所指的 House Of XXX 利用相比 2004 年文章中写的已有较大的不同。

2024-07-11 10:22:47 539

原创 某不知名ctfer选手的第四周周报

点进E26函数确实是堆溢出中的offbyone漏洞,这里的a2来自于我们编辑是想要的size,a1来自于堆管理器分配给堆块的size,那么只要我们输入的write的size比堆管理器给的大10,那么就会给我们一个offbyone漏洞(太棒了,以后做程序员就这样写程序,不给工资就直接进自己写的后门)。也不知道是不是我刷的题目太少了,感觉现在遇到的堆题都是堆溢出的题目,然后通过其他的漏洞结合来实现攻击,还是说堆题本来就是这样的?可以看到这里进行了两次系统调用,为0的是read,为1的是write。

2024-06-02 22:34:45 724

原创 pwndbg如何更改字体的颜色(保姆级教程)

真是不容易啊,我在各大搜索引擎找如何改pwndbg的输出颜色的内容,没找到一个合适的,最后还是自己看源码改的,嗯,看来看源码是一个好习惯。好了,我就不和大家说我的踩坑历程了,直接上吧。

2024-05-23 00:40:47 277

原创 某不知名ctfer选手的第三周周报

之前忘记和大家说了,就是在第二周周报的时候写了一个神秘的一题目,heap_uaf1和heap_uaf2忘记和你们说libc的版本和攻击原理了,其实这点在打堆题目的时候是很重要,之前我周报写的那个神秘的一题目就是打的glibc2.27的Tcache,那么现在我们来打一下fastbin这种题和Tcache的区别就是能改的少很多,和多了一个对size的检查机制。然后其他的利用手段都是和Tcache是差不多的,OK,下次给你们讲offbyone和offbynull。

2024-05-22 01:33:45 1211

原创 某不知名ctfer选手的第二周周报和XYCTF部分题解

free()函数一个hook也就是__free_hook,当在执行free函数的时候,会先检查有没有hook,如果不为0,那么在free(i)时就会把__free_hook作为函数指针调用,这时rdi会是原本要free的堆块指针,那么聪明的人已经能想到怎么攻击了,没错就是把__free_hook改成system,再把要free的堆块填入字符串,那么在free这个堆块时,就可以执行system("/bin/sh")了。那么问题来了,,这个固定大小为0xc的堆块保存的是什么内容,执行的是什么功能呢?

2024-04-28 23:29:29 882 1

原创 某不知名ctfer选手的第一周周报

不知道你们是不是有时候会遇到这种情况,你们可能是想对%6$p对应的地方写值,但是这个它是对指针进行操作的,那么%6$p对应的地方,也就是rsp对应的地方它的值是0x1,可能我们的意是想把通过%255c%6$n把0x1改成我们需要的值,但是格式化字符串会把0x1解析为一个地址,那么我们对0x1这个地址写值,当然会不可避免的出错,所以我们要想办法把一个指针指向rsp的位置,那么就可以对rsp保存的指针保存里面的值进行修改了。直接让我们的编译器模拟环境,然后就可以通过c语言代码模拟生成的v5的值,就可以了。

2024-04-22 00:41:28 915 3

原创 pwn入门-buu刷题第二页题解(32道)(更新完毕,下一章见)

通过控制返回地址来执行程序执行流的变化,也即是说我们并不是在执行我们写入在bss段的代码,因为真正的代码不是写作bss段的,应该位于text段。OK那我们接着讲,我们可以在s的地址里写入ret2libc的代码,然后执行它,泄露libc的基地址后再跳转回来,再用one_gadget来getshell,之前已经写过一道栈迁移的题目了,所以在这里就不多加赘述了。由代码易知,这个函数的功能是先搜索flag.txt文件,如果找到了则打印出来,如果没找到则退出程序,再看一下vuln函数里面有什么。

2024-03-21 13:08:43 992 2

原创 pwn入门-buu刷题第一页题解(32道)(更新完毕,下一章见)

可以发现我们输入I之后被替换成了you,那么根据这个特性,本来只能输入32个字符的fget函数,我们只要输入适当的I,再构造合适的payload,那么在执行这个strcpy(s, v0)函数时就可以发生栈溢出。这个函数的目的是打开名为 "flag.txt" 的文件,从该文件中读取最多 45 个字符,并将结果存储在 fl4g 数组中。寒假做过的,现在可能有点忘了,写一下题解的同时巩固一下自己,同时供各位正在入门pwn的师傅参考一下,写的不好的地方希望有师傅多多指教,第一次写博客,写的不好的地方还请见谅.

2024-03-10 10:01:05 1138 1

空空如也

空空如也

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

TA关注的人

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