0x00:前言这道题是盲打题,就是没有给附件,只给了远程环境。但这道题并不难,由于这种形式少见,所以我就在这里记录一下。下面看看我的做题思路吧~ 0x01:做题思路1、初览 题目并没有给附件,这时候就可以做好盲打的准备了。 2、连接远程并分析用nc连接一下远程: 给了一个地址,0x40060d,看地址是个64位的程序。给了一个地址,大胆猜测是get_shell或者是cat_flag相关的。然后我们可以操作的是输入数据,回车也没有任何返回值,这也可以排除格式化字符串漏洞。我们可以先考虑最简单的栈溢出。 3、编写expfrompwnimport*sys=0x40060dforiinrange
0x00:查看文件信息一个64位二进制文件,canary和PIE保护机制没开。 0x01:用IDA进行静态分析 分析:主程序部分是一个while循环,判断条件是read返回值大于0则循环。函数atoi()是将一个字符串转换成整型数据,看栗子: 这样子v7可以由我们所决定,所以很明显第15行存在栈溢出。 个人想法:看到程序有一堆输入输出函数,我首先想到的是ret2libc3。在尝试的过程中发现无论如何都跳不出while循环,使用io=send('')不可以。思考无果,上网找WP。在海师傅的文章中,了解到可以用shutdown函数进行操作。而且海师傅是以另外的思路进行泄露的,下面我就借鉴海师傅的
0x00:查看文件信息一个64位二进制文件,canary和PIE保护机制没开。 0x01:用IDA进行静态分析 分析:主程序部分是一个while循环,判断条件是read返回值大于0则循环。函数atoi()是将一个字符串转换成整型数据,看栗子: 这样子v7可以由我们所决定,所以很明显第15行存在栈溢出。 个人想法:看到程序有一堆输入输出函数,我首先想到的是ret2libc3。在尝试的过程中发现无论如何都跳不出while循环,使用io=send('')不可以。思考无果,上网找WP。在海师傅的文章中,了解到可以用shutdown函数进行操作。而且海师傅是以另外的思路进行泄露的,下面我就借鉴海师傅的
在首席执行官萨蒂亚·纳德拉(SatyaNadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft365等商业产品到“新必应”搜索引擎,再到低代码/无代码PowerPlatform等面向开发的产品,包括软件开发组件PowerApps[1]。非常重要的一点是这些产品都是使用.NET构建的,这些项目可以快速的使用LLM加持,我们写程序的同学肯定都会想微软是怎么做的,正好微软在3月17日在发布了一篇博客文章:[Hello,SemanticKernel!](https://devblogs.microsoft.com/sem
在首席执行官萨蒂亚·纳德拉(SatyaNadella)的支持下,微软似乎正在迅速转变为一家以人工智能为中心的公司。最近微软的众多产品线都采用GPT-4加持,从Microsoft365等商业产品到“新必应”搜索引擎,再到低代码/无代码PowerPlatform等面向开发的产品,包括软件开发组件PowerApps[1]。非常重要的一点是这些产品都是使用.NET构建的,这些项目可以快速的使用LLM加持,我们写程序的同学肯定都会想微软是怎么做的,正好微软在3月17日在发布了一篇博客文章:[Hello,SemanticKernel!](https://devblogs.microsoft.com/sem
我们都知道在生物信息学领域,R语言发挥着极其重要的价值,相信大家平时进行个性化数据分析或者利用R进行工具开发时,主要用到的还是⬇⬇⬇。也就是最经典的R语言集成开发环境,RStudio⬇⬇⬇。但是当我们需要撰写学习笔记时,单纯的代码输入和控制台运行模式可能并不能完全满足需求。例如我们学习一个新的R工具包,在笔记撰写过程中,需要带有格式地记录包的用途和原理,源码解释,示例代码,各种运行结果,图片和引用,个人的观点与感悟等等。此时使用Markdown或者RMarkdown,可以满足需求,但是就实时响应的便捷性,这里还是要推荐另一种工具,即⬇⬇⬇。TheJupyterNotebookistheorig
我们都知道在生物信息学领域,R语言发挥着极其重要的价值,相信大家平时进行个性化数据分析或者利用R进行工具开发时,主要用到的还是⬇⬇⬇。也就是最经典的R语言集成开发环境,RStudio⬇⬇⬇。但是当我们需要撰写学习笔记时,单纯的代码输入和控制台运行模式可能并不能完全满足需求。例如我们学习一个新的R工具包,在笔记撰写过程中,需要带有格式地记录包的用途和原理,源码解释,示例代码,各种运行结果,图片和引用,个人的观点与感悟等等。此时使用Markdown或者RMarkdown,可以满足需求,但是就实时响应的便捷性,这里还是要推荐另一种工具,即⬇⬇⬇。TheJupyterNotebookistheorig
Linux裁剪---【kernel+busyboxy+dropbear+nginx】 本文将介绍通过完全手动定制内核,在此基础上添加busybox,并实现远程登陆,使裁剪的linux能够运行nginx。在此之前介绍一下linux系统的启动流程。为虚拟机准备一块1G(大小自定)的硬盘 为新的硬盘分区/dev/sdb1=50M剩余的容量全部给/dev/sdb2echo -e "n \n p \n 1 \n \n +50M \n n \n p \n 2 \n \n \n w \n" |fdisk /dev/sdb查看结果: Device Boot
Linux裁剪---【kernel+busyboxy+dropbear+nginx】 本文将介绍通过完全手动定制内核,在此基础上添加busybox,并实现远程登陆,使裁剪的linux能够运行nginx。在此之前介绍一下linux系统的启动流程。为虚拟机准备一块1G(大小自定)的硬盘 为新的硬盘分区/dev/sdb1=50M剩余的容量全部给/dev/sdb2echo -e "n \n p \n 1 \n \n +50M \n n \n p \n 2 \n \n \n w \n" |fdisk /dev/sdb查看结果: Device Boot