pwnable.kr记录

fd

linux fd是一个非负索引值,是文件描述符,打开一个文件时候内核给进程一个文件描述符。后续read write时候只需要提供这个fd。
fd为0是标准输入STDIN_FILENO,1是标准输出STDOIT_FILENO,2是标准错误STDERR_FILENO
linux进程是基于task_struct结构体,里面有个file_struct类型的files变量就是管理进程打开的所有文件的管理结构,内部的核心是通过动态数组和静态数组实现,而fd就是里面这个数组的索引,也就是fd对应着struct file结构体数组相应的地址
image
image
而fd就是数组元素struct file的索引,所以如果进程open第一个文件索引一般是3
image
这个题直接凑出0 fd,然后输入即可

collision

如何利用pwntools远程连接ssh控制进程并且传参
shell=ssh(username,host,port=,password=)
然后shell.process([要执行的进程的信息])
如果要传参,就是[路径,参数1,参数2]
但是参数不能有\x00,不然pwntools会报错
image
这个题读入20b,分5组加起来要求等于一个值,随便分配但是不能有\x00,不然有问题

sendline可以直接发送各种数据类型不用转换
关于随机数rand(),没有srand()情况下种子是1,然后遵循固定的算法

pr=remote(ip,port)是远程nc的

关于ssh传输文件 sftp -P port username@ip

posted @ 2025-12-15 20:07  hicode002  阅读(0)  评论(0)    收藏  举报