v1.0
This commit is contained in:
parent
821d1b13d8
commit
483cd8452f
19
Dockerfile
Normal file
19
Dockerfile
Normal file
@ -0,0 +1,19 @@
|
||||
FROM nginx:latest
|
||||
|
||||
COPY _files/ /tmp/_files/
|
||||
|
||||
RUN mv /tmp/_files/*.sh /docker-entrypoint.d/ \
|
||||
&& chmod +x /docker-entrypoint.d/*.sh \
|
||||
&& apt-get update \
|
||||
&& apt-get install --no-install-recommends -y \
|
||||
mariadb-server php8.2-fpm sudo \
|
||||
&& mv /tmp/_files/nginx.conf /etc/nginx/nginx.conf \
|
||||
&& mv /tmp/_files/default.conf /etc/nginx/conf.d/default.conf \
|
||||
&& mv /tmp/_files/php.ini /etc/php/8.2/fpm/php.ini \
|
||||
&& mv /tmp/_files/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf \
|
||||
&& mv /tmp/_files/src/ /usr/share/nginx/ \
|
||||
&& chown -R www-data:www-data /usr/share/nginx/* \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /tmp/_files
|
||||
|
||||
EXPOSE 80
|
1
_files/40-phpfpm.sh
Normal file
1
_files/40-phpfpm.sh
Normal file
@ -0,0 +1 @@
|
||||
nohup /usr/sbin/php-fpm8.2 --nodaemonize --fpm-config /etc/php/8.2/fpm/php-fpm.conf > php-fpm.log 2>&1 &
|
2
_files/41-mariadbserver.sh
Normal file
2
_files/41-mariadbserver.sh
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld
|
||||
nohup sudo -u mysql mysqld > mysqld.log 2>&1 &
|
119
_files/50-server.cnf
Normal file
119
_files/50-server.cnf
Normal file
@ -0,0 +1,119 @@
|
||||
#
|
||||
# These groups are read by MariaDB server.
|
||||
# Use it for options that only the server (but not clients) should see
|
||||
|
||||
# this is read by the standalone daemon and embedded servers
|
||||
[server]
|
||||
|
||||
# this is only for the mysqld standalone daemon
|
||||
[mysqld]
|
||||
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
|
||||
#user = mysql
|
||||
pid-file = /run/mysqld/mysqld.pid
|
||||
basedir = /usr
|
||||
#datadir = /var/lib/mysql
|
||||
#tmpdir = /tmp
|
||||
|
||||
# Broken reverse DNS slows down connections considerably and name resolve is
|
||||
# safe to skip if there are no "host by domain name" access grants
|
||||
#skip-name-resolve
|
||||
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
bind-address = 127.0.0.1
|
||||
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
|
||||
#key_buffer_size = 128M
|
||||
#max_allowed_packet = 1G
|
||||
#thread_stack = 192K
|
||||
#thread_cache_size = 8
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched
|
||||
#myisam_recover_options = BACKUP
|
||||
#max_connections = 100
|
||||
#table_cache = 64
|
||||
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
|
||||
# Note: The configured log file or its directory need to be created
|
||||
# and be writable by the mysql user, e.g.:
|
||||
# $ sudo mkdir -m 2750 /var/log/mysql
|
||||
# $ sudo chown mysql /var/log/mysql
|
||||
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# Recommend only changing this at runtime for short testing periods if needed!
|
||||
#general_log_file = /var/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
|
||||
# When running under systemd, error logging goes via stdout/stderr to journald
|
||||
# and when running legacy init error logging goes to syslog due to
|
||||
# /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf
|
||||
# Enable this if you want to have error logging into a separate file
|
||||
#log_error = /var/log/mysql/error.log
|
||||
# Enable the slow query log to see queries with especially long duration
|
||||
#log_slow_query_file = /var/log/mysql/mariadb-slow.log
|
||||
#log_slow_query_time = 10
|
||||
#log_slow_verbosity = query_plan,explain
|
||||
#log-queries-not-using-indexes
|
||||
#log_slow_min_examined_row_limit = 1000
|
||||
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
#server-id = 1
|
||||
#log_bin = /var/log/mysql/mysql-bin.log
|
||||
expire_logs_days = 10
|
||||
#max_binlog_size = 100M
|
||||
|
||||
#
|
||||
# * SSL/TLS
|
||||
#
|
||||
|
||||
# For documentation, please read
|
||||
# https://mariadb.com/kb/en/securing-connections-for-client-and-server/
|
||||
#ssl-ca = /etc/mysql/cacert.pem
|
||||
#ssl-cert = /etc/mysql/server-cert.pem
|
||||
#ssl-key = /etc/mysql/server-key.pem
|
||||
#require-secure-transport = on
|
||||
|
||||
#
|
||||
# * Character sets
|
||||
#
|
||||
|
||||
# MySQL/MariaDB default is Latin1, but in Debian we rather default to the full
|
||||
# utf8 4-byte character set. See also client.cnf
|
||||
character-set-server = utf8mb4
|
||||
collation-server = utf8mb4_general_ci
|
||||
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
# Most important is to give InnoDB 80 % of the system RAM for buffer use:
|
||||
# https://mariadb.com/kb/en/innodb-system-variables/#innodb_buffer_pool_size
|
||||
#innodb_buffer_pool_size = 8G
|
||||
|
||||
# this is only for embedded server
|
||||
[embedded]
|
||||
|
||||
# This group is only read by MariaDB servers, not by MySQL.
|
||||
# If you use the same .cnf file for MySQL and MariaDB,
|
||||
# you can put MariaDB-only options here
|
||||
[mariadb]
|
||||
|
||||
# This group is only read by MariaDB-10.11 servers.
|
||||
# If you use the same .cnf file for MariaDB of different versions,
|
||||
# use this group for options that older servers don't understand
|
||||
[mariadb-10.11]
|
44
_files/default.conf
Normal file
44
_files/default.conf
Normal file
@ -0,0 +1,44 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
location / {
|
||||
root /usr/share/nginx/src;
|
||||
index index.php index.html index.htm;
|
||||
}
|
||||
|
||||
# error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
# error_page 500 502 503 504 /50x.html;
|
||||
# location = /50x.html {
|
||||
# root /usr/share/nginx/html;
|
||||
# }
|
||||
|
||||
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
|
||||
#
|
||||
#location ~ \.php$ {
|
||||
# proxy_pass http://127.0.0.1;
|
||||
#}
|
||||
|
||||
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
|
||||
#
|
||||
location ~ \.php$ {
|
||||
root /usr/share/nginx/src;
|
||||
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
}
|
||||
|
||||
# deny access to .htaccess files, if Apache's document root
|
||||
# concurs with nginx's one
|
||||
#
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
}
|
||||
|
6
_files/flag.sh
Normal file
6
_files/flag.sh
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
echo $GZCTF_FLAG > /usr/share/nginx/src/flag
|
||||
|
||||
unset GZCTF_FLAG
|
||||
export GZCTF_FLAG=flag{fake_flag}
|
||||
GZCTF_FLAG=flag{fake_flag}
|
32
_files/nginx.conf
Normal file
32
_files/nginx.conf
Normal file
@ -0,0 +1,32 @@
|
||||
|
||||
user www-data;
|
||||
worker_processes auto;
|
||||
|
||||
error_log /var/log/nginx/error.log notice;
|
||||
pid /var/run/nginx.pid;
|
||||
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
}
|
1977
_files/php.ini
Normal file
1977
_files/php.ini
Normal file
File diff suppressed because it is too large
Load Diff
6
_files/src/index.php
Normal file
6
_files/src/index.php
Normal file
@ -0,0 +1,6 @@
|
||||
<?php
|
||||
phpinfo();
|
||||
echo "<!--";
|
||||
system("cat flag");
|
||||
echo "-->";
|
||||
?>
|
Loading…
x
Reference in New Issue
Block a user