vuln.sg  

vuln.sg Vulnerability Research Advisory

BlognPlus(ぶろぐん+) における SQL インジェクションの脆弱性

by Tan Chew Keong タン チュー ケオン
Release Date: 2008-07-06

   [en] [jp]

概要

BlognPlus (ぶろぐん+) v2.5.5 は、何かSQLインジェクションの脆弱性を修正しました。しかし、v2.5.5 には、他のSQLインジェクションの脆弱性を発見しました。 悪意のある人は、この脆弱性を利用しデータベースのデータを盗難することができます。そのうえ、この脆弱性を利用して、MySQLサーバーの運用を妨害する可能性も存在です。


問題を確認したバージョン
問題

BlognPlus(ぶろぐん+) v2.5.5 は、何かSQLインジェクションの脆弱性を修正しました。しかし、v2.5.5 には、他のSQLインジェクションの脆弱性を発見しました。

悪意のある人は、この脆弱性を利用しデータベースのデータを盗難することができます。そのうえ、この脆弱性を利用して、 MySQLサーバーの運用を妨害する可能性も存在です。

1) 「運営者情報」 と 「最新記事」 のSQLインジェクションの脆弱性

BlognPlus の "index.php" は、"p" と "e" パラメータ処理が不十分であるため、SQL インジェクションの脆弱性が存在します。 悪意のある人は、この脆弱性を利用しデータベースのデータを盗難することができます。

脆弱性の確かめる方法は下記です。BlognPlus と MySQL v5.0/PostgreSQL v8.x を使って、下記の例を利用して、脆弱性を確かめて下さい。


例 1:

「運営者情報」 SQLインジェクションの脆弱性を利用し管理者のパスワードハッシュを盗難します。

http://webserverIPaddress/blogn255/blognplus/index.php?p=9999999[SQL]


例 2:

「最新記事」 SQLインジェクションの脆弱性を利用して、MySQL は悪意のある人に100% のCPU を使わせる。

http://webserverIPaddress/blogn255/blognplus/index.php?e=9999999[SQL]

 

2) PHP の "magic_quotes_gpc=Off" セッティングをつかえば、"d" と "m" のSQLインジェクションの脆弱性

BlognPlus の "index.php" は、"d" と "m" パラメータ処理が不十分であるため、SQL インジェクションの脆弱性が存在します。 悪意のある人は、この脆弱性を利用しデータベースのデータを盗難することができます。

脆弱性の確かめる方法は下記です。BlognPlus と MySQL v5.0/PostgreSQL v8.x を使って、PHP の "magic_quotes_gpc=Off" セッティングを使って、下記の例を利用して、脆弱性を確かめて下さい。


例 1:

"d" パラメータ SQLインジェクションの脆弱性を利用し管理者のパスワードハッシュを盗難します。

注意: テスト前に、下記例の 20080623 は、記事のある日付に変わって下さい。

http://webserverIPaddress/blogn255/blognplus/index.php?d=20080623'[SQL]


例 2:

"m" パラメータ SQLインジェクションの脆弱性を利用し管理者のパスワードハッシュを盗難します。

注意: テスト前に、下記例の 20080623 は、記事のある日付に変わって下さい。

http://webserverIPaddress/blogn255/blognplus/index.php?m=20080623'[SQL]

 


対策

Version 2.5.6 へのバージョンアップをしてください。修正版のダウンロード。 ベンダーに公開される脆弱性情報は、こちらです。


発見と報告の経緯

2008年06月28日 - 脆弱性の発見。
2008年06月29日 - ベンダーに報告しました。
2008年06月30日 - ベンダーから答えを受け取りました。
2008年06月30日 - ベンダーに脆弱性の確かめる方法を送りました。
2008年07月04日 - ベンダーは修正版をリリースしました。
2008年07月06日 - 本脆弱性の公開。

Contact
For further enquries, comments, suggestions or bug reports, simply email them to