#CyHubCTF2022
Սկսենք Փայթոնական բաները տեղադրելով՝
pkg install -y py39-pip
Ապա տեղադրենք CTFd֊ն՝
root@ctfd0:~ # cd /usr/local/www/
root@ctfd0:/usr/local/www # git clone https://github.com/CTFd/CTFdCloning into 'CTFd'...
remote: Enumerating objects: 14857, done.
remote: Counting objects: 100% (94/94), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 14857 (delta 39), reused 73 (delta 34), pack-reused 14763
Receiving objects: 100% (14857/14857), 30.98 MiB | 16.73 MiB/s, done.
Resolving deltas: 100% (9137/9137), done.
root@ctfd0:/usr/local/www # cd CTFd/
root@ctfd0:/usr/local/www/CTFd # pip install -r requirements.txt
Հիմա սպասում ենք Python֊ական dependency֊ները քաշի։
Մէկ էլ ասում ա՝
error: can't find Rust compiler
Օքեյ, դա էլ քաշենք՝
root@ctfd0:/usr/local/www/CTFd # pkg install -y rust
Նորից եմ աշխատեցնում pip install
֊ը եւ ստանում եմ՝
$ GOPATH=/tmp/tmplfo6wiyc go get -d
error: [Errno 2] No such file or directory: 'go'
Օքեյ, հիմա էլ Go֊ն տեղադրենք՝
root@ctfd0:/usr/local/www/CTFd # pkg install -y go
Ու մի անգամ էլ pip install
աշխատեցնելուց յետոյ ամէն ինչ տեղակայուեց։
Սկսեմ կարգաւորել config.ini
ֆայլը։
Ահ, էստեղ գրած ա DATABASE_URL
, աչքիս մի հատ էլ MySQL֊ի համար Jail սարքեմ՝
root@console:~ # jailer create -n -t eb -a 10.0.0.15 mysql0
root@console:~ # jailer nat add -i vtnet0 mysql0
Ապա տեղադրեմ MariaDB՝
root@console:~ # jailer cons mysql0
root@mysql0:~ # pkg install -y mariadb106-server
Ու նաեւ կարգաւորեմ նոր օգտատէր՝
root@mysql0:~ # mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.6.11-MariaDB FreeBSD Ports
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@localhost [(none)]> create database ctfd;
Query OK, 1 row affected (0.001 sec)
root@localhost [(none)]> create user ctfd@10.0.0.10 IDENTIFIED VIA mysql_native_password USING PASSWORD(“REDACTED");
Query OK, 0 rows affected (0.004 sec)
root@localhost [(none)]> grant all privileges on ctfd.* to ctfd@10.0.0.10 with grant option;
Query OK, 0 rows affected (0.003 sec)
root@localhost [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)
Դէ փորձարկենք՝
root@console:~ # jailer cons ctfd0
root@ctfd0:~ # mysql -h 10.0.0.15 -u ctfd -p ctfd
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 10.6.11-MariaDB FreeBSD Ports
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
ctfd@10.0.0.15 [ctfd]>
Թո՛յն։
Շարունակեմ մնացած կարգաւորումներն անել։
Երեւի կարելի է փորձել միացնե՞լ։ Տեսնենք՝
root@ctfd0:/usr/local/www/CTFd # python3.9 serve.py
* Importing gevent and monkey patching. Use --disable-gevent to disable.
Traceback (most recent call last):
File "/usr/local/www/CTFd/serve.py", line 23, in
app = create_app()
File "/usr/local/www/CTFd/CTFd/__init__.py", line 199, in create_app
url = create_database()
File "/usr/local/www/CTFd/CTFd/utils/migrations/__init__.py", line 26, in create_database
if not database_exists_util(url):
File "/usr/local/lib/python3.9/site-packages/sqlalchemy_utils/functions/database.py", line 470, in database_exists
engine = sa.create_engine(url)
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/__init__.py", line 488, in create_engine
return strategy.create(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/strategies.py", line 87, in create
dbapi = dialect_cls.dbapi(**dbapi_args)
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 118, in dbapi
return __import__("MySQLdb")
ModuleNotFoundError: No module named 'MySQLdb'
Ահ, լաւ հեսա դա էլ տեղադրեմ՝
root@ctfd0:~ # pkg install -y py39-mysqlclient
ու մի հատ էլ ենք աշխատացնում ու տեսնում ենք՝
Ախ, վերջապէս (։
Ասանկ բաներ…
Պատասխանել մեյլով