[转载] 网站被挂木马与777权限的奥妙--------------如何识别文件的权限

news/2024/5/19 19:45:34/文章来源:https://blog.csdn.net/weixin_33743703/article/details/93322821

 

      某天VIP大讲堂微信群里的一位同学说网站被人挂马了,查了半天也查不到原因。艺龙SEO负责人刘明问了一句“是不是技术把linux系统里网站的核心目录设置777文件权限了”,同学查后发现果然如此。那么,777是什么?爱偷懒的程序员都该会心一笑,省事大法啊。这简单的数字背后代表了一套伟大的文件权限控制思想。院长赶紧请刘明长叙一篇,让我们随着刘明的解释慢慢理解。

  一、当用户访问一个网页

  这个时候,你的服务器内部发生了什么,请参考下图。其中任何一个环节有漏洞,都会出问题。注意,本图片只代表个人理解,并非真实流程。

  

 

  二、文件的权限只有三种

  查询一下linux的标准文档,就知道。文件分为,读、写、执行三种权限。

  r Read 可以打开并读取内容。

  w Write 可以修改内容,增加内容,甚至删除内容。

  x Execute 可以当做可执行程序,或者shell脚本执行。

  特别注意,对于目录来说,x表示可以浏览他里头都有什么文件。

  三、文件权限针对的是三类用户。

  owner 文件所有者,或者说是创建了这个文件的人。

  group 文件所在的组,一个组可以包含很多个owner,但不一定包含当前文件这个owner。

  other 其他人,也就是除了当前这个owner,除了当前这个group外的所有人。

  四、实际是什么样子的。

  linux中所有文件都需要记录这3种权限和3种人群。3x3=9,再加上一个标记表示“这是不是一个目录”,一共10个标记。如图所示,

  

 

  这12行表示12个文件,都是一个叫sin的人创建都,而且sin的分组是staff。

  五、详细解释一下。

  我们从前到后逐一说一遍。写着子母(drwx)的,表示有这个权限。写着横线(-)的,表示没有这个权限。

  drwxrwxrwx

  1: 这是不是一个文件夹。d表示是,-表示否。(如果写的是l,可以理解为他是快捷方式)

  2:owner是否可以读取这个文件的内容。r表示是,-表示否。

  3:owner是否可以改写这个文件的内容。w表示是,-表示否。

  4: owner是否可以执行这个文件。x表示是,-表示否

  5:group是否可以读取这个文件的内容。r表示是,-表示否。

  6: group是否可以改写这个文件的内容。w表示是,-表示否。

  7: group是否可以执行这个文件。x表示是,-表示否。

  8: other是否可以读取这个文件的内容。r表示是,-表示否。

  9:other是否可以改写这个文件的内容。w表示是,-表示否。

  10:other是否可以执行这个文件。x表示是,-表示否。

  六、怎么用数字方便的表示文件权限。

  因为10个位置中,第1个不是权限,我们就只看后边9个位置。

  如何把这个权限转化成数字呢?rwxrw-r--

           owner   group    other

  符号    r w x    r w -      r - -

  二进制 1 1 1    1 1 0     1 0 0

  相加之和 7          6          4

  111 = 2^2 + 2^1 + 2^0 = 7

  110 = 2^2 + 2^1 =6

  100 = 2^2 = 4

  所以rwxrw-r--就变成了:764

  七、常用的权限数字

  常用更改文件权限的命令,xxx代表文件名

  600 只有owner有读和写的权限

  644 owner有读和写的权限,group只有读的权限

  700 只有ower有读和写以及执行的权限

  666 owner,group,other都有读和写的权限

  777 owner,group,other都有读和写以及执行的权限

  八、终于讲到正题了

  讲了这么说,你应该明白777的意思就是,任何人可以干任何事。那等于什么权限都没设啊!linux再安全也架不住自己人刻意制造漏洞吧。这完全等同于把钢铁侠屁股上的材料换成了窗户纸。

  linux的安全原则是最小权限原则,能不给的权限就不要给。而很多懒惰或者新手的程序员往往为了省事使用最大权限。

  有的人问,网站需要上传图片,需要w很正常,否则图片放哪呢。那我想问,你家的房子,是不是可以随便挪动?冰箱能挪动,承重墙能挪的动吗?请注意,客厅,卧室,厕所,厨房的空间都是rw的,但是承重墙只能是r的,不能随便w。

  同理,网站核心代码是不可写的,只能可读。

  学会了权限的基本支持,怎么运用呢?(只能说大概意思,具体应该怎么部署,还是找专业都运维同学问吧,我好久没碰web了。)

  假设我把核心代码放在/var/www/,我把图片放在/var/pic/。前者目录rw,里头所有文件r。后者本身w,里头所有文件r

  webserver只能解析/var/www/里的文件,不能执行/var/pic/里的。这样不至于让人家把木马程序放到/var/pic/里执行。

  由于每个网站使用的语言都不一样,无法做一个统一说明,只能举几个例子。假如你的网站使用php语言,植入的木马基本也都是php语言写的命令。

  可以分别试试这两个命令,因为php木马常用eval和create_function来做坏事(说/var/www/路径不存在的同学,面壁思过10分钟)。

  grep "eval(" /var/www/* -r

  grep "create_function(" /var/www/* -r

  请注意,并不是没有用777权限,就万无一失了,web的漏洞多如牛毛,无孔不入,本文章只是抛砖引玉。

原文地址:http://www.admin5.com/article/20161010/689775.shtml

转载于:https://www.cnblogs.com/Melo520/articles/5989089.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_807389.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员接私活平台_推荐几个程序员接私活的网站,你有码,我有钱

很多有技术的码农们浑身的葵花宝典,辟邪剑法,十八般武艺,但不能一身的本事空空浪费,现在小编就给大家推荐几个接私活的秘籍,助你收入飙升,纵横码农圈,众猿皆披靡。但你如果只是眼中有码&#xf…

UC浏览器调试移动端网站

准备工作: UC浏览器开发版网址 UC浏览器开发者版下载地址 下载adb_tool 步骤: 1.将adb_tool解压,把里面的文件复制到 C:\Windows\SysWOW64 文件夹下面。 2.运行cmd 输入“c”: 按Enter键, 输入“cd”: 按Enter键, 输入…

启用apache压缩模块节约网站带宽

背景:网站随着用户访问量的增加和内容量的增加,网站的带宽会不断的增加,随之就是网站成本的增加。并且当内容量增大的时候,客户端如果带宽小,就会影响用户的体验。因此从这两方面考虑,网站的某些内容必须经…

手把手视频:万能开源Hawk抓取动态网站

Hawk是沙漠之鹰历时五年开发的开源免费网页抓取工具(爬虫),无需编程,全部可视化。 自从上次发布Hawk 2.0过了小半年,可是还是有不少朋友通过邮件或者微信的方式询问如何使用。看文档还是不如视频教学方便,沙…

《音乐达人秀:Adobe Audition实战200例》——1.5 网络与网站已成为人们获取音乐的最佳途径...

本节书摘来自异步社区《音乐达人秀:Adobe Audition实战200例》一书中的第1章,第1.5节,作者 健逗,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.5 网络与网站已成为人们获取音乐的最佳途径 多年前,没有网络…

网站服务器容器是什么,http服务器和web容器区别

http服务器和web容器区别 内容精选换一换WAF转发和Nginx转发的主要区别为Nginx是直接转发访问请求到源站服务器,而WAF会先检测并过滤恶意流量,再将过滤后的访问请求转发到源站服务器,详细说明如下:WAF转发网站接入WAF后&#xff0…

网站构建学习笔记(0)——基本概念了解及资源学习(copy自w3school)

一、学习方面 1、WWW - 万维网 什么是 WWW? WWW 指万维网(World Wide Web) 万维网常被称为Web Web 是由遍布全球的计算机所组成的网络 所有 Web 中的计算机都可以彼此通信 所有这些计算机都使用名为 HTTP 的通信标准WWW 如何工作?…

Wordpress安装Redis为网站加速

前面我们讲了宝塔Linux面板安装Redis,现在我们来举一些例子来看看redis的实际运用,比如Wordpress安装Redis为网站加速,下面就跟着ytkah一起来操作一下。 第一,下载predis.php放到网站根目录,与index.php同目录&#xf…

利用利用政府网站获得SEO高质量外链方法【吐血收集】

最近,有在网上发现一个【高权重外链】的发布方法。利用政府网站的虚拟外链转为物理外链,从而获得政府网站的外链权重。政府网站的权重本来就高,通过这个方法可以获得一定权重的政府外链。一、首先要找到目标政府网站首先你要找到高权重的政府…

使用Hexo+Github搭建自己的个人网站

文章目录1、准备工作2、打开git bash命令行输入:3、新建本地博客文件夹Blog4、GitHub新建仓库1、准备工作 1、创建一个GitHub账户 2、下载安装 Node.js (包含 npm) 3、安装Git 2、打开git bash命令行输入: 注:在任意位置打开git bash输入即可。 node -v //查看node.js的版…

使用Typecho搭建个人网站

博主以前是Hexo和GitHub来搭建的网站nonniexie.cn的,这里介绍用Typecho来搭建。准备工作,需要一台自己的云服务器。并且远程连接到云服务器上,给你推荐几个比较好用的连接工具FinalShell、Xshell 5、SecureCRTP、putty一共四款工具。个人比较喜欢Xshell …

phpStudy v8.1创建本地网站域名

**简介:**以tp5.1为例,利用phpstudy v8.1创建一个本地网站域名。 **第一步:**打开phpStudy并启动web服务; **第二步:**点击“创建网站”; **第三步:*输入域名、http80、同步hosts、定位根目录&…

phpStudy v8.1创建本地网站域名

简介: 以tp5.1为例,利用phpstudy v8.1创建一个本地网站域名。 第一步: 打开phpStudy并启动web服务; **第二步:**点击“创建网站”; **第三步:*输入域名、http80、同步hosts、定位根目录&#x…

ThinkPHP6.0在phpstudy下配置网站域名

1、安装T6框架,参照文章:Composer与ThinkPHP6.0的下载与安装 2、打开phpstudy,启动Apache。 3、在phpstudy导航栏目中选择“网站”,点击“创建网站” 在弹出的网站对话框内,自行填写域名、将根目录定位到t6的入口文件…

python 自动登录网站_解放双手,用Python自动登录25个主流网站

原标题:解放双手,用Python自动登录25个主流网站 用 Python 写爬虫脚本是大家经常遇到的需求。在这个过程中,避开不了登录这一关。 使用 Python 一般会用 request 库,补充 header 中的 post 要素,有些还会有 隐藏的 hid…

在服务器上同时执行 多个kettle_一台服务器上如何创建多个网站?

一台服务器上如何放多个网站呢?其实很简单,我们以阿里云服务器为例。教大家用宝塔面板一键部署,轻松添加多个站点。(在步骤12)什么是宝塔面板:宝塔Linux面板是提升运维效率的服务器管理软件,支持…

什么是CDN,网站被攻击时该怎么防

日前,空前高涨的网络攻击威胁着大量的站长,很多站长为了应对网络攻击可谓是耗尽心力,取得的效果确是不尽人意的。 首先我们应该了解什么是网络攻击,网络攻击常见的有DDOS攻击,WEB应用攻击等。 DDOS攻击全称也叫分布式…

php1139,已解决!php-fpm配置弄错了,面板,网站都502 Bad Gateway

[求助帖]已解决!php-fpm配置弄错了,面板,网站都502 Bad Gateway铁牌会员158.00 价值分总 16,650 次阅读 13 张回复 hyb9512 发表于 2014-03-05 14:24:25本帖最后由 hyb9512 于 2014-3-7 00:40 编辑之前都一直好好的,今天网站打…

java jpanel 数据刷新6,Java提取网站后台数据进行处理并排名

Java提取网站后台数据进行处理并排名一、网页分析打开网站后,可以看到这个网站的编程语言排名情况。我们选择下图中的图表,这个图表中有2001-2019年的编程语言每个月的使用率,我需要它的数据。二、数据提取在网页点右键,点击查看源…

服务器ip端口ip显示全部未分配,IIS网站属性里,只有(全部未分配),找不到IP地址的解决方法...

IIS网站属性里,只有(全部未分配),找不到IP地址的解决方法今天配置服务器的时候发现有台服务器,iis里面没有ip地址如上图所示亲测的解决方法:修改下计算机名称,然后重启服务器就可以了。具体步骤如下:我的电…