一个基于命令行接口的代理工具-Proxify
一个基于命令行接口的代理工具-Proxify 声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 前言本文也是一篇笔记,主要介绍一个代理工具-proxify,依然是鼎鼎大名的pd团队出品,本文会涉及到: - 安装并运行Proxify
- 自定义代理输出文件和地址
- 使用DSL语言匹配/替换来自CLI的请求/响应。
- 使用代理来记录来自Burp Suite或web浏览器的所有HTTP请求。
- 在VPS上设置代理来隐藏你流量的真正来源
定义什么是代理服务器?维基百科中是这么定义的: 在请求资源的客户端(A)和提供资源的服务器(B)之间充当中介的服务器。 Proxify是什么Proxify 是一个用于代理、捕获和操作 HTTP(S) 流量的 CLI(客户端接口) 工具,其是用Golang写的,可以在任何设备上面使用。 如何安装与运行go install -v github.com/projectdiscovery/proxify/cmd/proxify@latest
在设置好环境变量之后,直接运行即可 proxify
默认启动一个监听端口为 8888 的 HTTP 代理以及监听端口为 10080 的SOCKS5代理; 可以从输出中看到 Proxify 将流量保存到安装时创建的日志文件夹中。该文件夹是您可以阅读所有代理请求/响应的地方 输出选项Proxify 允许你在本地存储所有浏览记录。默认情况下,在启动 Proxify 时,会在当前目录中创建日志目录以存储所有 HTTP 代理日志。可以修改此位置并使用 -o 选项指定文件名。 proxify -o target_logs
使用下面这个命令将所有请求转储到google-requests这个目录 proxify -o google-requests -dump-req
Filter有两种类型的 Proxify 过滤器都使用 DSL 语言: 匹配和替换。 Matching(匹配)指定要匹配的关键字以及是否要过滤请求或响应, 如果有匹配项,则转储会被标记为 .match.txt 以便于稍后进行过滤 可以一起使用请求和响应匹配过滤器,例如: proxify -request-dsl "contains(request,'Firefox')" -response-dsl "contains(response, md5('test'))"
Replacing(替换)也可以用选择的任何内容替换你所替换的 proxify -[request/response]-match-replace-dsl “replace([request/response],’[word-to-match]’,’[word-to-replace-with]’)”
请求可以缩短为-req-mrd,响应可以缩短为-resp-mrd 下面是一个示例,说明如何使用 replace 将所有“Chrome”实例替换为“Firefox”: proxify -req-mrd "replace(request,'Chrome','Firefox')"
以下是如何在响应中使用替换规则的示例: proxify -resp-mrd "replace(response, 'Location', '')"
网络Proxify 的默认监听端口为8888和10080;当然也可以改变一下 - -http-addr :用于改变http代理端口
- -socks-addr: 用于改变socks代理的端口
- -dns-addr: 用于改变DNS代理
需要将域名映射到自定义 IP 地址时,可以使用 Proxify 进行 DNS 映射,只需要运行proxify -dm domain:ip 需要映射多个域时: proxify -dm domain:ip,domain:ip,domain:ip
后面的内容介于违反我们国家相关法律法规,公众号内不做记录,感兴趣的同学可以去看原文 参考https://github.com/projectdiscovery/proxify https://en.wikipedia.org/wiki/Proxy_server
|