IIS 80 端口重绑定

0x00 原理

端口重绑定就是端口共用,一个端口运行2个或多个服务。

这里分2种情况:

第一种情况,代码级别没有禁止端口重绑定,那么windows机制是会将流量转发到后注册这个端口的服务上,也就实现了流量劫持。

第二种情况,像IIS 80,SMB 445 这类端口,代码里禁用了端口重绑定,后注册的服务端口是不生效的,这里需要转换策略,用HTTP Server API库 HTTP Server Sample Application - Win32 apps | Microsoft Learn 进行路由层面的流量处理。

0x01 实现

这里主要介绍第二种情况。

vs 新建 C++ 空项目;

参考上面链接的代码api,

如果报错:const char*类型的实参与LPSTR 类型的形参不兼容

Visual Studio 2019 RTW(版本 16.0)中的符合性改进

Visual Studio 2019 中的 C++ 一致性改进 | Microsoft Learn

“/permissive-:启用所有严格标准符合性编译器选项,并禁用大部分特定于 Microsoft 的编译器扩展

如果发现以前正常的代码,在VS2019编译器中,提示有语言的问题,配置属性 -- C/C++ -- 语言 -- 符合模式 -- “是 (/permissive-)” 改成 “否”;

如果还有问题且不知道如何修改配置,可以将2个环境的 配置属性 -- c/C++ -- 命令行 里的内容复制出来,比对。

配置属性--调试--命令参数 “http://127.0.0.1:80/cxtest”

 

 

Project6.exe http://127.0.0.1:80/cxtest

 

 

 访问 http://127.0.0.1:80/cxtest 

 

0x02 后记

只是实现了一个接口,后续如果想实现更多功能还需更多优化,如果你也对端口复用感兴趣,欢迎交流讨论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值