WordPressをDocker化してWpScanで遊んでみた

社内でWordPress勉強会を開いたのでそれのメモをしていく。


repo: takeokunn/wp-docker-sandbox

docker-compose.yml:

version: '3'

services:
  nginx:
    build:
      context: .
      dockerfile: docker/nginx/Dockerfile
    links:
      - wordpress
    ports:
      - "10080:80"
    volumes:
      - ./tmp/html:/var/www/html
      - ./tmp/nginx:/var/log/nginx
  wordpress:
    image: wordpress:php7.3-fpm
    links:
      - db
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./tmp/html:/var/www/html
  db:
    image: mysql:5.7
    volumes:
      - ./tmp/mysql:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

nginx + php-fpm + mysql で構成されている。

wordpress単体のimageでもいいのだが、セキュリティ周りを考えるとnginx必須なので wordpress:php7.3-fpm を使った。

$ docker-compose up を叩くだけで動くようにした。


折角wordpressをdocker化したので、ついでに wpscan で実際に遊んでみた。

InstallはGemですぐ入る。

$ gem install wpscan

Brute Force用のデータはこのサイトWordPress Password Dictionary からダウンロードできる。

~ (*´ω`*) < wpscan --url http://localhost:10080/ -U takeokunn -P ~/Desktop/wpw_pwd_dictionary.txt

WordPressの脆弱性について、CVEでみることも出来るし、wpvulndbでみることも出来る。


セキュリティ周り面白いのでもっと調べていきたい。