摘要: Windbg 中文乱码 Windbg在调试的时候如果源代码里面有中文会乱码本质上不是Windbg的问题,而是代码源文件的编码问题,默认情况下VS生成的代码文件的编码都是ANSI格式,这种格式会导致如果使用Windbg会乱码,必须改成UTF-8格式的才可以 这里可以使用一个VS插件进行解决,非常好用 阅读全文
posted @ 2023-01-07 22:34 MuRKuo 阅读(792) 评论(0) 推荐(1) 编辑
摘要: 1.jsp一句话 最近在学习java web。。。 配置 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sche 阅读全文
posted @ 2022-09-22 01:16 MuRKuo 阅读(486) 评论(0) 推荐(0) 编辑
摘要: Stack Migration(栈迁移) 原理 1.通过overflow覆盖prev ebp的值,让程序在执行完当前函数后执行leave(mov esp,ebp ; pop ebp)恢复栈帧时,获取到错误的prev ebp从而让ebp跳转到指定的位置。 2.此时esp执行到我们之前写入的gets函数 阅读全文
posted @ 2022-08-30 22:33 MuRKuo 阅读(516) 评论(0) 推荐(0) 编辑
摘要: [第五空间2019 决赛]PWN5 这次我们换一下,尝试只用工具来解题 浅看一下 int __cdecl main(int a1) { unsigned int v1; // eax int result; // eax int fd; // [esp+0h] [ebp-84h] char nptr 阅读全文
posted @ 2022-05-29 00:58 MuRKuo 阅读(727) 评论(1) 推荐(1) 编辑
摘要: second 2 pwn 签到 nc 直接连接 #!/usr/bin/python #-*- coding: utf-8 -*- ''' Author : MuRKuo Email : 1442121990@qq.com Create time : 2022-04-11 09:07 Filename 阅读全文
posted @ 2022-05-23 20:26 MuRKuo 阅读(41) 评论(0) 推荐(0) 编辑
摘要: ida+gdbserver 动态调试 前言 不知道是因为太简单了还是怎么的网上的文章都很少,所以在此记录一下 ida 选择remote GDB debug Hostname 是使用gdb调试的环境ip地址 Port 是使用gdb调试的环境的开放的端口,这个需要和gdb监听的端口一致(因为这种调试本质 阅读全文
posted @ 2022-05-04 02:27 MuRKuo 阅读(1569) 评论(0) 推荐(0) 编辑
摘要: 2022DASCTF X SU 三月春季挑战赛 easyre 前奏 查壳 查壳,asp壳,esp定律脱之,修复可以看我的上一篇文章 main函数 main函数的反汇编代码 int __cdecl main(int argc, const char **argv, const char **envp) 阅读全文
posted @ 2022-04-30 02:00 MuRKuo 阅读(115) 评论(0) 推荐(0) 编辑
摘要: scylla 修补 这里以x64dbg的scylla插件脱upx的壳为例 定位oep 运行->步过->步过....->大跳转 scylla 修补脱壳程序 scyalldump出程序 Fix dump 此时同目录出现的以_SYC结尾的程序就是修补后的程序 修补成功 阅读全文
posted @ 2022-04-30 01:03 MuRKuo 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 条件转移指令 重要寄存器 ZF:零标志位。代码执行后结果为0那么ZF=1;结果不为0则ZF=0; SF:符号标志位。相关指令执行后结果为负(-),那么SF=1;结果非负数,则SF=0; OF:溢出标志位。记录了有符号运算的结果是否发生了溢出,如果发生溢出OF=1;如果没有OF=0; 比较指令 整数比 阅读全文
posted @ 2022-04-27 00:25 MuRKuo 阅读(460) 评论(0) 推荐(0) 编辑
摘要: first fit c源码 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { fprintf(stderr, "This file doesn't demonstrate an attack, but sh 阅读全文
posted @ 2022-03-22 20:25 MuRKuo 阅读(46) 评论(0) 推荐(0) 编辑
摘要: pwn heap 1 test.c #include<stdio.h> #include<stdlib.h> int main(){ void* ptr = malloc(0x100); free(ptr); return 0; } chunk 最小的size8字节(32位系统) chunk分配的时 阅读全文
posted @ 2022-03-22 20:09 MuRKuo 阅读(44) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-03-19 09:56 MuRKuo 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 《汇编语言》 学习笔记 第一章 基础知识 1.1 机器语言 每一种微处理器,由于硬件设计和内部结构的不同,就需要不同的点评脉冲来控制,使他工作。所以每一种微处理器都有自己的机器指令级,也就是机器语言。 1.2 汇编语言的产生 此后,程序员使用汇编指令编写源程序,这时候就需要使用编译器,将汇编指令转成 阅读全文
posted @ 2022-03-16 22:53 MuRKuo 阅读(221) 评论(0) 推荐(0) 编辑
摘要: ret2libc 3 漏洞点 src开辟了256字节空间,dest开辟了56个地址 strcpy将src中的字符串拷贝到dest中 src可控 反汇编 int __cdecl main(int argc, const char **argv, const char **envp) { char ** 阅读全文
posted @ 2022-03-05 16:51 MuRKuo 阅读(182) 评论(0) 推荐(0) 编辑
摘要: retlibc 2 分析 这道题和第一个ret2libc唯一的区别就是没有/bin/sh 从上一道题的知识可以构造出以下模板 由于我们插入了一段gets,所以我们需要在发送完打入gets的payload后另外写入gets的内容 exp from pwn import * p = process('. 阅读全文
posted @ 2022-03-04 20:33 MuRKuo 阅读(107) 评论(0) 推荐(0) 编辑
摘要: ret2libc 1 exp from pwn import * p = process('./ret2libc1') elf = ELF('./ret2libc1') system_plt = elf.plt["system"] bin_sh = next(elf.search(b"/bin/sh 阅读全文
posted @ 2022-03-04 17:43 MuRKuo 阅读(93) 评论(0) 推荐(0) 编辑
摘要: pwndbg基本操作 基本指令 help //帮助 i //info,查看一些信息,只输入info可以看可以接什么参数,下面几个比较常用 i b //常用,info break 查看所有断点信息(编号、断点位置) i r //常用,info registers 查看各个寄存器当前的值 i f //i 阅读全文
posted @ 2022-03-04 17:20 MuRKuo 阅读(4887) 评论(0) 推荐(2) 编辑
摘要: 动态链接过程 第一次调用函数 第二次调用函数 此时system@got中已经保存了正确的system函数的真实地址 可以直接进行调用 阅读全文
posted @ 2022-03-04 16:50 MuRKuo 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 函数调用 程序执行前 执行system函数时 接下来需要调用system需要的arg 这时候的system的栈帧 retuen add = exit() arg = "/bin/sh" exit 与system函数同 阅读全文
posted @ 2022-03-04 16:25 MuRKuo 阅读(39) 评论(0) 推荐(0) 编辑
摘要: RAV to RAW 学习《逆向工程核心原理》笔记 参考:https://tech-zealots.com/malware-analysis/understanding-concepts-of-va-rva-and-offset/ 名词介绍 Relative Virtual Address (RVA 阅读全文
posted @ 2022-01-24 02:13 MuRKuo 阅读(127) 评论(0) 推荐(0) 编辑