- 追加された行はこの色です。
- 削除された行はこの色です。
*img.inc.phpで指定されるファイル名のチェックがされていない
-ページ: BugTrack
-投稿者: [[reimy]]
-優先順位: 重要
-状態: 提案
-状態: 着手
-カテゴリー: プラグイン
-投稿日: [[2002-06-30]] (日) 23:14:01
-バージョン:
**メッセージ
-指定されたファイル名のチェックがされていない
--gif、jpg、jpeg、pngに限定すべき、aviなど動画はいらんでしょ。cgiを許すとやばそうな…
--ファイル名に使えない文字がないかのチェック→XSS脆弱性の可能性も
----
-が~ん。そんなのが残っていたのか。。。hackだhack!! -- [[seagull]] SIZE(1):2002-06-30 (日) 23:14:54
-。。。ってか、URLエンコードすべき所をHTMLエンコードしてるし。。一回ふやかさないと。。 -- [[seagull]] SIZE(1):2002-06-30 (日) 23:26:13
-URLはファイル名云々とは関係ない話なので、文字種検査しては行けません。単に、URLエンコードしてからHTMLエンコードを(この順番で)すればいいだけなんですけどね。(HTMLエンコードは一応なされているので、XSSにはならないです) -- [[seagull]] SIZE(1):2002-07-01 (月) 00:36:05
-% ; ) ( +などはそのまま通すみたいです。 -- [[reimy]] SIZE(1):2002-07-01 (月) 00:43:15
-URLエンコードしてませんからね。それらの文字がURLに入っていた場合、XSSや誤動作を回避するのは呼ばれた側の責任です。 -- [[seagull]] SIZE(1):2002-07-01 (月) 00:48:09
-あ~でも、思った通りのURLが渡せないのは問題だなぁ~ -- [[seagull]] SIZE(1):2002-07-01 (月) 00:48:39
-とりあえず、画像以外が貼られるのを防ぐための暫定処置 -- [[reimy]]
<?
// $id$
function plugin_img_convert()
{
if(func_num_args()!=2) {
return;
}
$aryargs = func_get_args();
$url = $aryargs[0];
$align = strtoupper($aryargs[1]);
if($align == 'R' || $align == 'RIGHT') {
$align = 'right';
}
elseif($align == 'L' || $align == 'LEFT') {
$align = 'left';
}
else {
return "<br style=\"clear:both\">";
}
if(preg_match("/^http:\/\/(\S+?)(\.jpg|\.jpeg|\.gif|\.png)$/si", $url) == false) return;
return "<div style=\"float:$align;padding:.5em 1.5em .5em 1.5em\"><img src=\"$url\" alt=\"\" /></div>";
}
?>
-上記変更でPukiWiki添付ファイルの直リンク -- [[たらこせる]] SIZE(1):2002-07-02 (火) 02:23:05
-ってどうなるんでしょうか。今後は使わないほうが、よい? -- [[たらこせる]] SIZE(1):2002-07-02 (火) 02:23:42
-http:\/\/(\S+?)(\.jpg|\.jpeg|\.gif|\.png)$/siを見る限りでは大丈夫ってことですかね。.swfくらいは残しても...ダメですか? -- [[たらこせる]] SIZE(1):2002-07-02 (火) 02:26:23
-でも.swfって<img>では見えなくないです? -- [[ゆう]] SIZE(1):2002-07-02 (火) 02:42:05
-''はっ''...そうですね。すいません...。 -- [[たらこせる]] SIZE(1):2002-07-02 (火) 02:48:05
-いちおう、PukiWiki本体でURL直書きしたときも画像は上記の4つの拡張子のみを許可していたので、それに準拠しました。 -- [[reimy]] SIZE(1):2002-07-02 (火) 03:18:44
-[[cvs:plugin/img.inc.php]] アップしました。 -- [[ゆう]] SIZE(1):2002-07-02 (火) 14:38:39
#comment