首页 > 其他分享 >Pwn入门题两道 netcat使用与栈溢出

Pwn入门题两道 netcat使用与栈溢出

时间:2022-12-25 17:22:20浏览次数:36  
标签:入门 flag 调用函数 地址 Pwn netcat 溢出 函数

Pwn入门题两道 netcat使用与栈溢出

 

 

 

第一道题,先下载test,再把文件拖到ida中打开.点击main函数,按f5反汇编.

 

 

 

看到system(“/bin/sh”)这行代码.可以理解为执行这行代码我们的权限提示,能对电脑进行其他操作,比如找出flag.这道题直接把后门函数给出来了.我们只要连接到远程的电脑就能获得权限了.所以,只需要在终端直接nc靶机信息就可以了.

nc指netcat,是功能众多的网络测试工具.在kali虚拟机上能直接使用.

 

 

 

连接靶机.

 

 

 

输入ls查看文件,发现flag

输入cat flag获得flag

 

 

 

 

 

 

 

第二道题也是先在ida中打开文件反汇编

 

 

 

在主函数中找不到后门函数.但是在主函数下面的fun()函数中发现了后门函数.

 

 

 

 

关键是怎么样才能执行这个函数.

可以观察到主函数读入字符用的gets函数,这是危险的,能造成栈溢出.能改变被调用函数的返回地址.

简单来说,gets是被调用函数,在把他压入栈时会先压入返回地址,之后是被调用函数的基地址,在64位系统是8个字节.再之后就是把被调用函数的数据压入栈中.

 

 

 

主函数中char的s数组是15字节,再加上基地址的8字节就满了,这时候数据溢出到了返回地址.我们只要输入fun函数的返回地址能进入后面函数了.

 

 

 

返回地址是0x401186.也就是说只需要输入字节让数据溢出到返回地址,再输入想转到的地址,就能执行到后门函数了.

接下来写出exp

需要pwntools库.

 

 

 

 

地址加1是为了堆栈平衡,保证能打通远程的靶机.p64是为了把地址打包为64位发送.而decode(“iso-8859-1”)是因为在python3中p64函数会报错,需要转换为字符串格式.

 

 

 

在kali上运行.

 

 

 

Ls发现flag

 

 

 

得到flag.

总结:简单的pwn入门,但是和其他方向相比确实知识较多.主要是栈溢出与exp编写,net cat的使用.

 

标签:入门,flag,调用函数,地址,Pwn,netcat,溢出,函数
From: https://www.cnblogs.com/i6288/p/17004266.html

相关文章

  • Web入门:HTML5拖放
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用ondragstart、ondragover、ondrop属性,并编写相关代码,完成图片的拖放。演示学习<!DOCTYPEhtml><htmllang="en"......
  • ECMAScript 6 入门教程—对象的扩展
    作者|阮一峰对象(object)是JavaScript最重要的数据结构。ES6对它进行了重大升级,本章介绍数据结构本身的改变,下一章介绍​​Object​​对象的新增方法。1、属性的简洁表示......
  • ECMAScript 6 入门教程—数组的扩展
    作者|阮一峰1、扩展运算符含义扩展运算符(spread)是三个点(​​...​​)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1,2,3])//123......
  • 洛谷 P5721 【入门3】循环结构
    P5721【深基4.例6】数字直角三角形1.题目描述给出 n,请输出一个直角边长度是 n 的数字直角三角形。所有数字都是 2 位组成的,如果没有 2 位则加上前导 00。2.输......
  • ECMAScript 6 入门教程—Class 的基本语法
    作者|阮一峰1、简介类的由来JavaScript语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。functionPoint(x,y){this.x=x;this.y=y;}Point.protot......
  • Web入门:CSS下拉图片
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用CSS实现图片的下拉菜单。演示学习<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8">......
  • WebService简单教学??SpringBoot整合CXF的快速入门??CXF发布Rest服务
    目录​##springboot整合CXF的快速入门##​​一,服务端提供webservice服务​​​1,实体类User​​​​2,webservice接口​​​​3,webservice接口的实现类​​​​4,CXF配置类​​......
  • ElasticSearch系列---【Es的快速入门文档】
    Es的快速入门文档1.对比数据库理解ElasticSearch是面向文档型数据库,一条数据在这里就是一个文档。 注意:从ElasticSearch6.X开始,一个Index下只能包含一个Type,因此,在ElasticS......
  • Kibana 入门实战(2)--简单使用
    文主要介绍 Kibana的使用,文中所使用到的软件版本:Elasticsearch8.5.1、Kibana8.5.1、Centos7.9。1、安装示例数据集Kibana自带有3个数据集,一个数据集描述了过去10......
  • 仿文:普通人或者门外汉该怎样入门编程?
    继我关注很久一位编程的大牛发布了他的那篇文章——<探究:普通人都是怎么入门编程>​​我先去再相关评论里看到了有人说这是AI写的一样,不过我对这篇文章的作者稍微有些了......