安装了 nginx, 需要安装以下依赖
- sudo apt-get install libpcre3 libpcre3-dev
- sudo apt-get install zlib1g.dev
- sudo apt-get install libssl-dev
安装 PHP:
- apt-get install php5-fpm
- apt-get install nginx
开启 Nginx 对 PHP 的支持, 去掉配置文件中关于 PHP 的注释并重启 Nginx 即可
VIM /etc/nginx/sites-available/default
nginx 网站目录
/usr/share/nginx/html
nginx 解析 PHP
nginx 无法启动可以查看日记查找解决方法
VIM /var/log/nginx
访问 PHP 文件 403
在 / etc/php5/fpm/pool.d/www.conf 中编辑
listen = /var/run/php5-fpm.sock 为 127.0.0.1:9000
在 / etg/nginx/sites-available/**.conf 中编辑
fastcgi_pass/var/run/php5-fpm.sock 为 127.0.0.1:9000
后重启 nginx,php5-fpm 即可
重启服务命令
- service php5-fpm restart
- service nginx restart
2.Nginx 的文件解析漏洞复现
如果在访问 test.jpg 这个文件时以这种去访问 / test.jpg/1.PHP, 可能会被当做 PHP 代码去执行
用户配置不当造成的解析漏洞. 我们现在进行不当配置实现解析漏洞
VIM /etc/php5/fpm/PHP.INI
修改 CGI.fix_pathinfo 为 1
VIM /etc/php5/fpm/pool.d/www.conf
修改 security.limit_extensions 允许解析其他格式文件为 PHP
解析漏洞成功
3.Nginx 目录遍历漏洞
VIM /etc/nginx/sites-available/default
在 location 这里加上
autoindex on;
4.nginx 目录穿越漏洞
Nginx 在配置别名 (Alias) 的时候, 如果忘记加 /, 将造成一个目录穿越漏洞.
错误的配置文件示例(原本的目的是为了让用户访问到 / home / 目录下的文件):
- location /files {
- alias /home/;
- }
== 遇到的坑 ==
5.Docker 为什么刚运行就退出了
docker run -d -p 80:80 Ubuntu
运行了一个简单的容器后, 然后 docker ps -a 进行查看, 会发现容器已经退出
很重要的要说明的一点: Docker 容器后台运行, 就必须有一个前台进程.
容器运行的命令如果不是那些一直挂起的命令(比如运行 top,tail), 就是会自动退出的
这个是 docker 的机制问题, 比如你的 web 容器, 我们以 nginx 和 fpm 为例,
正常情况下, 我们配置启动服务只需要启动响应的 service 即可, 例如
service nginx start && service php5-fpm start
但是, 这样做, nginx 和 fpm 均为后台进程模式运行, 就导致 docker 前台没有运行的应用,
这样的容器, 后台启动后, 会立即自杀, 因为他觉得他没事可做了.
解决方法:
1. 最佳的解决方案是, 将你要运行的程序以前台进程的形式运行, 当然, 如果你的容器需要同时启动多个进程,
那么也只需要, 或者说只能将其中一个挂起到前台即可.
比如上面所说的 Web 容器, 我们只需要将启动指令修改为:
service php5-fpm start && nginx -g "daemon off;"
这样, fpm 会在容器中以后台进程的方式运行, 而 nginx 则挂起进程至前台运行, 这样, 就可以保持容器不会认为没事可做而自杀了.
2. 对于有一些你可能不知道怎么前台运行的程序, 提供一个投机方案, 你只需要在你启动的命令之后,
添加类似于 tail top 这种可以前台运行的程序, 这里特别推荐 tail , 然后持续输出你的 log 文件.
还是以上文的 Web 容器为例, 我们还可以写成:
service nginx start && service php5-fpm start && tail -f /var/log/nginx/error.log
把这条命令加到 start.sh 实现自启
参考链接
https://www.jianshu.com/p/13d5912a6417
来源: https://www.cnblogs.com/hackxf/p/10051732.html