BroadcastChannel
https://channel.gandli.eu.org/
https://channel.gandli.eu.org/
搭建 PHP 开发环境并配置权限
以下是创建 PHP 开发环境、配置 MySQL 和 phpMyAdmin 权限、以及创建
### 步骤 1: 创建目录并进入项目目录
在终端中执行以下命令:
### 步骤 2: 创建
在
### 步骤 3: 启动 Docker 服务
在
这将会启动 MySQL、PHP+Apache 和 phpMyAdmin 服务。
### 步骤 4: 授权普通用户创建数据库和管理权限
MySQL 容器启动后,执行以下命令为普通用户
首先,进入 MySQL 容器:
输入
这将授予
### 步骤 5: 创建
在
### 步骤 6: 访问 PHP 开发环境
1. **访问 PHP 页面**:在浏览器中访问 `http://localhost:8080/`,你将看到 PHP 配置信息页面。
2. 访问 phpMyAdmin:在浏览器中访问 `http://localhost:8081/`,使用以下凭据登录:
- **用户名**:`user`
- **密码**:`password`
登录后,你可以使用
### 总结
通过以上步骤,你成功搭建了一个包含 MySQL、PHP+Apache 和 phpMyAdmin 的开发环境,并授予了普通用户创建数据库的权限。同时,你也创建了一个简单的 PHP 文件来展示 PHP 配置信息。
#docker #php #mysql #phpmyadmin #开发环境 #权限控制
以下是创建 PHP 开发环境、配置 MySQL 和 phpMyAdmin 权限、以及创建
index.php 文件的详细步骤。### 步骤 1: 创建目录并进入项目目录
在终端中执行以下命令:
mkdir php-dev && cd php-dev### 步骤 2: 创建
docker-compose.yml 文件在
php-dev 目录下创建一个 docker-compose.yml 文件,内容如下:version: '3.7'
services:
# 构建 MySQL 服务
mysql:
image: mysql:8.0 # 使用官方 MySQL 镜像
container_name: php_mysql
environment:
MYSQL_ROOT_PASSWORD: password # 设置 MySQL root 密码
MYSQL_DATABASE: pikachu # 设置初始化数据库
MYSQL_USER: user # 创建用户
MYSQL_PASSWORD: password # 设置用户密码
# MYSQL_ALLOW_EMPTY_PASSWORD: "yes" # 允许空密码
command:
- mysqld
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_bin
- --lower_case_table_names=1
ports:
- "3306:3306" # 映射端口
volumes:
- mysql_data:/var/lib/mysql # 数据持久化
# 构建 PHP+Apache 服务
web:
image: php:8.2-apache # 使用 PHP + Apache 官方镜像
container_name: php-apache
depends_on:
- mysql # 确保 MySQL 在此服务之前启动
volumes:
- ./html:/var/www/html # 将主机目录挂载到容器工作目录
ports:
- "8080:80" # 映射端口
# 构建 phpMyAdmin 服务
phpmyadmin:
image: phpmyadmin/phpmyadmin # 使用官方 phpMyAdmin 镜像
container_name: phpmyadmin
environment:
PMA_HOST: php_mysql # 设置连接的 MySQL 容器名称
PMA_USER: user # 设置 phpMyAdmin 使用的数据库用户名
PMA_PASSWORD: password # 设置 phpMyAdmin 使用的密码
depends_on:
- mysql # 确保 MySQL 启动后才启动 phpMyAdmin
ports:
- "8081:80" # 映射端口
# 定义持久化存储
volumes:
mysql_data:### 步骤 3: 启动 Docker 服务
在
php-dev 目录下执行以下命令启动服务:docker-compose up -d这将会启动 MySQL、PHP+Apache 和 phpMyAdmin 服务。
### 步骤 4: 授权普通用户创建数据库和管理权限
MySQL 容器启动后,执行以下命令为普通用户
user 授予创建、删除、修改数据库的权限。首先,进入 MySQL 容器:
docker exec -it php_mysql mysql -u root -p输入
root 密码后,执行以下 SQL 语句:GRANT CREATE, DROP, ALTER, INDEX ON *.* TO 'user'@'%';
FLUSH PRIVILEGES;这将授予
user 用户在所有数据库上的创建、删除、修改和索引权限,并刷新权限表。### 步骤 5: 创建
index.php 文件在
php-dev 目录下创建 html 文件夹,并在其中创建 index.php 文件:echo "<?php phpinfo(); ?>" > html/index.php### 步骤 6: 访问 PHP 开发环境
1. **访问 PHP 页面**:在浏览器中访问 `http://localhost:8080/`,你将看到 PHP 配置信息页面。
2. 访问 phpMyAdmin:在浏览器中访问 `http://localhost:8081/`,使用以下凭据登录:
- **用户名**:`user`
- **密码**:`password`
登录后,你可以使用
phpMyAdmin 来管理 MySQL 数据库和执行其他操作。### 总结
通过以上步骤,你成功搭建了一个包含 MySQL、PHP+Apache 和 phpMyAdmin 的开发环境,并授予了普通用户创建数据库的权限。同时,你也创建了一个简单的 PHP 文件来展示 PHP 配置信息。
#docker #php #mysql #phpmyadmin #开发环境 #权限控制
# AWD攻防赛参考思路
## 本次比赛环境
- **Windows+Linux组合模式**:
- Windows Server 2003 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Window7 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Windows Server 2008 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
## Windows加固
- **先备份**:Web源码、数据库
1. 445端口加固,开启防火墙或IP高级安全策略
2. 开启系统日志审计功能
3. 禁用guest账户、关闭文件共享
4. 确保启动项内容是可控的
5. 限制3389远程访问控制的连接数
在本地组策略编辑器中,依次展开:计算机配置 → 管理模板 → Windows组件 → 远程桌面服务 → 远程桌面会话主机 → 连接 → 限制连接的数量。
6. 使用工具监控关键目录文件:`文件操作监控.exe` /
7. 恶意代码文件查找,通过PCHunter, Monitor
8. Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压
9. NTFS扫描磁盘查找隐藏的交换流数据
10. 查找系统所有账户信息,禁止非administrator账户
11. 修改Web站点管理员访问路径、默认口令、数据库口令
12. 安装WAF脚本,防护web站点,禁止其他漏洞
## Linux加固
- **先备份**:Web源码、数据库
1. 系统口令修改,团队统一口令
2. 通过`.bash_history`查找历史命令操作,发现痕迹
3. 查看计划任务:`crontab -l`;编辑计划任务:`crontab -e`
4. 查看`/etc/init.d/rc.local`中启动服务有无异常
5. 使用脚本开启进程监控、目录监控、流量监控
6. Web站点口令、站点管理员路径修改
7. 系统加固:`iptables`
- 进程线程:`netstat / ps -aux/netstat -apt`
- SSH:`w/fuser`
- 杀掉进程:`kill -9 pid`
## Mysql加固
1. 不使用默认口令,修改成复杂的,并确保和web环境连接
2. 设置只允许本地127.0.0.1账户登录
修改`bind-address=127.0.0.1`,在配置文件中加入`secure_file_priv=NULL`
3. 开启日志审计功能:`general_log_file=路径`
## Mssql加固
1. 删除不必要的账号
2. SQLServer用户口令安全
3. 根据用户分配帐号避免帐号共享
4. 分配数据库用户所需的最小权限
5. 网络访问限制
6. SQLServer登录审计
7. SQLServer安全事件审计
8. 配置日志功能
## 攻击准备
1. 各类CMS软件包最新版准备
2. 扫描工具:`nmap`、`nessus`、`metasploit`更新
3. 漏洞利用脚本:`poc`、`exp`
## Kali更新,解决签名问题:
## Windows提权
-
-
## Linux提权
- CVE-2017-6074 (DCCP双重释放漏洞 > 2.6.18)
- CVE-2016-5195(脏牛,kernel 2.6.22 < 3.9 (x86/x64))
- CVE-2016-8655(Ubuntu 12.04、14.04,Debian 7、8)
- CVE-2017-1000367(sudo本地提权漏洞)
- CVE-2016-1247(Nginx权限提升漏洞)
- CVE-2017-16995(Ubuntu16.04 kernel:4.14-4.4)
## 中间件服务器
- IIS
- Apache
- JBoss
- MySQL
- Nginx
- Tomcat
- WebLogic
## 集成服务环境
- WAMPServer
- XAMPPServer
## CMS列表参考
- 下载最新版本+每个CMS对应的漏洞poc、exp工具脚本文章,之后汇总:
- Apache
- ASPCMS
- Dedecms
- Dicuz
- Drupal
- EmpireCMS
- Eshop
- FineCMS
- Joomla
- LAMP
- Metainfo
- Nginx
- Phpcms
- Phpwind
- Qibocms
- Seacms
- Semcms
- Tomcat
- Wolfcms
- Wordpress
- Zabbix
## 参考链接
- [FreeBuf](http://freebuf.com/)
- [Huseck GitHub](https://github.com/Huseck)
- [Seebug](https://www.seebug.org/)
- [安全客](https://www.anquanke.com/)
- [Exploit-DB](https://www.exploit-db.com/)
- [Bugscan](http://www.bugscan.net/source/template/vulns/)
#AWD攻防赛 #加固策略 #Windows #Linux #MySQL #MSSQL #提权 #CMS #漏洞扫描 #安全工具
## 本次比赛环境
- **Windows+Linux组合模式**:
- Windows Server 2003 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Window7 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
- Windows Server 2008 + Centos6.x/Ubuntu14/16.04/Ubuntu17.01
## Windows加固
- **先备份**:Web源码、数据库
1. 445端口加固,开启防火墙或IP高级安全策略
2. 开启系统日志审计功能
3. 禁用guest账户、关闭文件共享
4. 确保启动项内容是可控的
5. 限制3389远程访问控制的连接数
在本地组策略编辑器中,依次展开:计算机配置 → 管理模板 → Windows组件 → 远程桌面服务 → 远程桌面会话主机 → 连接 → 限制连接的数量。
6. 使用工具监控关键目录文件:`文件操作监控.exe` /
御剑文件监控.exe7. 恶意代码文件查找,通过PCHunter, Monitor
8. Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压
9. NTFS扫描磁盘查找隐藏的交换流数据
10. 查找系统所有账户信息,禁止非administrator账户
11. 修改Web站点管理员访问路径、默认口令、数据库口令
12. 安装WAF脚本,防护web站点,禁止其他漏洞
## Linux加固
- **先备份**:Web源码、数据库
1. 系统口令修改,团队统一口令
2. 通过`.bash_history`查找历史命令操作,发现痕迹
3. 查看计划任务:`crontab -l`;编辑计划任务:`crontab -e`
4. 查看`/etc/init.d/rc.local`中启动服务有无异常
5. 使用脚本开启进程监控、目录监控、流量监控
6. Web站点口令、站点管理员路径修改
7. 系统加固:`iptables`
- 进程线程:`netstat / ps -aux/netstat -apt`
- SSH:`w/fuser`
- 杀掉进程:`kill -9 pid`
## Mysql加固
1. 不使用默认口令,修改成复杂的,并确保和web环境连接
2. 设置只允许本地127.0.0.1账户登录
修改`bind-address=127.0.0.1`,在配置文件中加入`secure_file_priv=NULL`
3. 开启日志审计功能:`general_log_file=路径`
## Mssql加固
1. 删除不必要的账号
2. SQLServer用户口令安全
3. 根据用户分配帐号避免帐号共享
4. 分配数据库用户所需的最小权限
5. 网络访问限制
6. SQLServer登录审计
7. SQLServer安全事件审计
8. 配置日志功能
## 攻击准备
1. 各类CMS软件包最新版准备
2. 扫描工具:`nmap`、`nessus`、`metasploit`更新
3. 漏洞利用脚本:`poc`、`exp`
## Kali更新,解决签名问题:
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
uname -a
cat /proc/version## Windows提权
-
ms17-017-
ms17-010## Linux提权
- CVE-2017-6074 (DCCP双重释放漏洞 > 2.6.18)
- CVE-2016-5195(脏牛,kernel 2.6.22 < 3.9 (x86/x64))
- CVE-2016-8655(Ubuntu 12.04、14.04,Debian 7、8)
- CVE-2017-1000367(sudo本地提权漏洞)
- CVE-2016-1247(Nginx权限提升漏洞)
- CVE-2017-16995(Ubuntu16.04 kernel:4.14-4.4)
## 中间件服务器
- IIS
- Apache
- JBoss
- MySQL
- Nginx
- Tomcat
- WebLogic
## 集成服务环境
- WAMPServer
- XAMPPServer
## CMS列表参考
- 下载最新版本+每个CMS对应的漏洞poc、exp工具脚本文章,之后汇总:
- Apache
- ASPCMS
- Dedecms
- Dicuz
- Drupal
- EmpireCMS
- Eshop
- FineCMS
- Joomla
- LAMP
- Metainfo
- Nginx
- Phpcms
- Phpwind
- Qibocms
- Seacms
- Semcms
- Tomcat
- Wolfcms
- Wordpress
- Zabbix
## 参考链接
- [FreeBuf](http://freebuf.com/)
- [Huseck GitHub](https://github.com/Huseck)
- [Seebug](https://www.seebug.org/)
- [安全客](https://www.anquanke.com/)
- [Exploit-DB](https://www.exploit-db.com/)
- [Bugscan](http://www.bugscan.net/source/template/vulns/)
#AWD攻防赛 #加固策略 #Windows #Linux #MySQL #MSSQL #提权 #CMS #漏洞扫描 #安全工具
### MySQL版本与账户密码查询
- 显示MySQL版本号:
- 获取MySQL账户和密码Hash:
- MySQL <= 5.6版本:
- MySQL >= 5.7版本:
将获取的密码Hash直接提交到在线解密网站 [CMD5](https://www.cmd5.com/)。
#MySQL #版本查询 #密码Hash #在线解密
- 显示MySQL版本号:
select version();
- 获取MySQL账户和密码Hash:
- MySQL <= 5.6版本:
select host, user, password from mysql.user;
- MySQL >= 5.7版本:
select host, user, authentication_string from mysql.user;
将获取的密码Hash直接提交到在线解密网站 [CMD5](https://www.cmd5.com/)。
#MySQL #版本查询 #密码Hash #在线解密
docker run --name mysql-test -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 mysql:latest
docker exec -it mysql-test mysql -u root -p
-- 允许任何 IP 地址的主机访问 MySQL
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
#mysql
docker exec -it mysql-test mysql -u root -p
-- 允许任何 IP 地址的主机访问 MySQL
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
-- 刷新权限
FLUSH PRIVILEGES;
#mysql