buuctf-pwn picoctf_2018_shellcode(ret2shellcode)题解(学习过程持续更新)

本人也是在自学过程,主要目的也是记录学习过程,有些地方做的不太好,都是按照自己理解进行讲解的(不专业),欢迎大家指出问题

此处我将文件命名为pwn

checksec pwn 查看一下保护机制

可以看到这是一个32-bit的文件,什么保护也没看

将文件拖入ida

lea eax,ebp+var_A0 ; call vuln 将ebp+var_A0的值给eax,然后的调用vuln函数,eax作为vuln的参数;

lea eax,ebp+var_A0 ; call eax 执行ebp+var_A0地址里的内容

我们将shellcode输入到a1,后续的call eax执行a1里的内容,也就是执行shellcode

返回虚拟机

nano exp.py

保存退出

python3 exp.py

cat flag

此题完

相关推荐
kakakahahahaha7 分钟前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
Seraphina3640 分钟前
SQLI-labs(一)黑盒全流程
sql·安全·web安全
青柠之夏cc1 小时前
AI与教育:个性化学习助手让“因材施教“成为现实,但代价是隐私?
人工智能·学习
雷焰财经1 小时前
AI开始学会“越界”:当智能体拥有行动能力,人工智能的竞争已经进入安全深水区
人工智能·安全
Navigator_Z2 小时前
LeetCode //C - 1278. Palindrome Partitioning III
c语言·算法·leetcode
for_ever_love__2 小时前
机器学习入门——手写线性回归与梯度下降
人工智能·python·学习·机器学习·线性回归
在猴站学算法2 小时前
(SQL注入学习)无回显的报错注入(Error-Based)
学习·网络安全·sql注入·ctf竞赛
殷色玫瑰3 小时前
C/C++ 内存管理详解:从内存分布到 new/delete 底层原理
java·linux·c语言·c++
C++ 老炮儿的技术栈3 小时前
main函数之后的调用
c语言·c++·人工智能·qt·mfc·c
知识分享小能手4 小时前
C++ 学习教程,从入门到精通,C++ 友元、异常和其他特性 — 详细知识点(15)
开发语言·c++·学习