Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

ZhuFN's Blog

新的章节讲的是利用格式化字符串漏洞的故事。 format-two全是x86的题解,找了半天才在一个评论区里找到如何回避x86_64下\x00的坑 format-zero 本题源码 /* * phoenix/format-zero, by https://exploit.education * * Can you change the "changeme" variable? * ...

就是。。感觉不爽。

听说把这段写进~/.gdbinit里面会让栈的情况更加真实(在调试的时候) (参考https://n1ght-w0lf.github.io/binary exploitation/stack-six/) unset env LINES unset env COLUMNS set env _ /opt/phoenix/amd64/stack-six 然后这是本题源码 /* * phoe...

我(在reverse题中)最讨厌的语言——go。 被ida里出现的奇怪结构体吓晕。 main函数在cutter里怎么是runtime.text啊(不过在sym.runtime.main里被调用了)。 首先,整个程序被包裹在一个大大的死循环中,然后不断scanf %d。当读到EOF的时候停止,判断是不是13个数字(表面上,实际上是12个)数字。 如果当前数字不是eof,就会被append到数组...

辽宁省赛线下awd,出了那么一道java题: @PostMapping({"/cmd"}) @ResponseBody public String cmd(@RequestParam String command) throws Exception { Base64.getDecoder(); StringBuffer sb = new Stri...

最近又是数模又是开学的,很难受,还是看看远方的水入门题吧。没有动态基址,还是比较简单的。 (写这段的时候还没想到接下来还有概率论考试,还打了场ctf校赛,所以。。。) stack-three 覆盖一个即将被调用的函数指针的数据,跟前面差不多。 from pwn import * shell = ssh("user", "localhost", pas...

这两道非常简单,而且只有数据读入方式的区别。跟zero一样,只是对覆盖的数据有要求。 stack-one 将程序第一个参数strcpy到字符串。 在gdb中run后面直接接参数即可带上参数。 pwntools的sh.run可以接收字节数组作为参数,里面可包含启动参数。(看了下文档,对于run方法:Backward compatibility. Use system() ) from p...

找到一个学习pwn的项目http://exploit.education ,决定让我临时抱佛脚学的pwn走向正轨,试试开个笔记系列(每次pwntools脚本都忘记怎么写),希望不要半路弃坑。定个小目标,至少把Phoenix系列做完吧。 环境配置 首先在more-downloads里下载phoenix的虚拟机系统镜像,根据你的架构选择。这就是靶机。在启动之前,我们需要安装qemu-syste...

当你在main中找不到程序逻辑的时候,如何考虑? 有没有注册异常处理程序。还有像__cxa_atexit 这样退出时执行的函数。 __lib_start_main的参数中有用于初始化的函数。顺便贴一下它的定义: int __libc_start_main( int (*main) (int, char * *, char * *), int argc, char * * u...

(附件在这里https://github.com/R0IS/RCTF2021/blob/main/Recv/Harmony/Harmony/liteos) 随机到了Hi!Harmony!这道,在xctf上。为什么要强调在xctf上呢?因为xctf上没有附件。只有题目描述里的一句: Hello, hackers! Have you ever heard of pangu, the creat...