介绍

进入该题界面,会根据你当前ip,id名,生成一个文件名,需要你搭建服务器,使得ip+文件名可以被外网访问到,并且内容为,My name is 你的id名 and iChall.

分析

但问题来了,WeChall 是向用户登录的 IP 地址发起访问请求。

一方面,运营商分配给普通用户的 IP 地址通常是经过多层 NAT 的,所以无法在个人 PC 上搭建 Web 服务,让公网用户访问;

另一方面,租借一台 VPS 虽然能拥有公网独立 IP 地址,但服务器的操作系统通常是命令行界面,难以通过浏览器访问题目链接,再点击按钮使 WeChall 访问服务器的特定网页。

只不过我这里刚好是Windows云服务器,所以非常简单。

路由

普通用户是无法让外网用户访问的,一般只有企业才具有真正的公网ip,不过也有人打电话联系电信公司能拿到。

这里也提一下做法,摘录Training: WWW-Basics - 记事本

由于我的机子在内网,所以要先在路由器里设虚拟服务器(端口映射)。ip地址设为我的机子在内网的地址,端口80。然后把要求的文件放到对应地方即可

此外,在httpd.conf里,要把监听的设好,Listen 80

服务器

linux

参考【WeChall】 Training:WWW-Basics | Secrypt Agency 。步骤很详细,我就不转载过来了。

具体步骤:
0x01 搭建 Web 服务
0x02 安装依赖工具
0x03 人生苦短,我用 Python
0x04 小结

Windows

很简单了。在Windows服务器上通过浏览器登录wechall,打开题目网址。接着在网站目录创建文件,用notepad++打开,输入文本。

注意不要多加个回车。

还需要说的一件事,如果设置了强制ssl,要关掉。不然会提示下面错误:

51 - SSL: certificate subject name 'tuziang.com' does not match target host name ...