JD.ST.POS
JD.ST.POS は、String.indexOf(..) メソッドの結果が 0 より大きな値に対してチェックされる場合に検出されます。
脆弱性とリスク
String.indexOf(..) メソッドは、検出されたシンボルの位置を返し、その値は 0 から始まるため、0 より大きな値に対するチェックは不適切です。シンボルが文字列の最初にあるケースが欠落しています。
軽減と防止
チェックの対象の >0 を ==-1 または >=0 に置き換えてください。
例 1
コピー
public boolean checkFile(String file) {
if (file.indexOf("/")>0) {
return true;
}
return false;
}
JD.ST.POS が 10 行目の呼び出しに対して報告されています。'indexOf' メソッドの結果は、> 0 の代わりに >=0 または < 0に対してチェックする必要があります。