对pwntools生成的exp模版做了一些修改
安装pwntools后,有一些命令行的工具可以用
~ pwn template -h
usage: pwn template [-h] [--host HOST] [--port PORT] [--user USER]
[--pass PASSWORD] [--path PATH]
[exe] positional arguments:
exe Target binary optional arguments:
-h, --help show this help message and exit
--host HOST Remote host / SSH server
--port PORT Remote port / SSH port
--user USER SSH Username
--pass PASSWORD SSH Password
--path PATH Remote path of file on SSH server
但是他生成的模版有些问题,直接返回了gdb.debug启动的程序,在某些情况下gdb进程结束了会得不到正常的响应
~ pwn template
#!/usr/bin/env python2
# -*- coding: utf- -*-
from pwn import * # Set up pwntools for the correct architecture
context.update(arch='i386')
exe = './path/to/binary' # Many built-in settings can be controlled on the command-line and show up
# in "args". For example, to dump all data sent/received, and disable ASLR
# for all created processes...
# ./exploit.py DEBUG NOASLR # Specify your GDB script here for debugging
# GDB will be launched if the exploit is run via e.g.
# ./exploit.py GDB
gdbscript = '''
continue
'''.format(**locals()) def start(argv=[], *a, **kw):
if args.GDB:
return gdb.debug([exe] + argv, gdbscript=gdbscript, *a, **kw)
else:
return process([exe] + argv, *a, **kw) #===========================================================
# EXPLOIT GOES HERE
#===========================================================
io = start() # shellcode = asm(shellcraft.sh())
# payload = fit({
# : 0xdeadbeef,
# 'iaaa': [, , 'Hello', ]
# }, length=)
# io.send(payload)
# flag = io.recv(...)
# log.success(flag) io.interactive()
于是做了一些修改
# -*- coding: utf- -*-
from pwn import *
exe = context.binary = ELF('./level32-2')
host = '127.0.0.1'
port =
gdbscript = '''
b main
'''
if args.I:
context.log_level='debug'
def local():
return process(exe.path)
def remote():
return connect(host, port)
start = remote if args.R else local
#=========================================================== #===========================================================
io = start()
if args.D:
gdb.attach(io, gdbscript)
io.interactive()
对pwntools生成的exp模版做了一些修改的更多相关文章
- 让VC2012生成的程序支持XP系统(修改mkspecs\win32-msvc2012\qmake.conf,QT的DLL都是支持XP的,只与EXE有关)good
		
如果用的编译器是VC2012以上,那么默认生成出的程序是不能运行在XP系统上的.所以需要修改链接参数 我们要做的是修改qmake.conf文件中的参数,文件路径根据开发环境不同而不同下面以5.1.1 ...
 - 做一个自动修改本机IP和mac的bat文件
		
原文:做一个自动修改本机IP和mac的bat文件 1.ip bat修改理论探讨 前两天我突然萌生了一个念头:能不能做一个小程序来实现自动配置或修改IP和mac,达到一键搞定的目的,这样尤其适合那些带着 ...
 - PowerDesigner 生成C#实体模版代码
		
操作步骤见: https://blog.csdn.net/da454122373/article/details/54346217 最后的template 模版代码如下: .if (%isValid ...
 - Windows使用Node.js自动生成Vue.js模版环境部署步骤-----记录
		
node.js官网下载并安装node 进入node文档目录下,运行cmd 输入 node -v 查看node版本 出现表示安装完成 输入 npm -v 显示npm版本信息 安装cnpm 输入 npm ...
 - Kubernetes 1.8.x 全手动安装教程----转自Kubernetes中文社区(部分内容根据实验环境做了些修改,特此感谢Kubernetes中文社区)
		
Kubernetes 提供了许多云端平台与操作系统的安装方式,本章将以全手动安装方式来部署,主要是学习与了解 Kubernetes 创建流程.若想要了解更多平台的部署可以参考 Picking the ...
 - EF6.0 下sql语句自动生成的参数类型decimal(18,2)修改
		
很多时候我们需要对插入到数据库的数据的精度做一个控制,例如sql server下保留6位小数使用numeric(10,6) .而到c#里对应的数据类型就是decimal ,但是使用EF6.0的crea ...
 - smarty模板调数据库并做添加删除修改和分页
		
smarty模板只要就是实现分离效果所以每个功能都需要两个页面一个是HTML 和 PHP 两部分组成 使用smarty模板要在main文件夹下面创建login.php文本,要用smarty模板首先 ...
 - 用smarty模板做数据实现修改、分页等功能
		
先来看怎么把数据库的列表全都显示出来 还是要先建一个php文件,还有html文件,都存到相应的目录下 php文件中 <?php include("../init.inc.php&quo ...
 - VS2017+WIN10自动生成类、接口的说明(修改类模板的方法)
		
微软发布VS2017的时候,我第一时间离线一份专业版,安装到了自己的电脑上,开始体验,但是问题来了,在开发中建立类和接口的时候,说 明注释总要自己写一次,烦!~~于是还是像以前一样改IDE默认的类和接 ...
 
随机推荐
- 安装vant2.2.7版本报错These dependencies were not found: vant/es/goods-action-big-btn in ./src/config/vant.config.js......
			
一.问题 前天,在使用vant的checkbox复选框的时候,注意到新增加一个全选功能,通过 ref 可以获取到 CheckboxGroup 实例并调用实例方法.于是我就想用这个,但是按照上面的示例写 ...
 - uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据
			
h5端的uni-app项目 需求:uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据 百度的方法如下: uni.switchTab({ url: '/p ...
 - pod setup 不顺利
			
JerryMacBook:~ jerry$ pod setup Setting up CocoaPods master repo $ /usr/bin/git clone https://github ...
 - lua多线程解决方案
			
直观的讲:lua并不支持多线程,lua语言本身具有携程功能,但携程仅仅是一种中继器. lua多线程的目的:有并发需求时,共享一些数据. 例如使用lua写一个并发服务器.用户登陆之后,用户数据储存在lu ...
 - Powershell寻找域管在线服务器
			
记录线下Powershell在域环境中对于服务器的信息收集 Powershell的脚本有很多,在内网渗透测试中不仅能扫,能爆,能转发,还能做更多的事情.我们常用的脚本有Powersploit,Empi ...
 - [BZOJ1694/1742/3074]The Cow Run 三倍经验
			
Description John养了一只叫Joseph的奶牛.一次她去放牛,来到一个非常长的一片地,上面有N块地方长了茂盛的草.我们可 以认为草地是一个数轴上的一些点.Joseph看到这些草非常兴奋, ...
 - SDRAM
			
环境:STM32F769discovery板 SDRAM芯片:用的MT48LC4M32B2B5-6A 16Mbyte (sdram和flash一般标的容量都是bit) 硬件图: 第一步 配置FM ...
 - Libevent::evhttp服务器
			
#include <cstdio> #include <stdio.h> #include <stdlib.h> #include <string.h> ...
 - CentOS6.5下搭建FTP服务
			
一.FTP协议 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FT ...
 - MongoDB系列---入门安装操作
			
MongoDB 学习大纲: 1.MongoDB简介与其它数据库对比以及数据类型 2.MongoDB安装 3.MongoDB简单操作 环境要求: Linux 一.MongoDB简介 1 什么是Mongo ...