摘要: MIPS汇编学习 mips汇编不同于x86汇编,属于精简指令集,常见于路由器等一些嵌入式设备中。 mips汇编没有对堆栈的直接操作,也就是没有push和pop指令,mips汇编中保留了32个通用寄存器,但是不同于x86汇编,mips汇编中没有ebp/rbp寄存器。 mips每条指令都用固定的长度,每 阅读全文
posted @ 2020-11-20 21:41 Riv4ille 阅读(3841) 评论(0) 推荐(0) 编辑
摘要: 攻防世界Web区部分题解 前言:PHP序列化就是把代码中所有的 对象 , 类 , 数组 , 变量 , 匿名函数等全部转换为一个字符串 , 提供给用户传输和存储 。 而反序列化就是把字符串重新转换为 对象 , 类 , 数组 , 变量 , 匿名函数 。 通过这种相互转换 ,从而完成 数据持久化。 谈到p 阅读全文
posted @ 2020-10-18 23:18 Riv4ille 阅读(290) 评论(0) 推荐(0) 编辑
摘要: Jarvis OJ部分逆向题解 很久没有写博客了,前天上Jarvis OJ刷了几道逆向,保持了一下感觉。都是简单题目,写个writeup记录一下。 easycrackme int __cdecl main(int argc, const char **argv, const char **envp) 阅读全文
posted @ 2020-09-24 16:58 Riv4ille 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 攻防世界time_formatter writeup UAF漏洞和命令注入。 前置知识 1、strdup函数 char * __strdup(const char *s) { size_t len = strlen(s) +1; void *new = malloc(len); if (new == 阅读全文
posted @ 2020-08-25 14:40 Riv4ille 阅读(357) 评论(0) 推荐(0) 编辑
摘要: pwnable.tw hacknote 总结一下,做堆题,就是要多调试。有时候一些堆管理机制我可能并不是特别清楚,但是多调试几次,调试器不会说谎,我就看明白了。 1、程序分析 一个32位的程序,有一个菜单如下所示: int menu() { puts(" "); puts(" HackNote ") 阅读全文
posted @ 2020-08-17 14:32 Riv4ille 阅读(391) 评论(0) 推荐(0) 编辑
摘要: RSA加密算法初探 RSA加密算法是早期的非对称加密,公钥和私钥分离,公开公钥,通过确保私钥的安全来保证加密内容的安全。由麻省理工学院的罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)在1977年一起提出的,所以算法由他 阅读全文
posted @ 2020-08-12 02:33 Riv4ille 阅读(560) 评论(0) 推荐(0) 编辑
摘要: maze writeup 攻防世界的一道迷宫题,第一次接触这样的题,个人感觉很有意思,收获也挺多,做一篇笔记记录一下。 程序分析 __int64 sub_4006B0() { signed __int64 v0; // rbx signed int v1; // eax bool v2; // bp 阅读全文
posted @ 2020-07-22 03:29 Riv4ille 阅读(197) 评论(0) 推荐(0) 编辑
摘要: no-strings-attach writeup 1、程序分析 主函数如图所示,关键函数在authenticate中,进入函数。 分析可得,decrypt代码段为关键代码段,进入关键函数decrypt。 2、解题脚本 可以看到,des指针指向地址处存放的值应该就是flag了,直接静态分析应该可以得 阅读全文
posted @ 2020-07-19 11:01 Riv4ille 阅读(229) 评论(0) 推荐(0) 编辑
摘要: csaw2013reversing2 writeup 1、程序分析 题目是一个exe文件,提示运行即可拿到flag,但是窗口弹出之后会出现一堆乱码。这时候,我们把文件丢入IDA之中,看到程序大致流程如下。 主函数如图所示,流程比较简单,进入sub_40100看一下,我们看到sub_40100函数是一 阅读全文
posted @ 2020-07-18 15:30 Riv4ille 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 攻防世界 —— pwn1 攻防世界的一道pwn题,也有一段时间没有做pwn了,找了一道栈题热身,发现还是有些生疏了。 题目流程 拖入IDA中,题目流程如图所示,当v0为1时,存在栈溢出漏洞。在gdb中检查题目的保护。 解题思路 程序没有开PIE,但是有Canary,所以首先要infoleak,泄露出 阅读全文
posted @ 2020-07-09 02:44 Riv4ille 阅读(851) 评论(0) 推荐(0) 编辑