快捷搜索:  汽车  科技

ss ip代理:妖娆的代理工具shadowProxy

ss ip代理:妖娆的代理工具shadowProxyhttp.server相关的代码解读可参考我前一篇文章 Python源码分析之从SocketServer到SimpleHTTPServer主要使用python内建的http.server和http.client库实现。GitHub.com/odboy/shado…功能实现代理功能

前言

在渗透测试过程中,往往会遇到特别“小气”的目标,稍微碰一下就封IP。这种情况下,我们很自然的想到通过网上大量的免费代理进行IP隐匿。

那么问题来了,难道拿到哪些个代理,每用一次手动换下一个代理? 这太像火铳的工作方式了,想想就心累了。

so,小弟就来造一台机关枪,突突突突突… 想想就挺带感。

GitHub.com/odboy/shado…

功能实现

ss ip代理:妖娆的代理工具shadowProxy(1)

代理功能

主要使用python内建的http.server和http.client库实现。

http.server相关的代码解读可参考我前一篇文章 Python源码分析之从SocketServer到SimpleHTTPServer

time.sleep(2)

except KeyboardInterrupt:

print('\r***********************\n\t用户中断\t\n***********************')

break

except Exception as e:

msg = "第 %d 次请求 \t%s" % (i e )

ss ip代理:妖娆的代理工具shadowProxy(2)

time.sleep(2)

finally:

print(msg)

效果展示

动图展示 : test_shadowProxy.gif

枪是好枪,但还是存在一些问题的。

缺弹少药 - 通过工具爬取到的代理很多重复,很多不可用,只有百八十个。

弹药质量差 - 获取到的代理,很多无法传输大数据包(中断),小包也不稳定。

机枪卡壳 - 由于上述问题,所以工具容错能力/重试功能有待提升。(后续考虑提升的点)

PS:后续代码完善后,可以考虑开源发布。

2018-01-10 Update

目前代理加入了自动重试功能,使其能更稳定的进行查询。

同时,找了个还算不错的proxylist。 github.com/fate0/proxy…

目前便可以比较顺畅的使用了:

开源发布

github.com/odboy/shado…

生成&安装证书

生成证书

shadowProxy git:(master) ✗ ll

total 112

-rw-r--r-- 1 bingo staff 573B Jan 10 16:42 PCtest.py

-rw-r--r-- 1 bingo staff 5.9K Jan 10 16:42 ProxyCoordinator.py

-rw-r--r-- 1 bingo staff 14B Jan 10 16:42 README.md

drwxr-xr-x 3 bingo staff 96B Jan 10 16:42 __pycache__

-rw-r--r-- 1 bingo staff 100B Jan 10 16:42 proxylist-4.txt

-rw-r--r-- 1 bingo staff 19K Jan 10 16:42 proxylist.txt

-rwxr-xr-x 1 bingo staff 302B Jan 10 16:42 setup_https_intercept.sh

-rw-r--r-- 1 bingo staff 11K Jan 10 16:42 shadowProxy.py

shadowProxy git:(master) ✗ ./setup_https_intercept.sh # 直接运行脚本,生成根证书

Generating RSA private key 2048 bit long modulus

........................................................................................................................................

..................................................................

e is 65537 (0x10001)

Generating RSA private key 2048 bit long modulus

.....................................................................................................................................

...................

e is 65537 (0x10001)

安装证书

在浏览器设置代理,指向 http://127.0.0.1:8088 然后访问 shadow.proxy/ 即可弹出证书安装。(…)

ss ip代理:妖娆的代理工具shadowProxy(3)

安装后,可以访问https网站。

使用测试

➜ shadowProxy git:(master) ✗ python shadowProxy.py -h

.--.

|o_o | ------------------

|:_/ | < Author: Mr.Bingo >

// \ \ ------------------

(| | ) < oddboy.cn >

/'\_ _/`\ ------------------

\___)=(___/

usage: shadowProxy.py [-h] [--bind BIND] [--port PORT]

[--log-level {DEBUG INFO WARNING ERROR CRITICAL}]

[--proxyListFile PROXYLISTFILE]

optional arguments:

-h --help show this help message and exit

--bind BIND Default: 0.0.0.0

--port PORT Default: 8088

--log-level {DEBUG INFO WARNING ERROR CRITICAL}

Default: WARNING

--proxyListFile PROXYLISTFILE

代理列表文件

➜ shadowProxy git:(master) ✗ python shadowProxy.py

.--.

|o_o | ------------------

|:_/ | < Author: Mr.Bingo >

// \ \ ------------------

(| | ) < oddboy.cn >

/'\_ _/`\ ------------------

\___)=(___/

初始化代理池 本地IP :: 36.110.16.74

导入代理池::: proxylist.txt

成功导入 110 个代理

Serving HTTP on 0.0.0.0 port 8088 (http://0.0.0.0:8088/) ...

直接访问站点进行测试。

ss ip代理:妖娆的代理工具shadowProxy(4)

由于该工具主要基于网上免费的代理进行IP隐匿的,所以稳定性仍然不够好,所以只建议用于特定的请求包测试。 在使用过程中遇到什么问题,欢迎给我邮件,我会进行修复完善,如果可以,给我的GitHub点颗星星,谢谢!

猜您喜欢: