首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【黄啊码】php程序员应该怎么样保证代码的安全

看过一些别人的外包项目,竟然整个项目的权限设置为777 ,其实是非常可怕的,黑客可以上传文件到任意目录,并执行该文件。...设置目录的所有者 php程序一般是给nginx 或者 apche 调用的,所以系统会有一个 www(视情况而,有些是www-data) 的用户和用户组 sudo chown -R www-data:www-data...www-data:www-data 用户和用户组的。...(ubantu叫ubantu,vagrant叫vagrant) sudo usermod -a -G www-data ubuntu 设置权限 首先给自己的程序还原一下最初 给php框架所需要的读写权限...上传权限 我们的小体量的程序有些需要上传图片或文件到服务器(但是推荐上传到OSS或者七牛等第三方储存方案。)

52220

【黄啊码】你可知道你的服务器很容易就被利用了?这些方法你一定要知道

看过一些别人的外包项目,竟然整个项目的权限设置为777 ,其实是非常可怕的,黑客可以上传文件到任意目录,并执行该文件。...设置目录的所有者 php程序一般是给nginx 或者 apche 调用的,所以系统会有一个 www(视情况而,有些是www-data) 的用户和用户组 sudo chown -R www-data:www-data...www-data:www-data 用户和用户组的。...(ubantu叫ubantu,vagrant叫vagrant) sudo usermod -a -G www-data ubuntu 设置权限 首先给自己的程序还原一下最初 给php框架所需要的读写权限...上传权限 我们的小体量的程序有些需要上传图片或文件到服务器(但是推荐上传到OSS或者七牛等第三方储存方案。)

41010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    对Linux—suid提权的一些总结

    一、初识SUID 1.suid的简介 suid即set user id,是一种授予文件的权限类型,它允许用户使用者以文件所有者的权限来执行文件。需要这种特殊权限的场景在Linux下很常见。...查找具有 SUID 权限位文件 以下命令可以找到正在系统上运行的所有SUID可执行文件。...以下命令可以找到正在系统上运行的所有SUID可执行文件,命令将从 / 目录中查找具有SUID权限位且属主为root的文件并输出它们,然后将所有错误重定向到/dev/null,从而仅列出该用户具有访问权限的那些二进制文件...并分别解压,我们可以看到dash 0.5.8的原始代码,和Ubuntu对其做的patch。...所以,可以看出,Ubuntu发行版官方对dash进行了修改:当dash以suid权限运行、且没有指定-p选项时,将会丢弃suid权限,恢复当前用户权限。

    4.8K30

    谈一谈Linux与suid提权

    这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执行文件设置了suid权限。...Linux进程在运行时有三个UID: Real UID 执行该进程的用户实际的UID Effective UID 程序实际操作时生效的UID(比如写入文件时,系统会检查这个UID是否有权限) Saved...(www-data) groups=33(www-data) 可见,有些系统是root权限,有些系统仍然是原本用户权限。...下载其中的dash_0.5.8.orig.tar.gz和dash_0.5.8-2.1ubuntu2.diff.gz并分别解压,我们可以看到dash 0.5.8的原始代码,和Ubuntu对其做的patch...所以,可以看出,Ubuntu发行版官方对dash进行了修改:当dash以suid权限运行、且没有指定-p选项时,将会丢弃suid权限,恢复当前用户权限。

    1.9K20

    Linux下suid提权利用

    这是Linux给可执行文件的一个属性,上述情况下,普通用户之所以也可以使用ping命令,原因就在我们给ping这个可执行文件设置了suid权限。     ...Linux进程在运行时有三个UID: Real UID 执行该进程的用户实际的UID Effective UID 程序实际操作时生效的UID(比如写入文件时,系统会检查这个UID是否有权限) Saved...(www-data) groups=33(www-data)     可见,有些系统是root权限,有些系统仍然是原本用户权限。...,我们可以看到dash 0.5.8的原始代码,和Ubuntu对其做的patch。...所以,可以看出,Ubuntu发行版官方对dash进行了修改:当dash以suid权限运行、且没有指定-p选项时,将会丢弃suid权限,恢复当前用户权限。

    2.5K30

    如何在Ubuntu 16.04上使用uWSGI和Nginx为Django应用程序提供服务

    在本指南中,我们将演示如何在Ubuntu 16.04上安装和配置某些组件以支持和服务Django应用程序。我们将配置uWSGI应用程序容器服务器以与我们的应用程序进行交互。...connect()到unix:/run/uwsgi/firstsite.sock失败(13:权限被拒绝) 这表明由于权限问题,Nginx无法连接到uWSGI套接字。...通常,在受限制的环境中创建套接字或权限错误时会发生这种情况。虽然uWSGI进程能够创建套接字文件,但Nginx无法访问它。 如果根目录(/)与套接字文件之间的任何点上的权限有限,则会发生这种情况。...在上面的示例中,导致套接字文件的每个目录都具有全局读取和执行权限(目录的权限列以r-x而不是---)。该www-data组拥有套接字本身的组所有权。...如果通向套接字的任何目录不属于该www-data组,或者没有全局读取和执行权限,则Nginx将无法访问该套接字。通常,这意味着配置文件有错误。

    4.3K00

    如何在Apache上部署多个Wordpress站点

    开始之前 你需要安装LAMP环境,关于如何安装请参考如何在服务器上安装LAMP这篇文章。 本文假设您已经学会了如何在Ubuntu 18.04上安装带有LAMP的WordPress这篇文章的内容。...example1_wordpress; 创建一个用户,并为新创建的example1_wordpress数据库授予权限,将example1_wpuser和password替换为您要使用的用户名和密码:...需要提升权限的命令以sudo为前缀。应使用提升的权限编辑所有配置文件。在运行文本编辑器之前,请记住要包含sudo。...将您的Web服务器用户www-data设置为站点主目录的所有者: sudo chown -R www-data:www-data /var/www/html/example1.com/ sudo chown...-R www-data:www-data /var/www/html/example2.com/ 将WordPress文件复制到您的public_html文件夹: sudo cp -R /var/www

    2.5K50

    【腾讯云的1001种玩法】快速通过Drupal搭建个人博客

    在开始之前,你需要具备如下条件: 云服务器:腾讯云服务器CVM 操作系统:Ubuntu 14.04 64位 一、 准备工作 1、 首先切换到root用户,切换到root用户方便我们的操作 2、安装tasksel...root改为ubuntu,一是出于安全的考虑,二是为了方便对Drupal7工作目录进行操作。.../drupal7/sites/default/files 过程中需要添加acl属性 其中将该上传目录用户设为www-data主要是为了让Drupal能够知道它对该目录有读写的权限,以便在做带宽优化时可以合并和压缩...setfacl 语句的作用就是让www-data(Apache2用户名)和ubuntu(您的用户名)对该上传目录都有权限。...设置完成后保存 安装完毕,点击浏览网站 好啦,尽情享受吧~ 十、 将站点配置文件的权限还原 chmod 644 /var/www/drupal7/sites/default/settings.php

    2.5K00

    Nginx权限提升漏洞(CVE-2016-1247 )分析

    2.漏洞影响 Nginx服务在创建log目录时使用了不安全的权限设置,可造成本地权限提升,恶意攻击者能够借此实现从nginx/web的用户权限www-data到root用户权限的提升。...此方法适用于用户空间的so文件劫持,类似于Windows下的DLL劫持技术。更进一步,如果我们将此技巧与含有suid的文件结合起来,那么就可以很自然的实现提权操作了,所给的PoC就是利用的这个技巧。...图2 对函数的hook操作 在PoC利用中与此相关的C代码如下所示,如果将其编译成so文件并把路径写入到/etc/ld.so.preload文件的话,那么可以实现对geteuid()函数的hook,在...www-data到root的权限提升。...从上图中我们看到了成功结果,此时www-data用户是可以对/etc/xxxxxxxxxx文件进行写操作的。 至此,我们将这些点结合起来就可以实现对此漏洞的利用了。

    3.5K60

    如何在 Ubuntu 18.04 上安装和配置 NFS 服务器

    另外一个选项,就是使用 NFSv4 idmapping 特性,它能将用户和用户组 ID 转换成名字或者其他的方式。 就这些。此时,你已经在你的 Ubuntu 服务器上建立了一个 NFS 服务器。...在 Debian 和 Ubuntu 上安装 NFS 客户端 在基于 Debian 的发行版中,包含挂载 NFS 文件系统的软件包名是:nfs-common。...这台机器拥有对/srv/nfs4/www的读写操作权限,和对/srv/nfs4/backups文件的只读访问权限。 创建两个新目录作为挂载点。...用户映射成nobody用户和nogroup用户组,导致 root 用户对远程共享文件没有写入权限。...假设www-data用户在客户端机器上存在,并且GID和UID也和远程服务器上一样(比如,你在服务器和客户机上都安装了 www-data),你可以以www-data用户身份创建一个文件: sudo -u

    15.3K23

    如何在Ubuntu 14.04上将Symfony应用程序部署到生产环境中

    下一步是创建一个MySQL用户并为他们提供对我们新创建的数据库的访问权限。...但是,Web服务器用户(通常是www-data)也需要访问这些文件。否则,Web服务器将无法为该应用程序提供服务。除此之外,有两个目录需要特殊的权限安排:app/cache和app/logs。...ACL为文件和目录提供了更细粒度的访问权限,这是我们设置正确权限同时避免过于宽松的安排所需要的。 首先,我们需要允许用户使用www-data访问应用程序文件夹中的文件。.../logs文件夹内创建的所有新文件都遵循我们刚刚定义的相同权限模式,并具有对Web服务器用户的读取,写入和执行权限。...www-data的权限。

    12.7K20

    靶机实战 |『VulnHub系列』Bottleneck 1-Walkthrough

    随后在kali上重复了反弹shell的操作,在Ubuntu上监听,结果就可以了。 后记:这里确实是Ubuntu上的nc的问题,安全起见,默认不允许使用 -e选项 ? ?...进行了尝试,还是不行,访问被拒绝。这个问题先放一放……至少在kali上是成功了的,相当于理论基础有了,哈哈哈 ? 转入正题,第一次尝试反弹shell,失败。...通过执行sudo -l我们发现clear_logs可以被www-data用户无密码执行,但是(关键的东西总是从但是开始)只能作为bytevsbyte用户去执行,也就是说拥有的权限也只是bytevsbyte...原因是:虽然www-data用户拥有clear_logs的所有权限,但是当我们覆盖clear_logs的时候实际上修改却是/opt/clear_logs.sh。...crontab -l,如不指定用户,则显示的是当前用户的计划任务。 重新执行一遍查找SUID可执行文件的命令,发现/usr/test/testlib。 为什么要重新执行?因为文件有权限。

    1.3K31

    使用腾讯云配置小程序Python开发环境

    服务器系统我选择的是 ubuntu。 服务器配置 启动服务后使用新用户(此步骤不是必须)。...(不是所有的账号都可以切换到root权限,只有在/etc/sudoers文件中符合规则的用户能切换root身份) sudo su /etc/init.d/ssh start 使用密钥登录 服务器端生成密钥对...配置 caddy 必要的目录 Caddy的自动TLS支持和unit文件需要特定的目录和文件权限。 我们将在这一步中创建它们。 首先,创建一个目录,该目录将容纳主要的配置文件Caddyfile 。.../caddy # 确保没有人可以通过删除其他人的所有访问权限来读取这些文件。...curl命令的附加-o参数会将该文件保存在/etc/systemd/system/目录中,并使其对systemd可见。

    7.3K21

    靶机实战 |『VulnHub系列』Bottleneck 1-Walkthrough

    随后在kali上重复了反弹shell的操作,在Ubuntu上监听,结果就可以了。 后记:这里确实是Ubuntu上的nc的问题,安全起见,默认不允许使用 -e选项 ? ?...进行了尝试,还是不行,访问被拒绝。这个问题先放一放……至少在kali上是成功了的,相当于理论基础有了,哈哈哈 ? 转入正题,第一次尝试反弹shell,失败。...通过执行sudo -l我们发现clear_logs可以被www-data用户无密码执行,但是(关键的东西总是从但是开始)只能作为bytevsbyte用户去执行,也就是说拥有的权限也只是bytevsbyte...原因是:虽然www-data用户拥有clear_logs的所有权限,但是当我们覆盖clear_logs的时候实际上修改却是/opt/clear_logs.sh。...crontab -l,如不指定用户,则显示的是当前用户的计划任务。 重新执行一遍查找SUID可执行文件的命令,发现/usr/test/testlib。 为什么要重新执行?因为文件有权限。

    2K20
    领券