うpろだ管理してる狼住人いたら大至急こい

このエントリーをはてなブックマークに追加
1名無し募集中。。。@転載禁止
【速報】俺氏複数アップローダースクリプトの脆弱性発見 任意の拡張子のファイルがアップロード可能
http://maguro.2ch.net/test/read.cgi/poverty/1394376340/
1 名前:番組の途中ですがアフィサイトへの転載は禁止です[] 投稿日:2014/03/09(日) 23:45:40.11 ID:GgkYfs4Y0● ?2BP(11919)
なおHello-UPを利用している嫌儲ろだ(新)は先ほど対策完了した模様
既に更新を終了?しているスクリプトもあるので方法と対策方法をここに書く、どうせ対策方法だけ書いてもバレるし

今のところ影響を受けると思うのは次のスクリプト:
Hello-UP http://idol.nm.land.to/
PHPぁぷろだ(TOGASHI)改ver2※
金糸雀式JLABscript
(いずれも http://livech.sakura.ne.jp/jlab/souko/jlab.html で公開)
※他にも TOGASHI(実況) というバージョンがあり、それも影響を受けるかもしれないがソースが公開されていないので不明
他にもあるかも?

方法
これらスクリプトはGETやPOSTで送られてきたクエリをそのまま展開してしまう
> extract($_GET);
> extract($_POST);
> extract($_COOKIE);
> extract($_SERVER);

さらに上で挙げたスクリプトは、設定ファイルを読み込んだ後にクエリを展開しているため、変数名に合ったクエリを指定すれば設定の上書きが可能となってしまう

PHPはクエリ名に[]を付けるだけで勝手に配列として認識される→拡張子設定の上書きも可能

対策方法
クエリを展開した後に設定ファイルを読み込ませる
行数が足りないのでアップローダースクリプトを提示してくれれば詳しく解説します
2名無し募集中。。。@転載禁止:2014/03/10(月) 00:50:54.08 0
なんか怖いからロダやってないけど
extractって危険だな
ためになった+1
3名無し募集中。。。@転載禁止:2014/03/10(月) 00:52:43.19 0
なんかわからんけど上げとくのに協力しよう
4名無し募集中。。。@転載禁止:2014/03/10(月) 00:54:25.42 0
ハローアップてうちらのとこのじゃん
5名無し募集中。。。@転載禁止:2014/03/10(月) 00:54:41.51 0
phpてクソだな
6名無し募集中。。。@転載禁止:2014/03/10(月) 01:49:37.29 0
入力データをextractに食わせるとか阿呆すぎる
7名無し募集中。。。@転載禁止:2014/03/10(月) 01:52:40.40 0
PHPがクソなんじゃなくてプログラマがクソ
同じ事はどんな言語でも出来る
8名無し募集中。。。@転載禁止:2014/03/10(月) 02:11:02.27 0
PHPが糞なのは事実だ
この件に関しては使い方がいけないけど
9名無し募集中。。。@転載禁止:2014/03/10(月) 02:18:08.49 0
MS系の言語はクソだけどPHPは別にクソじゃないだろ
Cライクな文法だしPHP否定はその系統の否定にもなる
危険な言語というのならC言語で適当に書くのが一番危ないわけだし
10名無し募集中。。。@転載禁止:2014/03/10(月) 02:18:50.14 0
わけわかめだけどage
11名無し募集中。。。@転載禁止:2014/03/10(月) 02:33:46.02 0
スタックとローカル変数を同一のスタックポインタで管理してる仕組みが悪いな
これって何とかならないのかな
12名無し募集中。。。@転載禁止:2014/03/10(月) 02:35:09.69 0
XSSとかよくわからんしPHPこわいお
13名無し募集中。。。@転載禁止:2014/03/10(月) 02:36:43.17 0
>>11
は?
14名無し募集中。。。@転載禁止:2014/03/10(月) 02:44:36.21 0
PHPよくしらないがEXTR_SKIPじゃダメなのか?
15名無し募集中。。。@転載禁止:2014/03/10(月) 02:44:56.08 0
Cライクな文法が古臭い
配列のサイズがcount( $array )とか古臭い
グローバル変数を使いにくくしてるかと思えばmagic_quotes_gpcなんてものがあったり
レンタルサーバだと古いバージョンだったりするから便利になるんだったら早くどんどん進化しろよ
16名無し募集中。。。@転載禁止:2014/03/10(月) 03:05:14.82 i
任意の拡張子のファイルがアップロードできたら何が問題なの?
イミフすぎる
17名無し募集中。。。@転載禁止:2014/03/10(月) 03:12:10.76 0
そうだね
どうせ拡張子では無関係なデータ置き場として使われることを防ぎきれないし
18名無し募集中。。。@転載禁止:2014/03/10(月) 06:22:17.94 0
任意の拡張子のファイルがアップロードできる

動かしたい任意のコードを書いた hogehoge.php というファイルをアップロード

アップロードした hogehoge.php を呼び出すことで任意のコードを実行できる

かなり致命的
19名無し募集中。。。@転載禁止:2014/03/10(月) 06:30:15.80 0
ちなみにハロガ(改)の最終版をさらっとチェックしたけど

extract した後で conf 読み
extract は EXTR_SKIP付き

ということで、今回の件に関しては問題ない模様

でももし自分で作るのなら extract は怖くて使わんだろうなぁ
20名無し募集中。。。@転載禁止:2014/03/10(月) 08:02:49.85 i
>>18
普通のうpろだはphpではアップロードできないの?
21名無し募集中。。。@転載禁止:2014/03/10(月) 09:29:56.79 0
何やらがんばって
22名無し募集中。。。@転載禁止:2014/03/10(月) 10:58:16.00 0
◆更新履歴
2014/03/10 v2.7a configの読み込み位置の修正

これじゃ意味わからんだろ
最低でも「任意の拡張子のファイルをアップロードできる脆弱性を修正」くらい書けよ

あともーこーは Windows + IIS だから exe ファイルアップロードされて即死じゃないの?
よく知らんけど IIS って SYSTEMアカウントじゃなかった?
23名無し募集中。。。@転載禁止:2014/03/10(月) 13:27:04.88 0
そんなんで即死しねえよ
24名無し募集中。。。@転載禁止:2014/03/10(月) 13:54:42.17 0
extractのマニュアルにも明記してある禁忌事項

http://www.php.net/manual/ja/function.extract.php
警告
extract() をユーザー入力 ($_GET や $_FILES など) のような信頼できないデータについて使用しないでください。
25名無し募集中。。。@転載禁止:2014/03/10(月) 15:39:41.61 i
phpでアップロードされたらどうなるの?
アップロードされた瞬間にそのろだが死ぬの?
それともろだは生きたままだけどダウンロードしようとした人のPCが死ぬの?
26名無し募集中。。。@転載禁止:2014/03/10(月) 15:57:44.38 0
>>25
既にサーバ丸ごと乗っ取られて問題になってるのを知らないのか?
27名無し募集中。。。@転載禁止:2014/03/10(月) 16:00:05.59 0
まずバックドアしかけられていつでも鯖が遠隔操作できるように出来る
あとロダを開いた奴に任意の埋め込みコードを実行させることが出来る
28名無し募集中。。。@転載禁止:2014/03/10(月) 16:03:49.12 i
>>26>>27
まじかよ
そう書かないとわからんて
任意の拡張子でアップロードできるっていわれてもさ
大多数の人は「うp主がZIPやMP3を選べるのか 便利だな」
「他のろだは選べないのかよw不便すぎw」って思うんじゃね
29名無し募集中。。。@転載禁止:2014/03/10(月) 16:06:35.29 0
そもそも論として実行可能ファイルあげられたとしてもそれ実行可能なようにクリックできる方がおかしい
ストリームでデータだけ送れよ
30名無し募集中。。。@転載禁止:2014/03/10(月) 16:13:00.10 0
ファイルへのURL直でなく
単純なつくりでスクリプトがデータを送るようにするとブラウザのキャッシュが効かなくなるから
最近見たやつでも毎回ダウンロードするからなあ
それにダウンロードして保存しようとするとファイル名がスクリプトの名前になるとか起きなかったっけ
31名無し募集中。。。@転載禁止:2014/03/10(月) 16:34:20.72 i
もしYouTubeとかでこういうのが起きたら世界中のPCクラッシュできるのかな?
例えばグーグルが世界中のWindowsPCを減らしてAndroidタブレットに以降させようと思ったら
こっそり脆弱性を作っとくだけでハッカーが実行してくれるんじゃ
32名無し募集中。。。@転載禁止:2014/03/10(月) 16:54:51.05 0
いやPCがクラッシュするんじゃない
33名無し募集中。。。@転載禁止:2014/03/10(月) 17:05:35.49 i
ロダを開いた奴に任意の埋め込みコードを実行させることが出来る

ってことはPCがクラッシュしてしまうような無茶なコードも可能なんじゃないの?
34名無し募集中。。。@転載禁止