GuppY <= 4.5.11 Remote DoS vulnerability

2006.03.11
Credit: trueend5
Risk: Medium
Local: No
Remote: Yes
CWE: CWE-Other


CVSS Base Score: 2.6/10
Impact Subscore: 2.9/10
Exploitability Subscore: 4.9/10
Exploit range: Remote
Attack complexity: High
Authentication: No required
Confidentiality impact: None
Integrity impact: Partial
Availability impact: None

KAPDA New advisory Vendor: http://www.freeguppy.org Vulnerable: <= 4.5.11 Bug: Destroy database files (Remote DoS vulnerability) Exploitation: Remote with browser Exploit: available Description: -------------------- GuppY is a web portal intentionaly designed to be easy to use for you, the final user. It doesn't require any database to run. It allows you to create quickly and without any technical knowledge, a complete and interactive website. Vulnerability: -------------------- There is a high risk vulnerability in guppy <= 4.5.11 in 'dwnld.php'pages that may allow remote attackers to destroy database files.(With magic_quotes_gpc = Off ,Its possible to destroy any file that chmoded 666 via null injection). Furthermore, directory traversal filter bypassing, using %2E./ instead of ../ Demonstration URL: -------------------- http://example.com/guppy/mobile/dwnld.php?pg=./%2E./stats will replace content of stats.dtb with "1" Or http://example.com/guppy/dwnld.php?pg=./%2E./test.inc%00 Code Snippets: -------------------- //dwnld.php $dnldcounter = ReadDocCounter(DBBASE.$pg); UpdateDocCounter($pg); //log.inc } WriteDBFields(DBLOGH,$dblog); } $tabcounter = CompteVisites(DBIPSTATS, DBSTATS); if ($tabcounter[0] > 0 && ($tabcounter[0]/10) == intval($tabcounter[0]/10)) { WriteCounter(DBSTATSBK, $tabcounter[0]); } //functions.php function WriteCounter($fic,$DataDB) { $fhandle = fopen($fic, "w"); fputs($fhandle, $DataDB."n"); fclose($fhandle); } . . . function WriteDBFields($fic,$Fields) { $fhandle = fopen($fic, "w"); $DataDB = ""; for ($i = 0; $i < count($Fields); $i++) { for ($j = 0 ; $j < (count($Fields[$i])-1); $j++) { $DataDB .= trim($Fields[$i][$j]).CONNECTOR; } $DataDB .= trim($Fields[$i][count($Fields[$i])-1])."n"; } fputs($fhandle, $DataDB); fclose($fhandle); } . . . function ReadDocCounter($dirid) { $DataDB = ReadCounter($dirid.DBEXT); return $DataDB; } function WriteDocCounter($dirid,$DataDB) { WriteCounter($dirid.DBEXT,$DataDB); } function UpdateDocCounter($id) { $DataDB = ReadDocCounter(DBBASE.$id); $vote = DejaVote(DBIPBASE.$id.DBEXT,300); if ($vote[0] == false) { $DataDB++; WriteDocCounter(DBBASE.$id,$DataDB); } return $DataDB; } More details with Exploit: -------------------- http://www.kapda.ir/advisory-291.html In Farsi: http://irannetjob.com/content/view/204/28/ Solution: -------------------- Upgrade to new version 4.5.12 Credit : -------------------- Discovered by trueend5 (trueend5 kapda ir) Computer Security Science Researchers Institute [http://www.KAPDA.ir] __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top