前言
大多数时候在对客户做钓鱼演练的时候,不仅需要复制客户指定的网站,还需要结合gophish来监测客户员工是否点击链接、是否输入数据等。
克隆网站很简单,但gophish要想保存数据,就必须满足form表单格式,因此一般情况下也需要对克隆的网站进行二次开发。
本次记录在克隆问卷星页面时的一些常规过程。
页面保存修改
首先进入问卷星页面,按下Command + S
保存页面,保存的目录结构如下
使用python快速启动一个web服务,查看页面是否正常展示
python3 -m http.server 80
展示没有问题,那么就是进行二次开发,满足gophish记录数据的要求(也就是整一个form表单)
查看源码
发现问卷星本身就自带了form表单,因此针对action进行修改即可,我们修改为./
,然后再HTML代码最后增加如下js代码,让每次提交数据都提交到当前的URL中(不加的话可能就不会带?
之类的东西了)
<!-- 加到最后 -->
<script>
// 获取当前地址
let currentUrl = window.location.href;
// 将当前地址设置为表单的action属性
document.getElementById("form1").action = currentUrl;
</script>
修改后刷新页面,填入数据,点击提交,可见是POST提交的数据,那就说明修改完成。
不需要关注状态码,只要是POST就行,因为python快速启动的web不支持POST方法。
添加网站图标
正常情况下,网站默认从favicon.ico
去获取网站图标,但我们是通过gophish,就不太好直接控制整个网站的结构了,所以可以用另一种方法:
<head>
<link rel="icon" href="https://www.wjx.cn/favicon.ico" type="image/x-icon">
</head>
部署公网
因为gophish只能填入HTML内容,而要想页面正常展示交互就必须加载静态资源(js
、css
、图片等),可以将静态资源部署到自己的服务器中,再让HTML远程拉取,但还是存在一些问题,如:
- 服务器可能带宽不够,导致网站访问速度很慢,一直加载不出来,容易起疑心。
- 如果要使用域名,在不使用反代的情况下,gophish就会占用80端口,这时候静态资源就只能托管到其他端口上,加载时就需要通过
http://ip/xxx.js
来加载,从而暴露真实IP。
因此我推荐使用https://www.netlify.com/
,是一个静态资源托管平台,将改好的静态资源直接上传即可,而且速度快。
选择add site
,然后手动上传文件夹即可,上传后点击Preview
就可以预览,也就可以使用了。