ProxyChains实现自动添加代理逃避检测

使用爬虫爬取网站或者使用扫描器扫描目标时经常会遇到扫描频率较为频繁导致IP被封或者限制访问的情况,这时候我们就需要考虑利用IP代理的方式不断的变换IP进行爬虫和扫描,从而逃避目标端的检测。这里介绍一款代理工具ProxyChains。

ProxyChains是一个开源代理工具,能够强制使任何应用的TCP连接使用SOCKS4,SOCKS或者HTTP(S)代理进行连接。首先简单介绍一下ProxyChains的使用。

Kali中自带ProxyChains,也可以从https://github.com/rofl0r/proxychains-ng下载安装。ProxyChains运行的所有配置都在/etc/proxychains.conf中:

在[ProxyList]下面添加代理IP和端口,可以任意添加代理,一行一个记录。

各配置项用法如下:

dynamic_chain:该配置项能够通过ProxyList中的每个代理运行流量,如果其中一个代理关闭或者没有响应,它能够自动选择ProxyList中的下一个代理;

strict_chain:改配置为ProxyChains的默认配置,不同于dynamic_chain,也能够通过ProxyList中的每个代理运行流量,但是如果ProxyList中的代理出现故障,不会自动切换到下一个。

random_chain:该配置项会从ProxyList中随机选择代理IP来运行流量,如果ProxyList中有多个代理IP,在使用proxychains的时候会使用不同的代理访问目标主机,从而使主机端探测流量更加困难。

大致了解了proxychains的配置项之后,可以测试一下proxychains使用代理访问的情况,proxychains使用起来也非常简单,命令形式为:

接下来可以实践一下proxychains代理的效果。

首先直接运行sqlmap扫描目标地址,然后在某云上的WAF看到拦截日志及源IP:

接着利用proxychains代理sqlmap扫描目标地址,然后在某云上的WAF上能过看到拦截日志及源IP已经变成了代理IP:

可以看到攻击IP已经变成了代理IP,所属地区也变成了代理IP的地区,试验成功。

接下来就是如何实现ProxyChains自动添加代理,大致分为以下几个步骤:

需要有一个提供免费代理的地址; 解析该地址提供的内容获取代理IP和端口; 将获取的代理IP和端口加入到proxychains.conf配置文件的ProxyList配置项中

免费代理的网站问一下度娘或者谷哥应该就能得到很多答案,有:快代理(https://www.kuaidaili.com/free/)、ProxyList(https://proxy-list.org/english/index.php),PorxyList是国外的一个提供免费代理的网站,貌似需要翻墙访问,这里我使用快代理提供的IP和端口。

需要注意的是,在使用proxychains代理转发过程中,如果目标对象为https,那么需要使用支持SSL/https协议的代理,快代理提供的免费代理均只支持http协议;Proxy List中有支持SSL/HTTPS协议且免费的代理。

第一步:访问快代理并解析网页内容获取代理IP和端口:

第二步:将获取的代理IP和端口更新写入ProxyList配置项中:

配置文件更新成功之后,就可以运行该脚本看看效果了,出现如下图结果,代理写入成功。

至此可以利用该脚本简单实现proxychains自动添加代理逃避检测。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-01-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件开发 -- 分享 互助 成长

source insigt、pc-lint、VS联合使用

前言:     近几天参加公司培训,公司要求,开发的时候使用source insight、PC-lint和VC来编程和调试,这不用不知道,一用吓一跳,这套工具一...

3189
来自专栏梦里茶室

【Chromium中文文档】OS X 沙箱设计

背景 沙箱将进程视为一种恶劣的环境,因为进程任何时候都可能被一个恶意攻击者借由缓冲区溢出或者其他这样的攻击方式所影响。一旦进程被影响,我们的目标就变成了,让这个...

2270
来自专栏云加头条

腾讯云存储最佳实践系列二:对象存储中配置自定义域名支持 HTTPS 访问

对象存储中配置自定义域名支持 HTTPS 访问

5540
来自专栏Laoqi's Linux运维专列

git 分支+标签+别名配置管理

2146
来自专栏北京马哥教育

Linux内核编译过程详解

前言 Linux内核是Linux操作系统的核心,也是整个Linux功能体现的核心,就如同发动机 在汽车中的重要性。内核主要功能包括进程管理、内存管理、文件管...

72410
来自专栏vue学习

后来的我们—我与git的破镜重圆

因为git给远程库起的默认名称是origin,所以如果有多个远程库,我们需要用不同的名称来标识不同的远程库。

1072
来自专栏施炯的IoT开发专栏

Windows 10 IoT Serials 6 - 如何修改IoTStartupOnBoot.cmd文件

    使用Windows 10 IoT Core系统的朋友应该会比较熟悉IoTStartupOnBoot.cmd文件,该文件是系统启动以后加载的批处理文件,一...

2538
来自专栏Java架构

微服务架构的稳定性与数据一致性能如何快速提高?

1975
来自专栏LIN_ZONE

macOS apache配置及开启虚拟服务器的开启,apache开启重写模式

今天把自己的mac系统升到最新版,但是,apache却不能用了,因为mac上的apache是系统自带的,因为是mac目前的最新系统,所以出现了好多问题,整理了一...

964
来自专栏大数据挖掘DT机器学习

python模拟新浪微博登陆功能(新浪微博爬虫)

有些网站设置了权限,只有在登录了之后才能爬取网站的内容,如何模拟登录,目前的方法主要是利用浏览器cookie模拟登录。 浏览器访问服务器的过程 在用户访问网页时...

9575

扫码关注云+社区

领取腾讯云代金券