摘要: 第二章 幻数 file:windows下查看文件类型(通过幻数) Cygwin:windows上面运行linux程序 strip:用于去除二进制文件的符号(编译的时候也能) PE tools:可以用来看进程和可执行文件,确定某种编译器/模糊处理或者修改文件头 PEiD:确定模糊(像pe tools) 阅读全文
posted @ 2024-10-04 12:08 muyiGin 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 没听懂在干嘛 阅读全文
posted @ 2024-10-03 15:19 muyiGin 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 学习于2024-10-03 12:50:42 星期四 心得感想: 分析 ida一打开就看到很明显的提示(毕竟是教学关卡): 那么我们需要将magic修改为一个大于0x1305的数,并且该程序没有开PIE,那么magic地址就是固定的。 Delete操作删的非常彻底,很明显这里没有任何可以利用的: C 阅读全文
posted @ 2024-10-03 14:16 muyiGin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 学习于2024-10-01 22:00:17 星期二 心得感想:这次真的把我整笑了,现在是10/2的晚上23点,我都不敢想象自己弄了多久(整整两天国庆的下午🤯)。 分析 10/1:很明显的UAF,但是我的电脑上有tcache,根本不懂机制,太奇怪了,明明释放了又还在堆中use状态???明天再看看吧 阅读全文
posted @ 2024-10-02 23:37 muyiGin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: HITCON Training习题 Github地址 阅读全文
posted @ 2024-10-01 21:57 muyiGin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 学习于2024年9月29日 心得感想:现在是2024/9/30的凌晨2:19分,今天又熬夜了。但是这道题是真正意义上自己思考做出来的(虽然还是有看答案)。成就感很足,这就是pwn的魅力! Lab 13 - HeapCreator 首先查看ida,理清程序思路(感觉这道题的漏洞off-by-one太刻 阅读全文
posted @ 2024-09-29 22:39 muyiGin 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 安装教程 注意将shebang改成python3. 阅读全文
posted @ 2024-09-28 01:41 muyiGin 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 参考文章 阅读全文
posted @ 2024-09-27 22:47 muyiGin 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 网上的常规教程大多都是ubuntu22.04,但是ubuntu16在操作的时候网络连接处没有端口号: 此时在设置中搜索代理即可: 接下来就是一样的操作了: 如果ping不通,可能是没有设置好dns,这个教程亲测有用:https://blog.csdn.net/longting_/article/de 阅读全文
posted @ 2024-09-25 14:23 muyiGin 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 教程来自此处。 命令 改变权限chmod u+x setup.sh shebang:#! /bin/bash 其他 要注意的是,bash语言中比如grep -q .返回的条件状态码中,0是成功,1是失败。 而if则是收到0就执行then,反之if !就是失败才执行then. 其他没啥了,好简单好基础 阅读全文
posted @ 2024-09-24 21:45 muyiGin 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 前言 会用docker了,结果啥都要自己下载(gdb,pwndbg,git...),真是麻烦到家了。现在顺便学一下git吧。 廖雪峰的教材 命令 仓库初始化git init 添加git add xxx git commit xxx 重置git reset --hard HEAD^/HEAD~100/ 阅读全文
posted @ 2024-09-24 19:50 muyiGin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 一直拖着没学,现在学到堆利用,要想利用简单的UAF就必须使用低版本glibc,但是我的很明显通过ldd --version查看到的是最新的glibc,所以现在是不得不学docker了。 b站视频,讲的非常好 视频配套笔记 阅读全文
posted @ 2024-09-23 22:21 muyiGin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: UAF利用 没有free指针,导致该指针仍然指向一块地址(可以被调用的地址,如函数/或者用于比较的数据)。 通过申请不大于该chunk的空间,从fastbin中获得写入该地址的权限,然后再调用该地址。 我打个比方:前任房东有个癖好,看到沙发是绿色的就会唱歌(调用函数)。我通过中介原封不动地买到了房子 阅读全文
posted @ 2024-09-22 23:57 muyiGin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 覆盖栈内存 通过%n 将指定个数写入相应地址。 覆盖任意内存 修改为小数字 通过前面我们可以发现,如果用%n的话,你输入的地址都会被计算在内。如果我想修改数值为2的话,哪怕是32位的地址都直接占用4个字节了,肯定无法写入2。 所以其实,我们没有必要老老实实让printf去指定我们(比如说)第6个地址 阅读全文
posted @ 2024-08-24 18:53 muyiGin 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 讲解 将ESP和EBP修改到我们想要的位置(bss,堆)(可读写),然后在可控内存区布置Payload,解决ROP时空间不足的问题。 条件: * 存在溢出 * 可以控制sp指针 gadget寻找 pop esp pop ecx; lea esp, ecx leave; ret; 示例 超级诡异的错误 阅读全文
posted @ 2024-08-19 13:59 muyiGin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 上界溢出,下界溢出。 不同的数据类型混用 比如read函数的length是接收Unsigned int,但是你输入-1就会被解释的很大。那么就能作为缓冲区溢出(但是是在堆上,只是类似)。 错误类型转换 比如int是4字节,如果判断int==0为yes,那么输入时如果给的是long int实参1000 阅读全文
posted @ 2024-08-19 13:38 muyiGin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: VMware虚拟机的共享文件夹无法使用 Coc-pyright超级烦的内联提示,导致光标错位 虚拟机连接主机vpn 阅读全文
posted @ 2024-08-15 22:35 muyiGin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: PIE即position-independent executable(地址无关可执行)。 阅读全文
posted @ 2024-08-15 22:17 muyiGin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: Canary即系统压入的值,用00结尾截断字符串,用xor比较检测栈是否被破坏。 泄露canary 条件: * 有合适输出函数 * 函数不会崩溃 🌚这是教学关卡,就别在意为啥有现成的shell地址了。 你也能发现,这种方法局限性挺大的,因为你要用到能输出的函数;并且还要保证这个程序不会轻易退出(不 阅读全文
posted @ 2024-08-15 22:15 muyiGin 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 基本知识 Return Oriented Programming面向返回的编程。 通过找各种小片段gadget,去实现类似(最简单的)直接在栈上运行恶意代码的方法。 程序存在溢出 合适的gadget rop种类 ret2shellcode 最简单的,当NX关着的时候(也就是可执行栈)。直接把返回地址 阅读全文
posted @ 2024-08-13 22:13 muyiGin 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 我是ubuntu22.04,遇到了极其诡异的事情: 可真是气死我了,got EOF是在逗我?怎么就EOF了?怎么就到end of file了? 下面请欣赏大佬的讲解: 以下贴上gpt更详细的解答,我这次深刻的记住了栈要16字节对齐(我以前一直以为这只是为了提高效率的,可选可不选,无非慢一点) 当栈没 阅读全文
posted @ 2024-08-12 00:50 muyiGin 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 以前只是简单的弄了.tmux.conf,改了个打开剪贴板和用vi模式剪贴,但是巨难用,因为每次复制都会多复制个回车(是我姿势不对吗?) 这里留下解决链接希望帮助后人: 基础配置 微调,除了ctrl-a的修改其他都很好用 阅读全文
posted @ 2024-08-11 23:08 muyiGin 阅读(2) 评论(0) 推荐(0) 编辑
摘要: gcc -m32 -fno-stack-protector -no-pie -fcf-protection=none -z execstack -z norelro -O0 -g -static -o tmp tmp.c 其实就是按照过程顺序,先编译选项:32位,不要金丝雀,不要pie,不要endb 阅读全文
posted @ 2024-08-11 23:04 muyiGin 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 为什么我们用动态链接和GOT表 我们知道静态链接就没那么多事,直接把全部要用的函数都绑定在一起,各个变量和函数之间的偏移量当然能算出来。 但是这也恰恰是静态链接的缺点,相同的代码段反复调用真是太臃肿了! 于是我们决定把常用的库单独拿出来给大家用,我们还知道,.text是不可修改的,也就是运行的时候可 阅读全文
posted @ 2024-08-11 17:42 muyiGin 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 计划暂缓 阅读全文
posted @ 2024-08-11 16:26 muyiGin 阅读(11) 评论(0) 推荐(0) 编辑
摘要: i春秋-pwn从入门到提高 基础篇 需要学习docker。 redzone:x86-64的一种优化,适合叶函数。 got/plt表。 pwndbg-vmmap-stack-heap(fastbin,largebin...)。 pwntools-cyclic-shellcode(int80 sysca 阅读全文
posted @ 2024-08-11 14:09 muyiGin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 第六周 缓冲区溢出章节 bang问题: 每次输入的id将影响getbuf中的堆栈位置,用-u 12的ebp和-u 123的ebp位置就不一样。 注意汇编代码中不能出现a0(代表换行符),如果地址有a0就将它随便改改就行了(a0改为a8-0x8)。 注意gdb如果不能重定向,可能是因为你修改了gdbi 阅读全文
posted @ 2024-08-11 00:05 muyiGin 阅读(29) 评论(0) 推荐(0) 编辑