03 2023 档案
摘要:32位程序,开了NX和Canary,放入ida分析 查看system函数/bin/sh函数,看看可不可以ret2libc 第10行存在格式化字符串漏洞,我们可以利用它随意读写的特性让x=4 x_addr=0x804A02C payload
阅读全文
摘要:前情提要 修改返回地址,让其指向溢出数据中的一段指令(shellcode) 修改返回地址,让其指向内存中已有的某个函数(return2libc) 修改返回地址,让其指向内存中已有的一段指令(ROP) 修改某个被调用函数的地址,让其指向另一个函数(hijack GOT) 相关知识 在上篇的背景知识中,
阅读全文
摘要:背景知识 函数调用栈 函数调用栈是指程序运行时内存一段连续的区域,用来保存函数运行时的状态信息。包括函数参数与局部变量等。 称之为栈是因为在函数调用时,调用函数的状态被保存在栈内,被调用函数的状态被压入调用栈的栈顶;在函数调用结束之后,栈顶的函数状态会被弹出,栈顶回复到调用函数之前的状态。 函数调用
阅读全文
摘要:在做pwn题目的时候总是会遇到自己不熟悉,不会的内容,每次都觉得非常难整理和理清,不如每遇到一次就做一次笔记,方便随时复盘。 gcc gcc在我学习c语言的时候,编译阶段有用到,和pwn题貌似关系不大,放一放。 libc libc是Linux下的标准C语言库,也是当初写helloworld里包含的头
阅读全文
摘要:是32位的,拖入ida严刑拷打 【还可以点进DialogBoxParamA函数,这是一个从对话框模板资源创建模式对话框。 在显示对话框之前,函数会将应用程序定义的值作为WM_INITDIALOG消息的 lParam 参数传递给对话框过程。 应用程序可以使用此值初始化对话框控件的函数。 DialogB
阅读全文
摘要:进去之后直接看字符串窗口,发现一个疑似flag的,点进去查看 我的妈耶!良心啊,直接把flag给我们了,呜呜呜呜,真的好少见这种淳朴的出题人!!! BJD{1999902069a45792d233ac}
阅读全文
摘要:64位 拖入ida64里面进行查看(Shift+F12字符串窗口) 查看,点进patch_me(v4)看看是怎么回事 这里已经相当清楚,逻辑就是如果你输入的是奇数会返回just finished,如果是偶数则会返回get_flag() get_flag函数如下: unsigned __int64 g
阅读全文
摘要:在buuctf上下载题目 用jd-gui打开 通过百度等等搜索引擎知道: import java.util.ArrayList; 表示导入了Java标准库中的ArrayList类,用于动态地创建和操作数组列表。 import java.util.Scanner; 表示导入了Java标准库中的Scan
阅读全文