我正在攻击一些samba内部,我想记录,用read_file和write_file写的是什么,我想要获取文件名,目录以及写入多少字节。
在struct files_struct中,有定义的文件名(char * fsp_name),我可以计算写入的字节数,但是在files_struct中没有带目录的字段。
有什么办法,如何在samba guts中确定打开文件的目录?
答案 0 :(得分:0)
假设char* fsp_name
包含完整文件(而不是相对名称),您可以使用strpbrk ()
(man 3 strpbrk)吗?循环搜索“/”,直到它返回NULL
。然后你的目录是从fsp_name到它最后一次返回的指针。
答案 1 :(得分:0)
好的,所以 - 解决方案: files_struct包含'conn'字段,其中包含'char * origpath' - 其中包含当前文件的目录。