Fiverya 发表于 2019-11-8 21:25

记录一次wifi钓鱼的调试 ——新手

最近在学习一个wifi钓鱼的东西,模拟某网站(以下简称A)的登录,并在后台储存账号密码到数据库中。


原理很简单,将A的网页下载下来放到本地服务器上,然后搭建wifi,使连接wifi的人访问登录界面时实际上是访问本地服务器。


本来模块挺成熟了,前两天测试正常,今天测试的时候发现点了登录没反应???


倒腾半天无果。但是不是完全没用。
当我输入A的ip时,点击登录没有反应,但是当我输入127.0.0.1访问A时,功能却是正常的。用手机测试也是正常的。


而当我用其他浏览器时,也是正常的,只有用我常用的谷歌浏览器没有反应。换了别人的电脑,发现别人的电脑也是这样,一度怀疑,难道谷歌浏览器还能自动辨别钓鱼网站???


然后打开F12进行调试,发现我在点击登录的时候,出现了一个404 的访问



然后深挖,发现有关的字符串在某个js文件里


但是我的服务器里没有放js文件啊,我只有php文件。


突然想到可能是浏览器的缓存,于是我立马删除一下试试





试了一下,果然好了!


这下我懂了,之所以谷歌浏览器不行,是因为我之前用它正常登陆过,缓存了js文件,所以直接访问该ip时仍会调用js,导致登录失败。而其他浏览器没有缓存,所以均可正常登陆。
而访问127.0.0.1时,由于ip不同,所以浏览器也不会调用js,也能正常运行。


我网站的思路是点击登录的button以后,会提交form表单通过action到另外一个1.php,这个php的功能是将账号密码写入数据库。但是js运行在action之前?





百度了一下明明是php先运行,为什么js会阻挡我的action呢?后来我发现了这么一篇博客:



于是我赶紧打开js文件看一看果然是submit函数



当认证不通过时,会返回false

就是这个false阻止了action的执行,无法跳转到用来储存账号密码的1.php中。


而由于本地并没有连接服务器,所以这个submit只能得到一个404,一直返回false。


好,知道问题的原因以后就得改了,不能清除浏览器的缓存了,这样只能指标不治本,得从根源上解决。


一个方法是直接删掉 index.php(即登录页面)里边的js调用的有关部分,
另一个思路就是把js文件也下载下来放到本地服务器,但是把return false改成 returntrue,哈哈有点像逆向里边直接把je改成jne一样。

但是为了防止其他错误产生,还是直接第一种吧。

欢迎大家一起交流。

Fiverya 发表于 2019-11-9 08:37

tla2008 发表于 2019-11-9 08:20
能分享一下怎么搭建钓鱼场景么,我也想尝试玩一下

简单来说
1.配置路由器,将访问某页面的请求转发到你的电脑上,这里使用到iptables的一些命令即可完成
2.搭建本地服务器环境,搭建数据库,下载原始网页,做一些修改,网上都有集成的apache服务器环境,下载下来一键式安装,代码部分就得自己摸索着改了

生有涯知无涯 发表于 2019-11-9 23:23

对于一些警觉性比较高的人这个方法还有待改进,就拿我来说,遇到疑似钓鱼网站会随便输入账号密码,这样就骗不到了。不知这个设想能否实现:假如说想山寨LOL的官网(简称L),自己的网站为H,当点击登录时H用输入的账号密码去L登录,假如L返回正确就跳转到L,L返回错误H就返回和L错误时一样的界面,这样更具有迷惑性。

a192424 发表于 2019-11-9 07:41

支持一下

lep52 发表于 2019-11-9 06:57

学习一下

tla2008 发表于 2019-11-9 08:20

能分享一下怎么搭建钓鱼场景么,我也想尝试玩一下

北欧王座 发表于 2019-11-9 09:05

虽然看不太懂,但是感觉好厉害的{:1_921:}

zhangyang580 发表于 2019-11-9 09:22

学习学习了年轻有为

捞乜都掂 发表于 2019-11-9 10:01

虽然看不太懂,但是感觉好厉害的。想学习一下

卡瓦酷依 发表于 2019-11-9 10:13

ABKing 发表于 2019-11-9 10:33

谢谢楼主分享
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 记录一次wifi钓鱼的调试 ——新手