1.1. 前言
平时做项目或者挖SRC的过程中,在遇到扫目录或者凑低危用户名枚举等会有大量请求的情况时,总有各种WAF出来拦截,而且通过各种方式还绕不掉,只能通过换IP的形式来进行绕过。
本文就主要说明如何通过TOR实现动态IP的方式来绕过IP锁定机制。
1.2. 什么是TOR
Tor(The Onion Router)是一个开源软件项目,最初由美国海军研究实验室(Naval Research Laboratory)开发。它的设计目的是保护网络通信的隐私和匿名性。
Tor是一个用于匿名化网络通信的工具和网络协议。它通过在互联网上建立多层加密和隧道路由来隐藏用户的真实身份和位置信息。Tor通过将用户的通信流量经过多个中间节点(也称为中继)进行随机路由,使得追踪用户的来源和目的地变得困难。
尽管Tor提供了一定程度的隐私和匿名性,但它并不完全免疫于攻击和安全威胁。
- Tor网络可能受到流量分析、出口节点的恶意行为以及入口和中继节点的攻击影响。此外,Tor的性能也可能受到限制,导致较慢的网络连接速度。
- 为了应对这些问题,Tor项目不断进行改进和更新,以提高安全性和性能。未来的发展方向可能包括更强大的加密算法、更好的防御机制和更高效的路由选择算法。同时,用户教育和意识的提高也是重要的,以正确使用Tor并理解其局限性和潜在的威胁。
总结起来,Tor是一个用于匿名化网络通信的工具和协议,它通过多层加密和隧道路由隐藏用户的真实身份和位置信息。虽然Tor提供了一定程度的隐私和保护,但它并非绝对安全,可能存在攻击和性能方面的局限性。Tor项目在不断改进和发展,以提供更强大的隐私保护解决方案。
1.3. 环境需求
- 国外 Ununtu 20.04.5 LTS
1.4. 过程记录
1.4.1. 基础使用
安装配置TOR
sudo apt install tor
编辑配置文件/etc/tor/torrc
,删掉SocksPort
端口前的注释,同时增加一行 SocksPolicy accept *
测试效果
curl -x socks5://127.0.0.1:9050 ifconfig.io
1.4.2. 升级使用
到现在tor能正常走代理用了,但是有个新的问题,就是它的IP在一段时间内固定的,而我们绕过就需要打一枪换个地方,也就是需要持续切换新的IP。
方法一:通过修改配置
在配置文件/etc/tor/torrc
中加上最后两行
MaxCircuitDirtiness 1
NewCircuitPeriod 1
解释如下:
MaxCircuitDirtiness
:该配置项规定了Tor电路的最长可使用时间,以秒为单位。当一个电路的使用时间达到这个设定值后,Tor会关闭该电路并创建一个新的电路。NewCircuitPeriod
:该配置项规定了Tor主动创建新电路的时间间隔,以秒为单位。当设定的时间间隔过去后,Tor会关闭当前的电路并建立一个新的电路。
但通过测试,大约为每10秒会切换1次IP,并不会1秒切换1次。
while true; do
curl -x socks5://127.0.0.1:9050 ifconfig.io
sleep 10
done
演示结果如下:
方法二:通过软重启
执行如下命令,该命令用于向运行在系统上的 Tor 进程发送 SIGHUP 信号,以触发 Tor 进程重新加载配置文件(软重启)
killall -HUP tor
因此我们如果想要每秒切换IP,可以写一个简单的bash如下
while true; do
killall -HUP tor
sleep 1
done
然后再写一个bash每秒查一次当前IP
while true; do
curl -x socks5://127.0.0.1:9050 ifconfig.io
sleep 1
done
成功每秒切换1个IP
1.4.3. 工具测试
- httpx存活性探测
- ffuf目录扫描测试