欢迎光临
我们一直在努力

禁止Linux服务器wget使用的一个有趣玩法

很多人玩linux差不都会用wget来下载一些文件来配置或者安装软件,当然也有人会用它来递归下载的你的网站内容,更甚于有的然会恶意请求造成服务器的带宽严重吃紧下面小残在这里介绍一下如何配置Nginx实现防止别人通过wget下载你的网站内容和如何破解因为Nginx或Apache设置禁止wget或curl。

有效防止Wget递归下载

假设Nginx默认配置文件所在目录:

1
/usr/local/nginx/conf/vhost

wget的默认User Agent是GNU/Linux,wget,因此我们只需要阻止该UA的访问并返回403即可。

禁止Linux服务器wget使用的一个有趣玩法

Nginx配置如下:

1
2
3
4
5
6
#禁止ab等工具的Wget下载
if ($http_user_agent ~* (Wget|ab) ) {
   return 403;
}
#禁止GNU/Linux,wget
if ($http_user_agent ~* LWP::Simple|BBBike|wget) { return 403; }

保存配置之后,先执行如下命令测试配置是否正确:

1
2
3
4
[root@iZ28yfq3uypZ ~]# /usr/local/nginx/sbin/nginx -t
#如下显示则为正确无误:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

确认无误之后,执行如下命令即可重载nginx,让配置生效:

1
[root@iZ28yfq3uypZ ~]# /usr/local/nginx/sbin/nginx -s reload

思路来源于张戈的:服务器反爬虫工具

扩展:

Nginx中有一个独特的HTTP 444状态,如果配置return 444,那么对方就不会收到错误信息,看起来就像是网站服务器打开缓慢导致无法连接一样。

破解禁止wget或curl下载

某些网站设置了网站服务器或者iptables的参数禁止wget/curl的访问,让我们不能愉快地扒站了怎么办?其实大部分只是禁止了wget/curl的User Agent,我们只需要给他们设置一个正常的浏览器UA即可。

临时变更wget的UA

在wget前加上参数 -U,代表设置User Aagent

1
wget www.google.com U Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101

永久变更Wget的UA

添加以下代码到/etc/wgetrc

1
header = UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0

变更curl的UA

使用以下参数:

1
curl www.google.com useragent “Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0”

同时,curl也可以传递refer信息来跳过某些防盗链设置:

1
curl e http://www.google.com http://wwww.cnbhu.com

这代表从Google跳转到我们的网站了.

Ok,就这样,至此本文结束···

赞(0) 打赏
未经允许不得转载:中国宏阔黑客联盟|白帽黑客|网络渗透技术|网站安全|移动安全|通信安全 » 禁止Linux服务器wget使用的一个有趣玩法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏