0x01の例
ここでは例アーネム月のタイトルです
ヒント:使用SSRF、gopherの再生ネットワーク
0x02のは、コードを投稿しました
<?php
highlight_file(__FILE__);
$x = $_GET['x'];
$pos = strpos($x,"php");
if($pos){
exit("denied");
}
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"$x");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
echo $result;
0x03の分析
まず、x
我々は、制御することができます
X-使用可能な契約gopher
、dict
、http
、https
、file
および他の
file
プロトコルは、ファイルの表示に使用することができ
dict
、ポートをスパイするために使用することができプロトコルを
gopher
プロトコルのサポートGET&POST
、一般的に攻撃ネットワークで使用される要求、ftp
、redis
、telnet
、smtp
、その他のサービスは、あなたにも使用することができgopher
、アクセスするプロトコルをredis
リバウンドshell
まず、ファイルを使用してファイルを読み込みます
最初のスクリプトは、取得するためにディレクトリをスキャンflag.php
。
一般的に、我々はまた読むことができる/etc/hosts
、/etc/passwd
、~/.bash_history
トレイルを表示し、他のファイルを
しかし、コードが(2570パーセントバイパスを使用して)strposが限られています
最後に、私たちが読む/var/www/html/flag.php
ときに手がかりを
読み続けるために/etc/hosts
ネットワークアドレスを取得するために
、ここで我々はネットワークセグメントを取得し、我々はスキャンし続け、それだけで見つけたことができ172.18.0.1|2|3
ますが、アクセスすることができます。
http://101.71.29.5:10012/?x=http://172.18.0.2
以下に示すように存在し、結果を返すLFI
の脆弱性が。
これはちょうどある80
、我々は他のポートの開口部を見て、私たちがいることを見ることができるポートの結果25
ポートも開いており、25
対応しているsmtp
サービス。
あなたが考えることができるので、使用することをgopher
再生するには、プロトコルをsmtp
した後、以前に発見されたとの組み合わせLFI
のアイデアに来て、脆弱性
のgopherの戦いのSMTPを使用して、ログファイルに単語トロイの木馬を残して、LFIが含まれているため、ログファイルを使用してwebshell
、彼らが始め、後に明確な思考を最初に、行わgopherus
スクリプトの生成payload
、gopherus
:住所https://github.com/tarunkant/Gopherus
、詳細な使用方法があります。
ネットワーク内の127.0.0.1:25変更されたアドレスは、その後、URLが過去に送られたエンコード
その後、我々の使用は、ログファイルが含まれている
私たちが今まで行くことができるようにsmtp
言えば、一般的にログファイルの場所、およびlinux
メッセージログファイルのパスがあります
- / var / log / maillogに
- /var/log/mail.log
- の/ var / admの/ maillogに
- /var/adm/syslog/mail.log
その後、我々は、直接接続チョッパーフラグを参照してください
0x04の概要
1は、https://bugs.php.netこれはPHPの脆弱性が含まれているウェブサイトです
例如我们可以利用谷歌语法搜索
site: [https://bugs.php.net](https://bugs.php.net) strpos
図2は、一般に、第1の検出ホストをSSRF、検出ポートは、対応するペイロードを使用して、対応するサービスを見つけ、そして
0x05のリンク
閉鎖された環境、修士WRITEUP別の画像を直接使用するので、リンクはここに掲載定期的な話題は、私を許して!
リンク