Compare commits

...
11 Commits
Author SHA1 Message Date
Mathias Svensson 52b8f4fa29 Release 3.7.0 2017-06-19 22:19:31 +02:00
Zach Riggle 4552624883 Merge branch 'stable' into beta 2017-06-09 17:30:50 -05:00
Kenny K b171f1e2e3 pwn template start() doesn't return io object if only local. (#975) 2017-06-09 17:29:05 -05:00
pedroysb 85523e6d8a Fixing error when setuid=True (#992)
Importing stat module to fix some errors on lines 361 to 364. The errors are caused when using the parameter setuid=True.
2017-06-09 12:41:38 -05:00
Zach Riggle 8b761fc0e3 Fix test which relies on w3challs (#993) 2017-06-09 12:23:00 -05:00
Steven Van Acker 8953dc3d5c bandit.labs.overthewire.org SSH is now on port 2220 (#984) 2017-05-25 14:32:05 -05:00
Mathias Svensson d586d6f660 Merge branch 'stable' into beta 2017-05-12 10:06:53 +02:00
Mathias Svensson 6709a4f747 Release 3.6.1 2017-05-12 10:01:41 +02:00
Mathias Svensson 1a4a1e11ba Follow-up to #980 making it actually work 2017-05-12 09:57:34 +02:00
Zach Riggle f82c0aa3a2 Add mako files to MANIFEST (#980) 2017-05-10 19:59:41 -05:00
Zach Riggle 646ca1eb26 Attempt at fixing #974; I don't have a keyboard with a keypad right now, so can't test. (#979) 2017-05-10 17:00:33 -05:00
12 changed files with 67 additions and 23 deletions

No files matched your search

+31 -7
View File
@@ -9,9 +9,11 @@ The table below shows which release corresponds to each branch, and what date th
| Version | Branch | Release Date |
| ---------------- | -------- | ---------------------- |
| [3.8.0](#380) | `dev` | Jul 28, 2017 (planned)
| [3.7.0](#370) | `beta` | Jun 17, 2017 (planned)
| [3.6.0](#360) | `stable` | May 8, 2017
| [3.9.0](#390) | `dev` | Sep 8, 2017 (planned)
| [3.8.0](#380) | `beta` | Jul 28, 2017 (planned)
| [3.7.0](#370) | `stable` | Jun 19, 2017
| [3.6.1](#361) | | May 12, 2017
| [3.6.0](#360) | | May 8, 2017
| [3.5.1](#351) | | Apr 15, 2017
| [3.5.0](#350) | | Mar 26, 2017
| [3.4.1](#341) | | Feb 17, 2017
@@ -32,17 +34,39 @@ The table below shows which release corresponds to each branch, and what date th
| [3.0.0](#300) | | Aug 20, 2016
| [2.2.0](#220) | | Jan 5, 2015
## 3.9.0
To be released on Sep 8, 2017.
## 3.8.0
To be on Jul 28, 2017.
To be released on Jul 28, 2017.
- [#981][981] Fixed RELRO detection logic
- [#986][986] Enhancements to DynELF for controlling usage of LibcDB
[981]: https://github.com/Gallopsled/pwntools/issues/981
[986]: https://github.com/Gallopsled/pwntools/issues/986
## 3.7.0
To be on Jun 17, 2017.
- [#933][933] DynELF works better with different base addresses
- [#952][952] A few small fixes were made to `pwn template`, and the CRC database was updated.
- [5c72d62c][5c72d62c] Updated the CRC database
As of May 4, 2017, there have been no new features or major notable changes since 3.6.0.
[933]: https://github.com/Gallopsled/pwntools/issues/933
[952]: https://github.com/Gallopsled/pwntools/issues/952
[5c72d62c]: https://github.com/Gallopsled/pwntools/commit/5c72d62c
A few typos were fixed, a few Linux kernel configuration flags were added, and a few error messages were enhanced.
## 3.6.1
- [#979][979]+[1a4a1e1][1a4a1e1] Fixed [#974][974], a bug related to the terminal handling and numlock.
- [#980][980] Fixed the `pwn template` command.
[974]: https://github.com/Gallopsled/pwntools/issues/974
[979]: https://github.com/Gallopsled/pwntools/pull/979
[980]: https://github.com/Gallopsled/pwntools/pull/980
[1a4a1e1]: https://github.com/Gallopsled/pwntools/commit/1a4a1e1
## 3.6.0
+1 -1
View File
@@ -2,6 +2,6 @@ graft examples
graft extra
include *.md *.txt *.sh *.yml MANIFEST.in
recursive-include docs *.rst *.png Makefile *.py *.txt
recursive-include pwnlib *.py *.asm *.rst *.md *.txt *.sh __doc__
recursive-include pwnlib *.py *.asm *.rst *.md *.txt *.sh __doc__ *.mako
recursive-include pwn *.py *.asm *.rst *.md *.txt *.sh
recursive-exclude *.pyc
+1 -1
View File
@@ -2,7 +2,7 @@
![pwntools logo](https://github.com/Gallopsled/pwntools/blob/stable/docs/source/logo.png?raw=true)
[![Docs](https://readthedocs.org/projects/pwntools/badge/?version=stable)](https://docs.pwntools.com/)
[![PyPI](https://img.shields.io/badge/pypi-v3.6.0-green.svg?style=flat)](https://pypi.python.org/pypi/pwntools/)
[![PyPI](https://img.shields.io/badge/pypi-v3.7.0-green.svg?style=flat)](https://pypi.python.org/pypi/pwntools/)
[![Travis](https://travis-ci.org/Gallopsled/pwntools.svg)](https://travis-ci.org/Gallopsled/pwntools)
[![Coveralls](https://img.shields.io/coveralls/Gallopsled/pwntools/dev.svg)](https://coveralls.io/github/Gallopsled/pwntools?branch=dev)
[![Twitter](https://img.shields.io/badge/twitter-pwntools-4099FF.svg?style=flat)](https://twitter.com/pwntools)
+1 -1
View File
@@ -72,7 +72,7 @@ a ``process`` tube.
::
>>> shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0')
>>> shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
>>> shell['whoami']
'bandit0'
>>> shell.download_file('/etc/motd')
+1 -1
View File
@@ -4,7 +4,7 @@ Example showing how to use the ssh class.
from pwn import *
shell = ssh(host='bandit.labs.overthewire.org',user='bandit0',password='bandit0')
shell = ssh(host='bandit.labs.overthewire.org',user='bandit0',password='bandit0', port=2220)
# Show basic command syntax
log.info("username: %s" % shell.whoami())
+2 -2
View File
@@ -117,9 +117,9 @@ start = local if args.LOCAL else remote
%else:
def start(argv=[], *a, **kw):
if args.GDB:
io = gdb.debug([${binary_repr}] + argv, gdbscript=gdbscript, *a, **kw)
return gdb.debug([${binary_repr}] + argv, gdbscript=gdbscript, *a, **kw)
else:
io = process([${binary_repr}] + argv, *a, **kw)
return process([${binary_repr}] + argv, *a, **kw)
%endif
#===========================================================
+2 -2
View File
@@ -524,7 +524,7 @@ def attach(target, gdbscript = None, exe = None, need_ptrace_scope = True, gdb_a
.. code-block:: python
# Connect to the SSH server
shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0')
shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
# Start a process on the server
cat = shell.process(['cat'])
@@ -763,7 +763,7 @@ def find_module_addresses(binary, ssh=None, ulimit=False):
Example:
>>> with context.local(log_level=9999): # doctest: +SKIP
... shell = ssh(host='bandit.labs.overthewire.org',user='bandit0',password='bandit0')
... shell = ssh(host='bandit.labs.overthewire.org',user='bandit0',password='bandit0', port=2220)
... bash_libs = gdb.find_module_addresses('/bin/bash', shell)
>>> os.path.basename(bash_libs[0].path) # doctest: +SKIP
'libc.so.6'
+23 -4
View File
@@ -11,7 +11,9 @@ from pwnlib.term import termcap
__all__ = ['getch', 'getraw', 'get', 'unget']
# When set, convert keypad codes into regular key presses, e.g. "+" instead of
# `<kp plus>`
FLAG_CONVERTKP = True
try: _fd = sys.stdin.fileno()
except Exception: _fd = file('/dev/null', 'r').fileno()
@@ -310,7 +312,24 @@ _csi_ss3s = {
}
_csi_ss3kp = {
'M': (kc.TYPE_KEYSYM, kc.KEY_KPENTER , None),
'X': (kc.TYPE_KEYSYM, kc.KEY_KPEQUALS, '='),
'j': (kc.TYPE_KEYSYM, kc.KEY_KPMULT , '*'),
'k': (kc.TYPE_KEYSYM, kc.KEY_KPPLUS , '+'),
'l': (kc.TYPE_KEYSYM, kc.KEY_KPCOMMA , ','),
'm': (kc.TYPE_KEYSYM, kc.KEY_KPMINUS , '-'),
'n': (kc.TYPE_KEYSYM, kc.KEY_KPPERIOD, '.'),
'o': (kc.TYPE_KEYSYM, kc.KEY_KPDIV , '/'),
'p': (kc.TYPE_KEYSYM, kc.KEY_KP0 , '0'),
'q': (kc.TYPE_KEYSYM, kc.KEY_KP1 , '1'),
'r': (kc.TYPE_KEYSYM, kc.KEY_KP2 , '2'),
's': (kc.TYPE_KEYSYM, kc.KEY_KP3 , '3'),
't': (kc.TYPE_KEYSYM, kc.KEY_KP4 , '4'),
'u': (kc.TYPE_KEYSYM, kc.KEY_KP5 , '5'),
'v': (kc.TYPE_KEYSYM, kc.KEY_KP6 , '6'),
'w': (kc.TYPE_KEYSYM, kc.KEY_KP7 , '7'),
'x': (kc.TYPE_KEYSYM, kc.KEY_KP8 , '8'),
'y': (kc.TYPE_KEYSYM, kc.KEY_KP9 , '9'),
}
_csi_funcs = {
@@ -373,14 +392,14 @@ def _peekkey_ss3(offset):
cmd = _cbuf[offset]
if cmd < 0x40 or cmd >= 0x80:
return
_cbuf = _cbuf[numb:] # XXX: numb is not defined
_cbuf = _cbuf[offset:]
if chr(cmd) in _csi_ss3s:
return Key(*_csi_ss3s[chr(cmd)])
if chr(cmd) in _csi_ss3kp:
t, c, a = _csi_ss3kp[chr(cmd)]
if CONVERTKP and a: # XXX: CONVERTKP is not defined
if FLAG_CONVERTKP and a:
return Key(kc.TYPE_UNICODE, a)
else:
return Key(t, c)
+1
View File
@@ -11,6 +11,7 @@ import pty
import resource
import select
import signal
import stat
import subprocess
import time
import tty
+1 -1
View File
@@ -1908,7 +1908,7 @@ from ctypes import *; libc = CDLL('libc.so.6'); print(libc.getenv(%r))
Example:
>>> s = ssh("esoteric3", "wargame.w3challs.com", 20202, "esoteric3")
>>> s = ssh("travis", "example.pwnme")
>>> s.aslr
True
"""
+1 -1
View File
@@ -1 +1 @@
__version__ = '3.7.0beta0'
__version__ = '3.7.0'
+2 -2
View File
@@ -86,7 +86,7 @@ except Exception as e:
setup(
name = 'pwntools',
packages = find_packages(),
version = '3.7.0beta0',
version = '3.7.0',
data_files = [('',
glob.glob('*.md') + glob.glob('*.txt')),
],
@@ -97,7 +97,7 @@ setup(
'data/binutils/*',
'data/includes/*.h',
'data/includes/*/*.h',
'data/templates/pwnup.mako',
'data/templates/*.mako',
] + templates,
},
entry_points = {'console_scripts': console_scripts},