教你如何调戏蹭网者

这篇文章本来是知乎回答的一个问题,但是由于本人五行缺勤奋,所以一直没写(其实是忘了=。=),下面是我的一个实验,如何通过squid调戏那些蹭网的人。没什么技术含量,请大牛不要笑话~

声明:本实验仅作为技术分享,一把刀用来砍什么,由你决定。

先上效果:

是不是有点意思?

这里还需要说明一件事情

本文目的在于分享,采用的方式是国外的Pete大大的一种做法,效果不错,https://www.ex-parrot.com/pete/upside-down-ternet.html 但是这里不是重复造轮子,实在是Pete先僧写得过于简略,作为事件主角的squid居然被一笔带过,squid表示相当不爽(╯‵□′)╯︵┻━┻ 。如果可以通过上面的描述实现这个效果的,就不用往下看我的废话连篇了~如果你和我一样开始遇到过问题,那就跟着我走吧~

先说一下大体的思路。既然是要对网页中的图片进行操作,那么我们首先需要把图片下载到本地,然后进行变换之后再输出到客户端机器上面,就实现了图片的翻转,水印,模糊等各种捉弄人的效果。当然功能绝不仅仅是这样就算了,更多功能,大家看完之后不妨多挖掘一下,我就不多废话了~

好的,那么下面我们正式开始!

0×01    实验环境

我先说一下我的实验环境:

主机:ubuntu
虚拟机:windowsXP(vbox)
软件:squid、apache

拓扑环境就不多废话了,我这边是host通过wlan0上网,虚拟机选择Host-Only模式,连接到主机的vboxnet0接口(默认的,我没修改)。

0×02  系统配置

这里,我们首先要把系统的网络转发功能打开,可以使用

1 echo 1 > /proc/sys/net/ipv4/ip_forward

暂时启用,当然也可以修改sysctl.conf永久转发。

然后,对虚拟机进行ip设定,我这里设置为192.168.56.21,子网掩码255.255.255.0

0×03  软件设置

下面我们进行软件的设置。

apache不多说了,你可以指定一个本地路径作为网络分享的地址,作用主要是发布修改后的图片,我这里的路径选择是/mydoc/test/

接着是squid。

关于squid的安装这里不是重点,网上有很多的教程,我们着重说配置。Squid的配置文件是在/etc/squid(3)下面的squid.conf。为了看起来能凸显得我的高冷气质(楼主自恋程度已经逆天…( _ _)ノ|壁 ),着重配置的点我都已经写在上传的文件里面了,文末我会给出地址,大家可以看一下。

这里之所以说squid是关键,是因为我们主要使用了squid的redircetor的功能,即我们常说的重定向器功能。重定向器可以将收到的url进行改写重定向,而且支持python、perl、C等等语言写的重定向脚本(程序),功能还是很强大的,这里感兴趣的同学不妨玩玩~这里贴上《squid权威指南》中关于squid的详细描述,有问题可以到这里查阅:https://zyan.cc/book/squid/chap11.html

然后,我们把脚本文件放在配置文件中指定的位置,我这里是放在了/etc/squid3/下面,这里需要注意的是文件的权限问题,因为squid默认运行权限是squid用户,隶属于squid组(squid3是proxy用户,proxy组),所以如果squid没有权限执行脚本文件的时候是会报错的。这里的脚本文件我直接使用了Pete大大给出的perl脚本进行了一点点修改,可能是因为Pete直接从本地测试的,所以脚本有一点点的小问题,大家也可以从我给出的网址上下载。

然后我们配置虚拟机的代理。因为这里我没有用iptables进行流量转发,为了方便,直接配置了浏览器的代理配置,这里代理IP 192.168.56.1:8080,当然大家也可以使用iptables进行转发,这样就可以了。

最后我们重启squid。

1 sudo service squid restart

(squid3的服务名称是squid3),这里注意对于squid的任何操作一定要记得用sudo执行,否则会报错。

0×04  检验效果

这个时候,我们打开虚拟机,输入https://www.baidu.com,就应该可以看到baidu的logo是反向的了,打开更多网页试试吧~是不是很好玩?23333。

当然,脚本只是使用了flip选项,当然这里不建议使用过于复杂的命令,会使浏览器响应过于慢。关于imagemagic的更多的效果可以从网上查阅,是一个相当强大的命令行图片控制软件。

0×05  更多猜想

实验已经成功,那么我们说回到我们今天的MITM主题上面。有的同学或许会问:你得得得得说这么多,怎么应用啊?我这里提供一个小的方式,抛砖引玉:

可以买一树莓派,买一个usb上网卡,一张中国联通或者中国电信的卡,再买一个无线网卡,用airport建个无线信号,买个电源,装上linux配置好squid,当然还可以打开sniff,配好接收数据的服务器。。

剩下的就是:背好你的背包,默默走到斯达巴克斯,点一杯咖啡,用吸管慢慢品尝这份苦茗,望向窗外花坛那朵玫瑰,心里静静地想着那个TA。。。

说道这里,大家可能会想到菠萝,其实因为菠萝使用的是openwrt的精简系统,很多东西不可以使用,而且配置比起树莓派低了一些,大批量的图片操作很容易让CPU狂飙,自带的MITM最近貌似也不能用了?不过还是推荐Geek们自行动手~

如果有更多的想法,我们一起交流。

0×06  注意事项

因为我在做实验的过程中也遇到了很多问题,这里贴出一些常见的问题,大牛略过吧~:)

1、注意接收图片文件夹的权限和隶属于的用户,最好是能与squid用户相同的用户组。如果不是,可以使用chown进行修改。例:chown proxy.proxy xxx

2、注意脚本文件的权限。脚本文件必须是可以被squid用户执行的。

3、注意log文件的权限,关于log文件一共有三个,位于/var/log/squid3/下,分别是cache.log、store.log、access.log,这三个文件必须是可写的,同时也可以直接用chown改变用户所有权限。

4、遇到更多虚拟机打不开网页的问题,大家可以查阅/var/log/squid3/cache.log,这里会给出很详细的说明。

这里我能想到的暂时就这么多了,再有什么其他问题我们可以一起交流,我这里有一把肥皂。。。

0×07  写在最后

最后,也没什么好说的了,附上链接:https://github.com/linvex/MITM-squid/tree/master

上几张图吧~

本文文字及图片出自 www.freebuf.com

你也许感兴趣的:

共有 2 条讨论

  1. haha 对这篇文章的反应是不明觉厉
  2. Johnny 对这篇文章的反应是不明觉厉

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注