一个基于命令行接口的代理工具-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
还没有评论,来说两句吧...