Giter Site home page Giter Site logo

flaga's Introduction

Flaga

Witaj

Jesteś na GitHubie i czytasz właśnie plik README.md które znajduje się wewnątrz repozytorium Flaga 7 i 8 etapu Szturmu na AWS:

Teraz w 6 krokach:

  • wejdziesz na serwer
  • przygotujesz go
  • pobierzesz repozytorium z flagą,
  • utworzysz nowe środowisko programistyczne
  • w którym uruchomisz i udostępnisz w sieci stronę www napisaną w pythonie
  • i jeżeli wszystko zadziała, przejdziesz do etapu 8 i powiesisz flagę

1. Start. Wejdź na serwer.

Aby zacżąć włącz terminal (lub powershell) i połącz się ze swoim serwerem. Jak nie wiesz jak to powróć do etapu 5:

Resetowanie serwera

Od teraz, gdyby coś poszło nie tak, zawsze możesz zrestartować serwer i zacząć od nowa: http://bityl.pl/Bmvwu

Dodatkowy krok w AWS. (Jedynie dla serwerów na AWS)

Ustawiamy uprawnienia root ("administratora"). Skopiuj poniższe komendy i wklej do terminala.

sudo passwd   # <----- To dla AWS tylkooo! Podaj hasło i zapisz. Wpisz jeszcze poniższe i podaj hasło.
su -          # <----- Od teraz będziesz jako 'root'.

Stwórz folder, gdzie będziemy trzymać Twoją stronę z flagą: mkdir i nazwa folderu: /var/www.

mkdir /var/www     # <---- Czyli stwórz katalog var wewnątrz którego znajduje się pusty katalog www. Stwórz: /var/www .

2. Uaktualniamy paczki (packages).

apt update
apt upgrade

W trakcie instalacji gdy proces się zatrzymuje z zapytaniem "Do you want to continue? [Y/n]" na końcu, napisz "Y" aby przejść dalej.

PS: w plikach README.md kod umieszcza się w takiej ramce jak poniżej.

pwd

Nie musisz ręcznie go przepisywać. Możesz łatwo skopiować, najedź myszką w prawym rogu pokaże się przycisk: alt text

Kliknij i skopiowane:

alt text

Teraz możesz wkleić kod, w zależności czy jesteś w powershellu czy w terminalu:

  • terminal: (linux, mac) klikając jednocześnie ctrl+shift+v
  • powershell: (windows) klikając prawym przyciskiem myszy.

3. Git.

Instalujemy git'a, pobieramy repozytorium i rozkładamy manatki.

apt install git
cd /var/www
git clone https://github.com/lukasz-test/flaga.git # <--- wklej dokładnie tą linię do terminala
cd flaga
python3 xD.py # <---- z dużej litery xD.py a nie xd.py z małej litery.

PS: Tak jak się domyślasz, terminal nie czyta niczego po znaku "#" zobacz samemu, wpisz:

ls # sdfgsdfgsdgsgjpodgksg

4. Wewnątrz środowiska (env).

Wszystkie polecenia wykonywane w tym kroku są wykonywane w folderze /var/www/flaga .

Upewnij się w jakim folderze jesteś, napisz:

pwd

Teraz, zobacz ale jeszcze nie wpisuj poniższych 3 komend:

python3 -m venv flagaenv      # Stwórz środowisko flagenv używając venv.
source flagaenv/bin/activate  # Aktywuj środowisko flagaenv
export FLASK_APP=app.py       # I zapisz zmienną FLASK_APP równą app.py (nazwie programu strony www) 

Teraz zobacz, komendy możesz wrzucać po 3 jednocześnie.

python3 -m venv flagaenv
source flagaenv/bin/activate
export FLASK_APP=app.py

Skopiuj wszystkie 3 i spróbuj wkleić w terminalu używając ctrl+shif+v lub jeżeli korzystasz z powershell to kliknij lewym po na terminal po skopiowaniu tekstu. Po ostatniej komendzie naciśnij enter.

Instalacja wymaganych bibliotek.

Użyjemy do tego pip3 - to narzędzie którym pobieramy w pythonie potrzebne biblioteki. We fladze używamy dodatkowo pliku requirements.txt, który jest niczym innym jak listą nazw i wersji bibliotek które będą.

pip3 install -r requirements.txt

Następnie podaj swoją domenę.

Napisz:

nano settings.ini

po spacji wpisz nazwę swojej domeny np (bez "www") wg wzoru:

domena = nazwa_domeny.pl

Aby zapisać wciśnij ctrl+s Aby zamknąć wciśnij ctrl+x

Uruchom skrypt przygotowujący hosting na serwerze (1 raz).

python3 xd.py

Restart nginxa i serwisów.

systemctl daemon-reload
systemctl restart nginx
systemctl restart flaga.service

Zobacz czy strona działa. Działa? Wyślij komuś, pochwal się i powróć na:

Etap 8: Flaga.

Ostatnie co zostało, to edycja flagi. Twoja flaga aby przejść dalej musi spełniać 3 kryteria

  • być widoczna w sieci, czyli działać - to mamy
  • jest na niej "xD" - to też już mamy
  • oraz jest coś napisane poza "xDDD" - to mamy do zrobienia.

Będąc dalej na serwerze, w folderze /var/www/flaga edytuj zawartość pliku xd.txt. Można dodać tam coś od siebie. Jak skończysz, zrestartuj odrazu nginxa.

cd /var/www/flaga
nano xd.txt

systemctl daemon-reload
systemctl restart nginx
systemctl restart flaga.service

Gotowe?

Możesz opuścić Terminal pisząć

exit

A strona nadal będzie stała w internecie.

Jeżeli postawiłeś stronę www, flagę i edytowałeś ją to przeszedłeś ten etap i idź dalej:

Flagi:

http://wsamselbaudat.pl/
http://przemek2940.pl/
http://rafalujma.pl/
http://laskobar.pl/
http://t-mike.pl/
http://programowanie.jgora.pl/
http://przychlast.pl/
http://saraczyz.pl/
http://konrad-wlodarczyk.pl/
http://runpython.pl/
http://kalafior.site/
http://youras.pl/
https://flag.artbit.com.pl/
https://styxu.pl/
http://adrianeight.tech/
http://webdepp.net/
http://kokopas.pl/
http://pawlowski-filip.online/
http://www.mikson.xyz/
http://portfolio-syna-kolezanki.pl/
http://grah.pl/
http://boringdev.pl/
http://etyczne-dziennikarstwo.pl/
https://free.riichi.bet/
http://aguled.pl/
http://xyder-dlgdaw.pl/
http://wulpi.pl/
http://domenafb.pl/
http://tenteteges.pl/
http://ekdevops.pl/
http://daco-python.pl/
http://pepiush.pl/
http://ebajabongo.pl/
http://mrozinscyolawa.pl/
http://www.jkubex.pl/
http://python-master.pl/
http://rafalsygut.pl/
http://zadaj.pythanie.pl/
http://optimistiksnek.pl/
http://konradptak.pl/
http://yabadabadoo.pl/
http://www.projekty-karoli.pl/
http://leniwiecc.pl/
http://cdk.wtf/
http://pawelpolaszk.pl/
http://jerryntom.pl/
http://rjgsite.pl/
http://studentmetina.pl/
http://ikosaedr.pl/
https://malinowapogoda.edu.pl/
http://tobitobisinski.pl/
http://python-programming-project.pl/
http://kung-fu-python.online/
http://alawicki.pl/
http://dbys.pl/
http://kingwaw.pl/
http://wetwater.pl/
http://mechatohiks.pl/
http://masterofdisaster.com.pl/
http://klasyd.pl/
http://www.reallynicethings.pl/
http://magnetofon.com.pl/
http://moje-programowanie.pl/
http://akarnas.pl/
http://coderiot.pl/
http://marcinxd.pl/
http://jstrozniak.pl/
http://blinkiemoon.pl/
http://dziaga.pl/
http://animuscreations.pl/
http://little-things.site/
http://ioutside.pl/
http://piotrleski.pl/
http://pythonowanie.pl/
http://kraina-zabawnego-chomika.pl/
http://www.kraina-zabawnego-chomika.pl/
http://czarny-czarlik.pl/
http://wyspany-jestem.com.pl/
http://cryptonft.com.pl/
http://mathewlg.pl/
http://www.karolinasliwa.pl/
http://paulinawierzchowskalublin.pl/
http://martyna-zalewska.pl/
http://ejdziewczyno.pl/
http://www.ejdziewczyno.pl/
http://www.stronakaroliny.pl
http://czapiewski.edu.pl/
http://kasiapolice82.pl/
http://www.moc5g.pl/
http://mexicanseafood.pl/
http://jokuna.pl/
http://mcbiru.pl/
http://danielrusak.pl/
http://xd.netadmins.pl/
http://dawidpawlas.pl/
http://marcinjanuszewski.pl/
http://arek-pe.pl
http://pythonportfolio.pl/

Jest jeszcze drugie tyle +

flaga's People

Contributors

lukasz-test avatar hiurge avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.