Teknologian jakaminen

Käytä Dockeria haavoittuvuusympäristön rakentamiseen ja käytä SSRF Redistä centoksen ja ubuntun julkisten avainten kirjoittamiseen salasanattoman sisäänkirjautumisen saavuttamiseksi.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Kokeellinen ympäristö

kali: Rakenna docker-konttiympäristö kaliin Tässä käytän pääasiassa ensimmäistä.

Tietokantana redis voi kirjoittaa tietoja muistiin. Käytämme ssrf-pyyntöjä, jotta palvelin voi kirjoittaa oman julkisen avaimensa kokeillakseen salasanatonta kirjautumista.

2. Kokeellinen prosessi

Alustava valmistelu ja testaus

Redis tallentaa tiedot avainarvojen muodossa Tässä käytän dockerilla rakennettua centos-ympäristöä.

Käytä seuraavaa komentoa syöttääksesi centos-säilön;

docker exex -it 容器的编号 /bin/bash

Koska centoksella on jo komentosarja redis-serverin suorittamiseen, meidän tarvitsee vain ottaa redis-cli käyttöön säilössä;

Testaa, voidaanko se kirjoittaa normaalisti Kuten kuvasta näkyy, kirjoitettua sisältöä tai hakemistoa voidaan muokata.

Tiedostonimeä voidaan myös muokata, jotta voimme rakentaa julkisen avaimen ja kirjoittaa sen kohdepalvelimelle salasanattoman sisäänkirjautumisen saavuttamiseksi;

Tallenna muokkauksen jälkeen kuvan osoittamalla tavalla, kirjoitus onnistuu!

Ongelmia, jotka syntyvät ja ratkaistaan

Jos palvelinta ei voida yhdistää, voimme käyttää ./start.sh-tiedostoa tämän komentosarjan suorittamiseen;

SSRF lyhyt esittely ja kokeilun aloitus

Tee pyyntöjä palvelimen kautta, käytä gopher-protokollaa tai time dictiä pyytääksesi redis ja kirjoittaa tiedostoja.

gopher-sukupolven käsikirjoitus

Luotu hyötykuorma

Voimme tehdä pyynnön, liittää yllä olevan sisällön siihen ja napsauttaa Hae

Kohdatut ongelmat

Kun suoritin Hae-toiminnon ensimmäistä kertaa, huomasin, että tiedostoa ei ollut olemassa, koska sen omaa julkista avainta ei luotu centos-ympäristössä, joten sinun on käytettävä ssh-keygeniä julkinen avain sentteinä etukäteen;

tulos

Voidaan nähdä, että julkinen avain on kirjoitettu onnistuneesti kohdepalvelimelle;

Sitten voit kirjautua sisään ssh:n kautta ilman salasanaa. Näet, että kirjautuminen onnistui!

Kohdatut ongelmat

Dockerfile-ympäristössä on joitain ongelmia, mikä estää Docker-kuvan portin 22 käynnistämisen, joten tiedostoa muokataan ja se käynnistää sshd:n suorittamalla /usr/sbin/sshd.

Kun kohtaamme yllä mainitun latauksen epäonnistumisen, voimme vain alustaa tiedoston alla olevan kuvan mukaisesti;

3. Yhteenveto

Centoksen ja ubuntun vaiheet ovat melkein samat, paitsi että redis-suojausmekanismista johtuen seuraavat virheet johtavat joihinkin määritteisiin, joita ei voi muokata. Ratkaisu on sammuttaa suojattu tila ja käyttää seuraavaa komento;

config set protected-mode no

Redis-version rajoitusten vuoksi 7.2.5:n turvallisuus on liian korkea, mikä aiheuttaa salasanattoman ssh-sisäänkirjautumisen epäonnistumisen, joten vedin sen tänne.

Versio 5.0.5

Käytä sitten samaa toimintoa salasanattoman sisäänkirjautumisen saavuttamiseksi;