首页 > 其他分享 >CTFshow pwn49 wp

CTFshow pwn49 wp

时间:2024-04-02 12:44:21浏览次数:10  
标签:函数 mprotect PROT 地址 pwn49 内存 wp shellcode CTFshow

PWN49

用ida打开我们发现是静态编译的,所以先要通过libc库来打是不可能的了,程序里面有一个栈溢出点,找一下有没有system函数,发现并没有

那么我们找一下有没有mprotect函数如果有这个那么我们可以把一段地址改成可读可写可执行权限,然后写入我们的shellcode就可以执行了,发现确实有这个那么思路就清晰了

我来介绍一下什么是mprotect函数

在Linux中,mprotect()函数可以用来修改一段指定内存区域的保护属性。

函数原型如下:

include <unistd.h>

include <sys/mmap.h>

int mprotect(const void *start, size_t len, int prot);

mprotect()函数把自start开始的、长度为len的内存区的保护属性修改为prot指定的值。

prot可以取以下几个值,并且可以用“|”将几个属性合起来使用:

1)PROT_READ:表示内存段内的内容可读;

2)PROT_WRITE:表示内存段内的内容可写;

3)PROT_EXEC:表示内存段中的内容可执行;

4)PROT_NONE:表示内存段中的内容根本没法访问。

不过要注意的是锁指定的内存区间必须包含整个内存页(4K)。区间开始的地址start必须是一个内存页的起始地址,并且区间长度len必须是页大小的整数倍。意思就是地址后三位为0结尾(4096)的整数倍

这里地址我们可以取bss段地址

知道这个就可以开始写exp了,思路是通过mprotect函数来修改bss地址的权限,然后调用read读取我们写的shellcode,但是要找到3个连续的pop来把mprotect的3个参数弹出然后传read参数最后返回到bss段执行shellcode

exp如下

标签:函数,mprotect,PROT,地址,pwn49,内存,wp,shellcode,CTFshow
From: https://www.cnblogs.com/CH13hh/p/18110333

相关文章

  • WPF实现树形表格控件(TreeListView)
    前言本文将探讨如何利用WPF框架实现树形表格控件,该控件不仅能够有效地展示复杂的层级数据,还能够提供丰富的个性化定制选项。我们将介绍如何使用WPF提供的控件、模板、布局、数据绑定等技术来构建这样一个树形表格。一、运行效果1.1默认样式1.2自定义样式二、代码实现......
  • WPF如何使用 System.Windows.Forms.FolderBrowserDialog
    WPF如何使用System.Windows.Forms.FolderBrowserDialog在WPF中,如果你想使用System.Windows.Forms.FolderBrowserDialog来选择文件夹,你需要添加对WinForms的引用,因为FolderBrowserDialog是WindowsForms的一部分,不是WPF的一部分。下面是如何在WPF应用程序中使用FolderBro......
  • WPF中动画教程(DoubleAnimation的基本使用)
    实现效果今天以一个交互式小球的例子跟大家分享一下wpf动画中DoubleAnimation的基本使用。该小球会移动到我们鼠标左键或右键点击的地方。该示例的实现效果如下所示:页面设计xaml如下所示:<Windowx:Class="AnimationDemo.MainWindow"xmlns="http://schemas.microsof......
  • WPF中封装一个自己的MessageBox
    前言  在WPF应用程序开发中,我们可以借助其强大灵活的设计能力打造出绚丽而富有创意的用户界面。然而,与这种高度定制化的界面相比,标准MessageBox却显得有些原始和古老。它的外观与现代、绚丽的应用界面格格不入,使得用户在交互中可能感到突兀或不符合预期。  本文将深入探......
  • CTFshow pwn53 wp
    PWN31那么先看保护虽然没有开canary但是本题在ida打开看见他是模拟了canary的效果,不同的是他的是固定的canary,但是一样要爆破而且发现还有后门函数在ctfshow函数我们发现v5=0,那么我们只要不输入回车(acii:10)可以一直往数组里面写入数据,然后它会把v2变成有符号形整数,作......
  • CTFshow pwn31
    PWN31使用checksec查看保护发现除了canary剩下保护全开,那么就没有前面几个题目那么简单了,ida打开看见他给了我们main函数地址虽然开了pie但是在他们之间的偏移是一定的,那么我们就可以通过他给的main函数的真实地址减去偏移得到文件(elf)的基地址,然后puts_pltputs_got表地址就......
  • 北京电子科技学院2024密码保密与网络对抗宣传赛WP
    个人赛20211108_俞振阳排名第六名解题思路ctf1签到题类型:Misc文件最后出现明显字符提示,尝试base64编码flag{ae9603a1-a905-f9be-5143-660bac605401}ctf5伪装者类型:Web尝试注入此ip值curl-H"X-Forwarded-For:1.1.1.1"http://39.106.48.123:13504/flag{4404......
  • Wpf ComboBoxItem show multi fields
    <Windowx:Class="WpfApp28.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • WPF如何封装一个可扩展的Window
    前言   WPF中Window相信大家都很熟悉,有时我们有一些自定义需求默认Window是无法满足的,比如在标题栏上放一些自己东西,这个时候我们就需要写一个自己的Window,实现起来也很简单,只要给Window设置一个WindowChrome.WindowChrome附加属性就可以实现,WindowChrome可以让你自定义窗口......
  • WPF Yolov 体验
    参考Yolov中文文档yolov8_wpf_example(简单搜索到的一个示例程序)本文源码【下载】环境软件/系统版本说明WindowsWindows10专业版22H219045.4170MicrosoftVisualStudioMicrosoftVisualStudioCommunity2022(64位)-17.6.5Microsoft.NetSD......