Salta al contenuto

Blog del Guru

Il blog del Guru contiene articoli su Linux, Elettronica e vari argomenti per preservare nozioni che altrimenti nella memoria del Guru stesso cadrebbero velocemente nell'oblio

  • Curriculum Vitae
  • Link Esterni
  • Privacy Policy
  • Informativa sui cookies

Proteggere login WordPress con zip bomb

Condividi:

Questo articolo presuppone che si stia lavorando su un tema child di WordPress in modo da non alterare file di sistema.

Per la creazione di un tema child, si può fare riferimento a questo articolo:

Personalizzare i temi di WordPress

Descrizione

Con questo metodo bloccheremo i tentativi di login dei bot alla nostra pagina di login, sfruttando la capacità dei browser di lavorare con contenuti mime gzip

Quello che faremo è creare un file di 10 Giga Byte che comprimeremo con gzip portandolo ad una dimensione più contenuta di 10 Mega Byte.

Utilizzando l’ hook di WordPress wp_login_failed invieremo questo file al browser che lo unzipperà in memoria esaurendo velocemente la ram, specialmente se i tentativi di accesso avvengono parallelamente con diverse connessioni.

Creaiamo il file

Nella home del sito wordpress digitiamo

1
# dd if=/dev/zero bs=1M count=10240 | gzip -9 > 10G.gzip

Inserimento del codice

Nella directory del nostro tema child, editiamo il file functions.php inserendo queste righe PHP

Inseriamo l’hook che esegue la funzione send_gzip_bomb quando viene fallita la login

1
add_action( 'wp_login_failed',    'send_gzip_bomb' );

Questa è la funzione send_gzip_bomb

1
2
3
4
5
6
7
function send_gzip_bomb() {
  header("Content-Encoding: gzip");
  header("Content-Length: " . filesize('10G.gzip'));
  if (ob_get_level())
    ob_end_clean();
  readfile('10G.gzip');
}

 

Autore 7ak43B/D68Pubblicato il 2019-02-092019-06-13Categorie PHP, WordPressTag login, PHP, protezione, wordpress, zipbomb

Navigazione articoli

Precedente Articolo precedente: User Mode Linux
Successivo Articolo successivo: Certificati HTTPS gratuiti con Let’s Encrypt

Social networks

GitLabBitBucketElectroYou

Articoli recenti

  • VIM: Folding / Unfolding di file xml
  • Programmazione AVR: Timer/Counter0 e PWM
  • Programmazione AVR: Interrupt esterni
  • Programmazione AVR: Porte I/O Digitali
  • Come sbloccare tutte le funzioni del Rigol DS1054Z

Categorie

  • Apache
  • Arduino
  • Atmega328P
  • AVR
  • Bind
  • C
  • chroot
  • dhcpd
  • Ftp
  • Git
  • Google Adsense
  • Google Analytics
  • https
  • Interrupt
  • Iptables
  • Linux
  • make
  • MariaDB
  • openvpn
  • PHP
  • RAID
  • RaspBerry
  • Rigol DS1054Z
  • rsyslog
  • Smartd
  • Timer
  • User Mode Linux
  • vim
  • Virtualizzazione
  • Websites
  • WordPress
  • xml
  • Curriculum Vitae
  • Link Esterni
  • Privacy Policy
  • Informativa sui cookies
Blog del Guru Privacy Policy Proudly powered by WordPress