首页 > 编程知识 正文

00截断 php 版本,考虑以下c语言代码short usi=65535

时间:2023-05-03 05:36:30 阅读:106674 作者:3525

size_twrite(intFD,const void*buf,size_t count );

参数说明:

fd:是文件描述符(write是写入,即,对应于1 ) )。

buf:通常是字符串,是需要写入的字符串

写入count次的字节数

Pyload=P32(write_PLT ) P32 ) main ) P32 )1) P32 ) write_got ) P32 ) r.recvuntil ) whatisyourname? ' ) R.Send(Payload )的配置是这样的

首先,写入write函数的plt表地址(write函数的实际地址),然后调用write函数

其次,在函数的返回地址中写入main函数的地址,控制程序执行流程

最后的p32(1) p32 ) write _ got (p32 )4)是为了调用write函数来打印write的got表(write函数的地址),首先调用write函数的参数,为32比特

这个payload会泄露程序中write函数的地址。 利用libcsearcher可以获取这个程序的libc的基地址。 然后,可以构建system () /温暖的车/sh )以获取壳

2 .如果文件包含读函数,则可以返回读的got表

payload='a'*(0x880x4 ) p32 (write _ PLT (p32 ) main _ addr (p32 )1) p32 ) read _ got (p32 )4) ) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。