WiFiPineapple通过代理服务器下载模块

近日做一些无线安全审计,于淘宝购得一山寨WiFiPineapple,到货后发现是联想某款便携路由器魔改版。二话不说刷上了最新的Nano 1.0.5固件,兴冲冲连上它的Wi-Fi打开管理面板(提醒一下,不要把有线网络接口直接连到现有路由器上,默认设置在那个端口有DHCP,会冲突),点击模块,然后发现死活获取不到模块列表。经过检查,发现上一代固件的模块安装是走浏览器的,即只要电脑能连接上wifipineapple.com,就能正常下载固件;而这一代的所有API请求都走设备上的PHP服务,更加不幸的是,wifipineapple.com在中国大陆不能正常访问。经过一番研究之后,我还是成功让设备的模块下载功能跑起来了。

第一步:连接网络

你可能需要在设备的USB口上再插一块无线网卡用于联网。如果PineAP daemon已开启,先关闭它。在Web管理界面->Networking->WiFi Client Mode选择设备wlan1扫描,然后连到你的可用Wi-Fi接入点。

第二步:建立可用的HTTP(s)代理

SSH连上设备。

安装代理服务器

先换上中科大源。

修改 /etc/opkg/distfeeds.conf 内容为:

修改 /etc/opkg/customfeeds.conf 内容为空(注释掉所有行)。

然后装相关包:

待安装完成,修改 /etc/config/polipo :

(其它行不需要改动,如果没有就在相应位置插入,如果有就修改该行。)

然后 /etc/init.d/polipo restart 重启Polipo服务。

启动Shadowsocks:

(经我测试, -d 参数和 /etc/init.d/sslocal 这个服务都不能正常工作,所以暂且在终端里面跑起来吧。)

修改 /etc/opkg/customfeeds.conf 为:

(就是把刚刚删掉的WiFiPineapple源加回去。)

再更新源:

这一步应当没有任何下载失败的报错。

第三步:修改下载模块相关代码使用代理

修改 /pineapple/modules/ModuleManager/api/module.php :
(注意不同版本的位置不同,但是代码是一样的,可以查找一下。如果你更新了这个模块就要重新修改一遍。)
第61行:

改为

第121行:

改为:

还有Dashboard上的Bulletins功能:

修改 /pineapple/modules/Dashboard/api/module.php :
第103行:

改为:

保存以后,在Web管理界面->Modules->Manage Modules点击Get Modules From WiFiPineapple.com就可以看到模块列表了,Dashboard上的Load Bulletins from WiFIPineapple.com按钮也可以使用了。

附录:山寨设备不识别SD卡导致模块无法安装的解决方案

首先确定SD卡的设备路径, ls -l /dev/sd* ,可以看到设备在 /dev/sda1 。
然后编辑 /etc/config/fstab (可以通过终端或者Web管理界面->Advanced->USB)

再把SD卡格式化为ext4: mkfs.ext4 /dev/sda1
最后挂载上去: /etc/init.d/fstab restart
就能正常识别SD卡了。

WiFiPineapple通过代理服务器下载模块》上有1条评论

发表评论