# Zaawansowane Bezpieczeństwo aplikacji www - notatki ze szkolenia
## Witajcie!
Witam na szkoleniu z **zaawansowanego bezpieczeństwa aplikacji www**.
Prowadzący - Kamil Jarosińskio @ SECURITUM (<kamil.jarosinski@securitum.pl>)
---
## Przydatne linki
**Notepad**: https://notepad.lab-08.securitum.net/ (właśnie na niego patrzysz)
**Prezentacja**: https://lab-08.securitum.net/
**Burp**: https://portswigger.net/burp/releases/professional-community-2026-4
## Licencja burp (24.06.2026)
```!
3u9YQsFC58rDSqyr8Qks1CJp1ALVxd5Jikv4TdXrFcavYAn2zh0uJhEV3gqjHbgA8aFy83JzQmECEFkhQWujk63YW5isgaMITZcLVkFzuJ+h9SAKzndR+Nw0ROol81pQgdzi7fN9UQeC4CAhiOQ98KD6nwV7rO6E2bhHleB76ZwiVGC6ZZ67x+n5IlcT75RQYT3kchaVqFr23rGNrfXqFgGtmRb13poluoBpyCh4Npl9WTqs119cI6ITOzlBrjSOAAi0VCWsNa0ibvZI0lvJVjJttwIEJLQUtZnQ32pSevLpAdd1QxOE0JH4xC9MlLn0Ki1S4rMuRKnuQ0/ERP0ZSl84baDkEgH7zKRvX3TBmxs3vAAGzBatLR+bMR80z/W3VtVKW1N9+9bpsr2exzW28ZopUC06QMMIyrhTstB9Tfi0pv6UsMwO3W1zZ1fOLvtp/3whA+pNW0i/FyFZZZZ43hkqMjTerbeoDZu69w8/QQzi5JOrp8fDZMEvjpiNbUjZZRnPInOJI1o91Jsc1uB9pgRi5phpce1jGPYWVUJcFMV0Y/9pCo2mVWU+5bpXjKeXQ3MoDEGh+PrfXjZtD409H+9k5z609q7Y+uYYdZ2lzBtIWylZHPtitGCjXq6Pf5geOtLXvfHEtzTyG9nhrmDqHiHm3FUZhhsbFazsvR/Jo3eRgEPSU7rABujfnL7mAuuuJaPitSsUxD9GAPcrEswUJQ/TdhsB2e03A1EXCsu+2bLCqKVH1UvzP3qWLUS/RpPo+XKnvfPg8UZBdQ4DFyHJiVIoehWvALCzvEv8Z70W7Rw=
```
## Organizacja
### Ramy czasowe
Dzień 1: 09:00 - 16:00
Dzień 2: 09:00 - 16:00
### Przerwy
10 minut przerwy co 60 minut (1h).
### Przerwa obiadowa
12:30 - 13:30
### Disclaimer
Techniki prezentowane podczas szkolenia nie powinny być używane na prawdziwych systemach bez pisemnej zgody właściciela.
## Rozgrzewka
Zanim zaczniemy, musimy przygotować środowisko testowe.
Potrzebujemy dwóch przeglądarek (koniecznie Firefox oraz Chrome/Safari) oraz Burp Suite Professional.
### Zadania:
1. Pobierz Burp Suite Community
2. Zainstaluj Burpa
3. Pobierz Firefox / Chrome
4. W ustawieniach Firefox (`⌘ + ,`), w wyszukiwarce wpisz `proxy`
5. Otwórz ustawienia Proxy, następnie uzupełnij opcję `Manual proxy configuration` :arrow\_forward: `HTTP Proxy`: `127.0.0.1` :arrow\_forward: `Port`: `8080`
**UWAGA**: nie zaznaczaj opcji `Use this proxy server for all protocols`!
Przejdźmy do demo :arrow_forward: https://manage.lab-08.securitum.net/ (możesz powtarzać moje kroki).
### Znaki specjalne, które pozwalają na rozdzielenie poleceń:
* `&&` (`%26%26`)
* `;`
* `||`
* `|`
* `new line` (`%0a`)
### Linki
* <https://github.com/ffuf/ffuf> - fuzzer
* <https://github.com/epi052/feroxbuster> - fuzzer podobny do FFUF, z ładniejszym outputem
* <https://github.com/danielmiessler/SecLists> - słowniki
## Rekonesans
Spróbujmy zdobyć jak najwięcej informacji o naszym celu korzystając wyłącznie z darmowych i otwartych źródeł, bez dotykania infrastruktury ofiary.
### Pomocne usługi
* <https://www.shodan.io/> (search engine for Internet-connected dedvices - free (limited) or $5 lifetime premium on Black Friday promo)
* <https://zoomeye.org/> (chiński Shodan)
* <https://insecam.org/> (niezabezpieczone kamerki)
* <https://censys.io> (kolejny "shodan")
* <https://crt.sh/> (wyszukiwarka certyfikatów)
* <https://virustotal.com/> (nie tylko skaner antywirusowy…)
* [https://apps.db.ripe.net/db-web-ui/\#/fulltextsearch](https://apps.db.ripe.net/db-web-ui/#/fulltextsearch) (WHOIS full-text search)
* <https://www.exploit-db.com/google-hacking-database/> (Google Hacking Database)
* <https://bing.com/> (warto mieć alternatywe dla Google, spróbuj zapytania `ip:1.2.3.4`)
* <https://securitytrails.com> (historia DNS dowolnego hosta. Bardzo przydatne narzędzie w omijaniu WAF Cloudflare!)
### Shodan - filtry
* `has_screenshot:yes`
* `has_screenshot:yes country:gb`
* `has_screenshot:yes country:gb port:5900`
* `"Server: nginx" country:gb`
* `port:9100 product:"LaserJet"`
* `net:17.0.0.0/8`
* `net:17.0.0.0/8 port:5060`
* `net:17.0.0.0/8 Server: nginx/`
### [crt.sh](http://crt.sh) przykładowe domeny
* `%.corp.google.com`
* `%.tesco.com`
* `%.tesco.pl`
* `%.bbc.co.uk`
### Google hacking - przykłady:
* `site:gov.pl "mysql warning:"`
* `site:gov.pl "Index of"`
* `site:gov.pl "Index of" "backup"`
* `"Index of" "backup" filetype:sql`
* `filetype:sql inurl:wp-content/backup-db`
* `allintitle: C Desktop ext:doc`
### Amass
<https://github.com/OWASP/Amass>
```sh
docker build -t amass https://github.com/OWASP/Amass.git
docker run -it --rm -v `pwd`/amass:/amass amass enum -d sekurak.pl -o /amass/domains -src -passive
```
### Aquatone - skan aktywny
<https://github.com/youngderekm/aquatone-docker>
```sh
cat ../amass/domains | docker run -v `pwd`/aquatone:/output --rm -i youngderekm/aquatone -out /output
```
### gowitness
https://github.com/sensepost/gowitness
### nmap - przydatne skrypty
### http-enum- enumeracja serwera http
```sh
nmap -n -p 80 --script http-enum lab-08.securitum.net
nmap -n -p 80 --script http-enum recon.zone
```
### http-grep
```sh
nmap -n -p 443 --script http-grep lab-08.securitum.net
```
Skrypt http-grep przeszukuje podaną stronę pod kątem przydatnych informacji. Domyślnie zwraca adresy e-mail oraz adresy IP.
### dns-brute
```sh
nmap -n -p 443 --script dns-brute lab-08.securitum.net
```
Skrypt \*\*dns-brute \*\*próbuje odnaleźć jak najwięcej [subdomen](https://pl.wikipedia.org/wiki/Subdomena) badanego hosta korzystając z najczęściej używanych nazw subdomenowych.
### http-config-backup
enumeracja backupów i informacji o CMS
```sh
nmap -n -p443 --script http-config-backup lab-08.securitum.net
```
### **http-wordpress-enum.nse**
```sh
nmap -n -p443 --script --script http-wordpress-enum demo-xss.lab-08.securitum.net
```
enumeracja podatnych pluginów wordpressa
### Vulnscan
<https://github.com/scipag/vulscan>
```sh
git clone <https://github.com/scipag/vulscan> scipag\_vulscan
ln -s `pwd`/scipag\_vulscan /usr/share/nmap/scripts/vulscan
nmap -sV --script=vulscan/vulscan.nse example.com
```
### Ffuf
https://github.com/ffuf/ffuf
```
ffuf -u http://recon.zone -w big.txt
```
### Feroxbuster
<https://github.com/epi052/feroxbuster>
```
feroxbuster -u http://recon.zone -x txt,php
```