好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Free Hosting Manager V2.0.2多个sql注射 - 网站安全 - 自

软件 : Free Hosting Manager V2.0.2    Multiple SQLi                                                                                                            

 

作者 : Saadat Ullah , saadi_linux@rocketmail测试数据                                 

 

作者页面: http://security-geeks.blogspot测试数据  

开发者: http://HdhCmsTestfhm-script测试数据  

下载 地址 : http://HdhCmsTestfhm-script测试数据/download.php    

 

+---+[ 多个 SQL injection]+---+  

 

Its is vulnerable to SQLi on many file some of them are..  

 

   

 

http://HdhCmsTest2cto测试数据 /Free/clients/reset.php?code=[SQLi]  

 

http://HdhCmsTest2cto测试数据 /Free/clients/tickets.php?id=[SQLi]  

 

http://HdhCmsTest2cto测试数据 /free/clients/viewaccount.php?id=[SQLi]  

 

Cookie based injeciton In   

 

http://HdhCmsTest2cto测试数据 /free/clients/home.php  

 

inject the cookie value clientuser  

 

http://HdhCmsTest2cto测试数据 /free/clients/register.php ---> SQLi on all POST Fields.  

 

   

 

Proof Of Concept  

 

In home.php  

 

Calling a function auth() and what it is   

 

   

 

if ((isset($_COOKIE['clientuser'])) && isset($_COOKIE['clientpass']) && isset($_COOKIE['clientid'])) {  

 

   

 

$clientuser = $_COOKIE['clientuser'];  

 

$clientpass = $_COOKIE['clientpass'];  

 

$clientid = $_COOKIE['clientid'];  

 

$this->clientuser = $_COOKIE['clientuser'];  

 

$this->clientpass = $_COOKIE['clientpass'];  

 

$this->clientid = $_COOKIE['clientid'];  

 

return true;  

 

   

 

$dbquery = @ mysql _query("SELECT * FROM clients WHERE id='$clientid' AND username='$clientuser' AND password='$clientpass'") or die(mysql_error());  

 

   

 

   

 

In Reset.php  

 

http://HdhCmsTest2cto测试数据 /Free/clients/reset.php?code=[SQLi]  

 

   

 

elseif ((isset($code)) || ($_GET['do'] == "code")) {  

 

   

 

$details = mysql_query("SELECT * FROM clientpwactivation WHERE activationcode='$code'")   

 

or die(mysql_error());  

 

   

 

In tickets.php  

 

http://HdhCmsTest2cto测试数据 /Free/clients/tickets.php?id=[SQLi]  

 

if ((isset($_GET['id'])) && ($_GET['action'] == "close") && ($_GET['confirm'] == "true")) {  

 

$fhm->closeticket($_GET['id']);  

 

.  

 

.  

 

$checkticket = mysql_query("SELECT * FROM tickets WHERE id='$ticket' AND clientid='$this->clientid'") or die(mysql_error());  

 

   

 

In Viewaccount.php  

 

http://HdhCmsTest2cto测试数据 /free/clients/viewaccount.php?id=[SQLi]  

 

   

 

$id = $_GET['id'];  

 

.  

 

$getacct = mysql_query("SELECT * FROM orders WHERE id='$id' AND clientid='$fhm->clientid'") or die(mysql_error());  

 

   

 

In register.php  

 

   

 

$firstname = stripslashes($_POST['first_name']);  

 

$lastname = stripslashes($_POST['last_name']);  

 

$company = stripslashes($_POST['company']);  

 

$address = stripslashes($_POST['address']);  

 

$address2 = stripslashes($_POST['address_2']);  

 

$country = stripslashes($_POST['country']);  

 

$city = stripslashes($_POST['city']);  

 

$state = stripslashes($_POST['state_region']);  

 

$postcode = stripslashes($_POST['postal_code']);  

 

$telnumber = stripslashes($_POST['tel_number']);  

 

$faxnumber = stripslashes($_POST['fax_number']);  

 

$emailaddress = stripslashes($_POST['email_address']);  

 

$username = stripslashes($_POST['username']);  

 

$password1 = stripslashes($_POST['password']);  

 

$password2 = stripslashes($_POST['confirm_password']);  

 

.  

 

.  

 

.  

 

.  

 

.  

 

.  

 

$insertuser = mysql_query("INSERT INTO clients VALUES('', '$username', '$md5pass', '$firstname', '$lastname', '$company', '$address', '$address2', '$city', '$country', '$state', '$postcode', '$telnumber', '$faxnumber', '$emailaddress', '$startingcredits', '1', '', '', '$timestamp') ")   

 

   

 

Only using stripslahes which will not protect against doing sql injection attack.  

 

   

 

#independent Pakistani Security Researcher  

 

查看更多关于Free Hosting Manager V2.0.2多个sql注射 - 网站安全 - 自的详细内容...

  阅读:75次