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

2024网络与信息安全管理员职工职业技能竞赛re0220164094

 main部分,就是要逆这部分shellcode,程序把data段里面的东西复制到bss段去执行,期间包含解码操作。

  v19 = 0;puts("Please input your flag: ");__isoc99_scanf("%s", s);if ( strlen(s) != 38 ){puts("Wrong length!");exit(0);}for ( i = 0; i <= 37; ++i ){exec = shellcode;*(&loc_404144 + 4) = MEMORY[0x404068];loc_404150 = loc_404070;*(&MEMORY[0x404154] + 4) = MEMORY[0x404078];MEMORY[0x404160] = loc_404080;MEMORY[0x404168] = unk_404088;MEMORY[0x404170] = unk_404090;MEMORY[0x404178] = loc_404098;MEMORY[0x404180] = loc_4040A0;MEMORY[0x404188] = MEMORY[0x4040A8];loc_404190 = loc_4040B0;loc_404198 = loc_4040B8;loc_4041A0 = loc_4040C0;MEMORY[0x4041A8] = MEMORY[0x4040C8];v19 = (exec)(s[i]);*(s1 + i) = v19;}if ( !memcmp(s1, &enc, 0x26uLL) )puts("Congratulations~");elseputs("Sorry try again.");return 0;
}

 

这里貌似就是smc(self-Modifying Code)的部分,并不是生成flag的代码

 

 这部分才是真正生成flag的代码

字节高四位和第四位互换,然后-3,然后xor 0x1c。

149 push    r15
.bss:000000000040414B push    r14
.bss:000000000040414D mov     r15, rdi
.bss:000000000040414D
.bss:0000000000404150
.bss:0000000000404150 loc_404150:                             ; DATA XREF: main+181↑w
.bss:0000000000404150 and     r15, 0FFh
.bss:0000000000404157
.bss:0000000000404157 loc_404157:                             ; DATA XREF: main+188↑w
.bss:0000000000404157 and     r15, 0Fh
.bss:000000000040415B mov     r14, rdi
.bss:000000000040415E
.bss:000000000040415E loc_40415E:                             ; DATA XREF: main+19D↑w
.bss:000000000040415E and     r14, 0FFh
.bss:0000000000404165
.bss:0000000000404165 loc_404165:                             ; DATA XREF: main+1A4↑w
.bss:0000000000404165 sar     r14, 4
.bss:0000000000404169 and     r14, 0Fh
.bss:000000000040416D
.bss:000000000040416D loc_40416D:                             ; DATA XREF: main+1B9↑w
.bss:000000000040416D shl     r15, 4
.bss:0000000000404171 or      r14, r15
.bss:0000000000404174 mov     rax, r14
.bss:0000000000404177
.bss:0000000000404177 loc_404177:                             ; DATA XREF: main+1C0↑w
.bss:0000000000404177 dec     al
.bss:0000000000404179 dec     al
.bss:000000000040417B dec     al
.bss:000000000040417D xor     al, 1Ch
.bss:000000000040417F
.bss:000000000040417F loc_40417F:                             ; DATA XREF: main+1D5↑w
.bss:000000000040417F pop     r14
.bss:0000000000404181 pop     r15
.bss:0000000000404183 jmp     short loc_4041A5

enc=[0x7F, 0xDF, 0x0F, 0x6F, 0xA8, 0x7F, 0x7C, 0x3C, 0x0C, 0x4C, 0x5C, 0x9C, 0x4F, 0x3F, 0x4F, 0x3C, 0x0C, 0x0F, 0x4C, 0x3C, 0x5F, 0x9C, 0x4C, 0x9C, 0x7C, 0x9C, 0x0C, 0x5F, 0x2C, 0x2F, 0x4F, 0x5C, 0x5C, 0x8C, 0x2F, 0x9C, 0x5F, 0xC8, 0x81]
print(len(enc))
# offset=0x65
# for index in range(offset,offset+1):
l=''
for i in range(len(enc)):temp=(enc[i]^0x1c)+3l+=chr(((temp<<4|temp>>4)&0xff))# if 'flag' in l or '}' in l[-1]:
print(l,l.encode(),len(l))
# flag=b'flag'
# for i in range(4):
#     print((flag[i]^0x65)%enc[i])
#flag{f621548ebe21a52d858681d3ce449c8d}

相关文章:

2024网络与信息安全管理员职工职业技能竞赛re0220164094

main部分&#xff0c;就是要逆这部分shellcode&#xff0c;程序把data段里面的东西复制到bss段去执行&#xff0c;期间包含解码操作。 v19 0;puts("Please input your flag: ");__isoc99_scanf("%s", s);if ( strlen(s) ! 38 ){puts("Wrong length!&…...

Elasticsearch--easy-ES框架使用,轻松操作查询Elasticsearch,简化开发

Easy-Es&#xff08;简称EE&#xff09;是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架&#xff0c;在 RestHighLevelClient 的基础上,只做增强不做改变&#xff0c;为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可…...

【教程】如何实现WordPress网站降级(用于解决插件和主题问题)

在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。 如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于…...

思维导图-vb.net开发带进度条的复制文件夹功能c#复制文件夹

你们谁写代码会用流程图来做计划&#xff0c;或者写项目总结报告&#xff1f; .net带进度条复制文件夹 方案 列出所有子文件夹&#xff0c;再创建&#xff0c;复制文件 大文件可以单独做进度条 缺点&#xff1a;设计会更复杂 直接…...

Linux文本处理三剑客之awk命令

官方文档&#xff1a;https://www.gnu.org/software/gawk/manual/gawk.html 什么是awk&#xff1f; Awk是一种文本处理工具&#xff0c;它的名字是由其三位创始人&#xff08;Aho、Weinberger和Kernighan&#xff09;的姓氏首字母组成的。Awk的设计初衷是用于处理结构化文本数…...

公差和配合

配合的选择&#xff1a; 配合特性以及基本偏差的应用&#xff1a; 常用优先配合特性及选用举例 为什么一般情况下选用基孔制而不用基轴制&#xff1a; 优先采用基孔制的原因主要包括工艺性、经济性和标准化&#xff1a; 工艺性。加工孔比加工轴更难&#xff0c;因为孔…...

AI大模型应用开发实践:5.快速入门 Assistants API

快速入门 Assistants API Assistants API 允许您在自己的应用程序中构建人工智能助手。一个助手有其指令,并可以利用模型、工具和知识来回应用户查询。 Assistants API 目前支持三种类型的工具: 代码解释器 Code Interpreter检索 Retrieval函数调用 Function calling使用 P…...

stack和queue的模拟实现

文章目录 如何实现&#xff1f;实现stack实现queue总结 如何实现&#xff1f; 首先我们看看官网上的stack&#xff0c;官网上的stack是用deque作为模版的缺省值去实现的&#xff0c;deque是什么&#xff1f; deque其实就是双端队列&#xff0c;双端队列&#xff0c;顾名思义&am…...

你的手机是如何控制你的手表之广播篇

前言 要让手机能够控制手表&#xff0c;第一步当然要让手机能够“看见”手表&#xff0c;人类作为上帝视角&#xff0c;我们是能够通过眼睛直接看见手机和手表的&#xff0c;但要让手机“看见”手表&#xff0c;就需要一端把自己的信息通过电磁波的形式发往空中&#xff0c;另…...

深入理解并发之LongAdder、DoubleAdder的实现原理

深入理解LongAdder、DoubleAdder的实现原理 本文主要通过LongAdder和DoubleAdder的源码&#xff0c;讲述一下其实现原理。通过LongAdder和DoubleAdder的源码可知。两者都是继承了Striped64的类。下面我们将通过源码的形式讲述一下这三个类都做了哪些事情。 1: Striped64 ​ …...

virtuoso原理图无法编辑

(SCH-1217): Could not open "XX schematic" for edit. (because it is locked by user XX on XX) Would you like to open it for read? 解决方法&#xff1a; 到工程目录的schematic文件夹下找到sch.oa.cdslck.RHEL30.XXX-eda.21423和sch.oa.cdslck全部删掉即可正…...

Kotlin协程中的作用域 `GlobalScope`、`lifecycleScope` 和 `viewModelScope`

Kotlin协程中的作用域 Kotlin协程提供了多种作用域来管理协程的生命周期&#xff0c;其中最常见的是 GlobalScope、lifecycleScope 和 viewModelScope。 1. GlobalScope GlobalScope 是一个全局作用域&#xff0c;不受任何其他生命周期的限制。这意味着在 GlobalScope 中启动…...

leetcode739 每日温度

题目 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 输入: tempe…...

【软件测试】自动化测试如何管理测试数据

前言 在之前的自动化测试框架相关文章中&#xff0c;无论是接口自动化还是UI自动化&#xff0c;都谈及data模块和config模块&#xff0c;也就是测试数据和配置文件。 随着自动化用例的不断增加&#xff0c;需要维护的测试数据也会越来越多&#xff0c;维护成本越来越高&#…...

Llama 3-V: 比GPT4-V小100倍的SOTA

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在某个环节出现卡点&#xff0c;可以回到大模型必备腔调重新阅读。而最新科技&#xff08;Mamba&#xff0c;xLSTM,KAN&#xff09;则提供了大模…...

Anaconda安装配置

Anaconda下载&#xff1a; 网盘下载&#xff1a;https://pan.quark.cn/s/c5663477ccef 配置环境变量&#xff1a; 以管理员身份运行命令提示符 setx /M PATH "%PATH%;C:\ProgramData\anaconda3;C:\ProgramData\anaconda3\Scripts;C:\ProgramData\anaconda3\Library\bi…...

全面理解渗透测试

揭秘网络安全的秘密武器&#xff1a;全面理解渗透测试 在数字化时代&#xff0c;网络安全已成为人们关注的焦点。网络攻击和数据泄露事件频发&#xff0c;给个人、企业和国家带来了巨大的损失。为了应对这一挑战&#xff0c;渗透测试作为一种重要的网络安全评估手段&#xff0…...

「网络编程」基于 UDP 协议实现回显服务器

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;计网 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 实现回显服务器 &#x1f349;socket api&#x1f349;回显服务器&#x1f34c;实现&#x1f95d;服务器&#x1f95d;客户端 &#x1f3…...

云数融合与大数据技术在日常生活中的创新应用探索

前言 移动云模型服务产品在中国移动旗下主要包括云计算、大数据、人工智能等服务&#xff0c;它依托广泛的算力资源(4N31X)、丰富的网络接入资源和高品质云专网&#xff0c;实现算网端资源一站式开通&#xff0c;构建企业级一体化解决方案。 文章目录 前言云计算的日常应用智…...

ETCD 备份与还原

安装etcdctl 准备看下etcd如何命令行操作&#xff0c;才发现&#xff0c;主机上&#xff0c;只用kubeadm拉起了etcd&#xff0c;但没有etcdctl命令。 # sudo docker ps -a | awk /etcd-master/{print $1} c4e3a57f05d7 26a11608b270 836dabc8e254 找到正在运行的etcd&#xf…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?

Pod IP 的本质与特性 Pod IP 的定位 纯端点地址&#xff1a;Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址&#xff08;如 10.244.1.2&#xff09;无特殊名称&#xff1a;在 Kubernetes 中&#xff0c;它通常被称为 “Pod IP” 或 “容器 IP”生命周期&#xff1a;与 Pod …...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...