Neo-reGeorg版本演进史:从v1.0到v5.2.2的技术革新
Neo-reGeorg是一个旨在积极重构reGeorg的项目,专注于提高可用性、避免特征检测、增强隧道连接安全性和传输内容保密性,以应对更多网络环境场景。自发布以来,该项目经历了多次重大版本更新,不断优化和完善功能。
v1.x时代:基础功能构建与兼容性优化
v1.1.0 - jspx支持的初步探索
在v1.1.0版本中,Neo-reGeorg首次新增了对jspx的支持,扩展了在不同Web容器环境下的适用性。这一阶段主要聚焦于基础功能的实现和对不同服务器技术的兼容。
v1.3.0 - 负载均衡环境下的Session问题修复
v1.3.0版本解决了--cookie JSESSIONID冲突导致在负载均衡环境下服务端找不到session的问题,提升了在复杂网络架构中的稳定性。
v1.4.0 - JDK版本兼容性提升
此版本对jsp(x)进行了优化,使其不依赖内置的base64方法,从而兼容jdk9及以上版本。同时移除了trimDirectiveWhitespaces="true"设置,以兼容低于jdk8的版本,并移除了tunnel.tomcat.5.jsp(x)。
v1.5.0 - PHP环境优化
v1.5.0版本修复了php >= 7.1版本无法正常使用的问题,并解决了php环境高CPU占用的问题,同时用tunnel.nosocket.php替换了tunnel.php。
v2.x时代:功能扩展与性能提升
v2.0.0 - 架构重大调整
v2.0.0版本实现了单Session多TCP会话,解决了部分环境仅支持单Session HTTP通讯导致的无法使用问题。同时支持同服务器多URL的请求路径,避免单路径访问频率过高,并支持自定义服务端的HTTP响应码。此外,还修改了部分指令为GET,使其更接近正常请求,移除了空行与部分特征,支持服务端的DNS解析,并默认使用(使用本地DNS解析用--local-dns)。目录名称也进行了调整:scripts/ => templates/ 和 neoreg_server/ => neoreg_servers/,同时移除了socks4和javascript tunnel的支持。
v2.1.0 - 内网转发与信息优化
该版本支持内网转发,以应对负载均衡环境,同时优化了输出打印信息,并修复了-H设置的BUG。
v2.5.0 - 流量优化与异常处理
v2.5.0版本在检测到socks连接关闭时,会自动结束会话,减少大量请求流量。优化了异常信息输出,能够捕获高并发产生的异常。文档新增了Mac OSX环境的运行建议,调整了默认设置,使流量减少约46%,并修复了--file读取复杂文件编码转义问题。
v3.x时代:稳定性与传输效率的飞跃
v3.0.0 - 摆脱Cookie依赖
v3.0.0版本客户端仅对php的Cookie进行验证,服务端的aspx/ashx/jsp/jspx使用全局变量替代了Session,不再依赖Cookie,这一改进极大地提升了在无Cookie等恶劣环境下的可用性。
v3.2.0 - 高宽带性能优化
此版本修复解决了高宽带时出现的BUG,提高了稳定性,并将高宽带的传输速度提升10倍以上。客户端添加了--max-read-size参数控制READ请求的响应包最大长度,修复了python的socket.send()不能完全写入的问题,释放了--read-buff参数限制并设置默认值为7kb。服务端的aspx/ashx/jsp(x)解决了下载流量过大时无法即时更新socket IO的问题,修复了base64内容被截断问题,并释放了POST Body的限制,大幅提升FORWARD请求速度。
v3.5.0 - JDK兼容性与错误修复
v3.5.0版本的jsp(x)改用classloader的方式,解决了jdk语法不向下兼容导致无法正常运行的问题(兼容jdk >= 1.5),并修复了websphere环境下FORWARD的java.lang.NegativeArraySizeException错误。
v4.x时代:传输方案的革新探索
v4.0.0 - KTLV与BLV的设计与实现
v4.0.0版本中,感谢@BeichenDream对项目的贡献,提供了KTLV (Key-Type-Length-Value)隐去随机Header设计。后来设计出更适合Neoreg的新传输方案BLV,并先于v4版本完成实现发布,为后续版本的性能提升奠定了基础。
v5.x时代:全面升级与功能完善
v5.0.0 - BLV数据结构与多项增强
v5.0.0是一个里程碑式的版本,java/chsarp/php都改用BLV (Byte-LengthOffset-Value)数据结构进行传输,正式移除了三年前发布第一版沿用至今的随机Header技术。在BLV数据结构下,实现了请求重试机制,可克服恶劣环境。新增了golang的服务端,支持另起进程提供服务。还新增了-R/--force-redirect和--max-retry参数选项。此外,简化了使用,tunnel.jsp(x)已实现最佳兼容性,移除了tunnel_compatibility.jsp(x)。java改用Gzip压缩,文件体积缩小了30%。php修改了set_time_limit(0)的位置,java和csharp分别设置了connect timeout为3秒和2秒,客户端日志输出也进行了重新设计与优化。
v5.2.0及后续版本 - 细节优化与新特性
v5.2.0新增--php参数,默认根据--url设置的URL判断是否.php后缀使用PHP连接方式。v5.2.2版本兼容curl-cffi库,以提高请求性能与http2支持,并新增--ntlm-auth USER:PASS参数,支持NTLM认证。这些版本持续对细节进行优化,提升了项目的性能和兼容性。
Neo-reGeorg的版本演进史是一部不断适应复杂网络环境、提升性能和安全性的创新史。从基础功能的构建到传输方案的革新,每一个版本都凝聚了开发者的心血,使其成为一款在网络渗透测试等领域具有重要价值的工具。通过持续的迭代和优化,Neo-reGeorg将继续在应对各种网络挑战中发挥重要作用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



