pwn
文章平均质量分 55
ctf的write up
破落之实
Into the Night.
展开
-
【rop emporium 2020】write4
这篇博客主要是关于rop emporium(2020年7月的版本)的ret2win这道题的学习记录因为网上都是比较早版本的题解,所以写了这篇博客,这道题与之前的版本的区别是没有system函数,但是有另外一个print_file函数来获取flag,所以本质上还是差不多的。题目链接:https://ropemporium.com/challenge/split.html备注:以下题目都是在ubuntu16.04下完成32位溢出点还是44…看了下网上给的教程是利用system函数。但是好像网站更.原创 2021-02-06 20:54:13 · 432 阅读 · 0 评论 -
【rop emporium 2020】callme
这篇博客主要是关于rop emporium(2020年7月的版本)的ret2win这道题的学习记录因为网上都是比较早版本的题解,所以写了这篇博客,不过这道题倒是变化不大。题目链接:https://ropemporium.com/challenge/callme.html备注:以下题目都是在ubuntu16.04下完成32位这道题主要考逆向。程序有个栈溢出漏洞,要利用这个漏洞按顺序执行call_one、call_two、call_three这三个函数。同时,这三个函数的参数可以从.so文件逆向.原创 2021-02-06 20:50:32 · 526 阅读 · 0 评论 -
【rop emporium 2020】split
这篇博客主要是关于rop emporium(2020年7月的版本)的ret2win这道题的学习记录因为网上都是比较早版本的题解,所以写了这篇博客,不过这道题倒是变化不大。题目链接:https://ropemporium.com/challenge/split.html备注:以下题目都是在ubuntu16.04下完成32位这题和上一题差不多,就是多了一个步骤。用gdb调试一下,发现还是偏移还是44…用ida分析二进制,shift+F12打开字符串窗口,可以看到/bin/cat flag.txt.原创 2021-02-06 20:46:25 · 213 阅读 · 0 评论 -
【rop emporium 2020】ret2win
这篇博客主要是关于rop emporium(2020年7月的版本)的ret2win这道题的学习记录因为网上都是比较早版本的题解,所以写了这篇博客,不过这道题倒是变化不大。题目链接:https://ropemporium.com/challenge/ret2win.html32位反编译后:int __cdecl main(int argc, const char **argv, const char **envp){ setvbuf(_bss_start, 0, 2, 0); puts.原创 2021-02-06 20:41:32 · 391 阅读 · 1 评论 -
【rop emporium 2020】pivot
这篇博客主要是关于rop emporium 2020的pivot这道题的学习记录题目链接:https://ropemporium.com/challenge/pivot.htmlstack pivot意思是将栈指针转移到别的地方。这是一种很有用的rop技巧,主要用于以下情况:链长度有限制无法控制栈在这个题目中,需要用到前面学到的关于.plt,.got.plt的知识。这个题目导入了一个叫foothold_function的函数同时也包含一个ret2win函数。ret2win函数的共享对象没.原创 2021-02-03 19:39:13 · 342 阅读 · 1 评论 -
angrop——自动构建rop链的工具
angrop是一个自动化生成rop链的工具。他是基于angr的符号执行引起,并且用约束求解去生成rop链,而且可以理解gadget的作用。angrop这个工具构造长的rop链要比人工快多了。docker安装拉取angr的镜像sudo docker pull angr/angr基于镜像创建容器sudo docker run -it --name=angr_container angr/angr angrop用法github上给出了一个简单的示例。>>> import.原创 2021-01-03 20:24:56 · 1213 阅读 · 0 评论 -
【BUUCTF】rip
这题和蒸米ROP的level3有点像。检查安全机制。用ida反汇编,可以看到是gets函数有个简单的栈溢出,偏移也很好计算,F+8=23此外还发现一个fun函数可以直接跳转到这里来获取shell。正常exp如下:from pwn import *p = process("./pwn1")#p = remote("node3.buuoj.cn",29399)payload = "a" * 23 +p64(0x401186)p.sendline(payload)p.interact原创 2020-12-08 11:03:08 · 3213 阅读 · 4 评论 -
蒸米ROP学习记录
参考链接语雀的一个大佬的记录:https://www.yuque.com/hxfqg9/bin/zzg02e一步一步学ROP(x86):http://www.vuln.cn/6645一步一步学ROP(x64):http://www.vuln.cn/6644需要的工具(pattern.py):https://github.com/zhengmin1989/ROP_STEP_BY_STEP文章目录参考链接32位简单的栈溢出ret2libc绕过ASLR没有libcx64简单的64位栈溢出寻找ga.原创 2020-12-02 10:50:25 · 1914 阅读 · 6 评论 -
Angr CTF从入门到入门(4)
终于做完了angrCTF的所有题目了。感谢这两位大佬的博客和githubhttps://ycdxsb.cn/https://github.com/ZERO-A-ONE/AngrCTF_FITM文章目录15_angr_arbitrary_read16_angr_arbitrary_write17_angr_arbitrary_jump15_angr_arbitrary_read反编译程序后:int __cdecl main(int argc, const char **argv, const原创 2020-09-30 21:06:35 · 521 阅读 · 0 评论 -
Angr CTF从入门到入门(3)
这次的几道题主要是hook相关的,有些题目甚至不用去反汇编找地址,真是非常amazing!也说明angr这个工具真的很强。另外,还发现了一个大佬写的关于这方面的教程,贴在这里(因为我写的太垃圾了):https://github.com/ZERO-A-ONE/AngrCTF_FITM文章目录08_angr_constraints10_angr_simprocedures11_angr_sim_scanf12_angr_veritesting13_angr_static_binary14_angr_s原创 2020-09-28 20:29:16 · 636 阅读 · 0 评论 -
Angr CTF从入门到入门(2)
这次讲的是angr CTF的03-07这五道题,主要是和符号化输入有关。文章目录03_angr_symbolic_registers04_angr_symbolic_stack05_angr_symbolic_memory06_angr_symbolic_dynamic_memory07_angr_symbolic_file03_angr_symbolic_registers这次的任务主要是由于angr没有办法处理scanf这种输入,所以需要告诉模拟引擎从scanf后面的地址开始执行,并且将符号化的变原创 2020-09-27 17:07:52 · 1009 阅读 · 0 评论 -
Angr CTF 从入门到入门(1)
angr是一个很厉害的二进制分析工具,能够实现很多自动化的逆向工作。最近正在学习,在看文档的时候发现了有个angrCTF的实战可以练习angr。angrCTF:http://angr.oregonctf.org/angr文档:https://docs.angr.io/这篇文章会是这个系列的第一篇文章。写这个系列也是因为我本身是逆向新手,记忆力还不行,估计过几天就忘记这个工具怎么用了。故在此记录。第一篇就只记录angrCTF的前三道题,感觉这三道题比较类似。00_angr_find题目告诉我们0原创 2020-09-19 21:06:25 · 3156 阅读 · 0 评论