LFIによるデータベースのハッキング

悪いコードが悲しい結果を招くことはおそらく秘密ではありません。 これは特にサイトに当てはまります。 最近、PHPプログラマーが犯す間違いと、この脆弱性がサイトにどのように現れるかについての記事を読んでいるときに、Local File Inclusionに出会いました。 私はこの脆弱性に非常に興味を持っていたので、 何か壊してより詳細に調べることにしました。

長く検索しなかった後、フォーラムの1つがドイツのWebサイトhttp://www.gamecaptain.deへのリンクを見つけました。 興味深いパラメーターがアドレスバーにすぐに表示されました

画像

これから何かを抽出してみましょう。 まず、ソースコードindex.phpを取得します

画像

変換フィルターを使用しました。 いくつかの動きと...

画像

...私たちと一緒にファイルのソースコード!

このファイルにあるものを分析します。 すぐに、ドイツのプログラマーがミスを犯したサイトを探し始めました。 検索は短命でした


if(!isset($file)) {
if(isset($_POST["file"])) {
$file = $_POST["file"];
} else if (isset($_GET["file"])) {
$file = $_GET["file"];
} else {
if(!isset($sitearea) || $sitearea == "Magazin") {
$file="aktuell.php";
} else {
$file="aktuell_downloads.php";
}
}
}


ファイルを接続する必要がない別の顕著な例。

それから、もちろん、データベース接続のあるファイルを探し始めました。 明らかにこれは行です

require("includes/connect.inc.php");

include / connect.inc.phpに対して、index.phpに対して行ったのと同じ操作を実行します

画像

受信したbase-64文字セットをデコードし、データベースに接続するための情報を取得します

画像

接続する...

画像

それだけです!

Source: https://habr.com/ru/post/J144455/


All Articles