猪八戒设计网站官网,seo软件下载,企业注册资金100万变更10万,wordpress宾馆模板第一道异构PWN的题目#xff0c;没做出来。。。。但是是因为工具没有 QAQ 目录
前言
一、食用工具
Ghidra
安装使用
二、解题思路
三、exp
总结 前言
我们context.arch经常是i386和amd64#xff0c;突然遇到RISC-V架构的题目#xff0c;一是本地运行不了#xff08… 第一道异构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文件 3. 创建project后导入要反汇编的文件即可 二、解题思路
这个过程就比较熟悉了让我们来读读反汇编后的伪c代码 第一个输入读8字节第二个读288字节似乎都没有栈溢出问题进入FUN_12345786看看 这里有将传入检查的字符串赋值给另一串。源字符串最长为288目的字符串最长为248也许可以溢出然而中间检查了检查字符串函数参数的长度8这该怎么办呢
DAT_12347070 (byte)sVar1
这里的sVar1是参数字符串的长度被强制类型转换为byte而byte是有符号型的可以表示-128—127 的数。这一点可以和char类比都是一个字节但是是有符号的。
如果我们让读入字符串的长度为 256 会发生什么——发生截断DAT_12347070 0
如果我们让读入字符串的长度为2568会发生什么——发生截断DAT_12347070 8
我们惊喜的发现——这两种情况都绕过了”too long检查。
那让我们再精打细算一下——248字符数组长度8’所谓的ebp‘长度8retaddr长度2568
没错这里的栈溢出点让我们找到了并且我们可以控制一次跳转地址的自定义——程序中有一个后门函数——刚好跳到这里 过滤了sh和flag’那我们就 cat f* 绕过即可
三、exp
from pwn import *
from pwn import u64,u32,p64,p32ioremote(...)io.sendafter(bname:\n,ba*8)
payloadb/bin/sh;*(0x100//8)p64(0x123456ee)
io.sendafter(bwords\n,payload)
io.sendline(bcat f*)
io.interactive() 总结
第一道异构PWN
羊城杯对于大佬来说“还挺简单的”但是对于我们萌新要哭了萌新了快一年了进度好慢
感谢亢学长的帮助