moxie0/sslstrip

sslstrip outputs errors with python 2.7

Closed this issue · 3 comments

I'm using Fedora 16. Running sslstrip produces a lot of python errors.

I have these packages installed:

package: sslstrip.noarch 0.9-2.fc16
dependency: /usr/bin/python
provider: python.x86_64 2.7.3-4.fc16
provider: python.i686 2.7.3-4.fc16
dependency: python(abi) = 2.7
provider: python.x86_64 2.7.3-4.fc16
provider: python.i686 2.7.3-4.fc16
dependency: python-twisted-web
provider: python-twisted-web.x86_64 11.0.0-1.fc16

How I produced the bug:

[root@beastlinux ~]# iptables-restore < /etc/sysconfig/iptables # Configured the listening port to be open
[root@beastlinux ~]# iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 1337
[root@beastlinux ~]# sslstrip -l 1337

sslstrip 0.9 by Moxie Marlinspike running...
Unhandled Error
Traceback (most recent call last):
File "/usr/bin/sslstrip", line 105, in main
reactor.run()
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1162, in run
self.mainLoop()
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1174, in mainLoop
self.doIteration(t)
File "/usr/lib64/python2.7/site-packages/twisted/internet/selectreactor.py", line 140, in doSelect
_logrun(selectable, _drdw, selectable, method, dict)
--- ---
File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithLogger
return callWithContext({"system": lp}, func, _args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 69, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(_args,__kw)
File "/usr/lib64/python2.7/site-packages/twisted/internet/selectreactor.py", line 156, in _doReadOrWrite
self._disconnectSelectable(selectable, why, method=="doRead")
File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 253, in _disconnectSelectable
selectable.connectionLost(f)
File "/usr/lib64/python2.7/site-packages/twisted/internet/tcp.py", line 687, in connectionLost
Connection.connectionLost(self, reason)
File "/usr/lib64/python2.7/site-packages/twisted/internet/tcp.py", line 529, in connectionLost
protocol.connectionLost(reason)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 455, in connectionLost
self.handleResponseEnd()
File "/usr/lib/python2.7/site-packages/sslstrip/ServerConnection.py", line 119, in handleResponseEnd
HTTPClient.handleResponseEnd(self)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 466, in handleResponseEnd
self.handleResponse(b)
File "/usr/lib/python2.7/site-packages/sslstrip/ServerConnection.py", line 133, in handleResponse
self.client.write(data)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 898, in write
raise RuntimeError('Request.write called on a request after '
exceptions.RuntimeError: Request.write called on a request after Request.finish was called.
Unhandled Error
Traceback (most recent call last):
File "/usr/bin/sslstrip", line 105, in main
reactor.run()
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1162, in run
self.mainLoop()
File "/usr/lib64/python2.7/site-packages/twisted/internet/base.py", line 1174, in mainLoop
self.doIteration(t)
File "/usr/lib64/python2.7/site-packages/twisted/internet/selectreactor.py", line 140, in doSelect
_logrun(selectable, _drdw, selectable, method, dict)
--- ---
File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 84, in callWithLogger
return callWithContext({"system": lp}, func, *args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/log.py", line 69, in callWithContext
return context.call({ILogContext: newCtx}, func, _args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, _args, *_kw)
File "/usr/lib64/python2.7/site-packages/twisted/python/context.py", line 81, in callWithContext
return func(args,*kw)
File "/usr/lib64/python2.7/site-packages/twisted/internet/selectreactor.py", line 156, in _doReadOrWrite
self._disconnectSelectable(selectable, why, method=="doRead")
File "/usr/lib64/python2.7/site-packages/twisted/internet/posixbase.py", line 253, in _disconnectSelectable
selectable.connectionLost(f)
File "/usr/lib64/python2.7/site-packages/twisted/internet/tcp.py", line 687, in connectionLost
Connection.connectionLost(self, reason)
File "/usr/lib64/python2.7/site-packages/twisted/internet/tcp.py", line 529, in connectionLost
protocol.connectionLost(reason)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 455, in connectionLost
self.handleResponseEnd()
File "/usr/lib/python2.7/site-packages/sslstrip/ServerConnection.py", line 119, in handleResponseEnd
HTTPClient.handleResponseEnd(self)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 466, in handleResponseEnd
self.handleResponse(b)
File "/usr/lib/python2.7/site-packages/sslstrip/ServerConnection.py", line 133, in handleResponse
self.client.write(data)
File "/usr/lib64/python2.7/site-packages/twisted/web/http.py", line 898, in write
raise RuntimeError('Request.write called on a request after '
exceptions.RuntimeError: Request.write called on a request after Request.finish was called.

I'm having the same issue, on ubuntu. it updated to python2.7.3 and this started happening.

Hmm this might be the cause of my problem, should we downgrade to python2 in the meantime?
EDIT: Nevermind, my problem is still happening on python2.... SSLStrip doesnt seem to want to strip the ssl and it just gives me errors. :/

These are informational stack traces that are printed by Twisted (the async i/o framework we use). They don't indicate a problem, and can be safely ignored.