SCW图标
英雄背景无分隔线
博客

セキュア・コーディング・ガイドラインはどのように進化するか

ピーター・ド・クレマー
发表于 2017 年 9 月 15 日
最后更新于 2026年3月10日

先週、セキュア・コーディング・ガイドラインを最新のものにするために、Java Springの脆弱性を調査していました。プラットフォーム上の既存の課題を調べていたところ、JSP ページに URL パラメータを表示することで、XSS に関するいくつかの問題に気づきました。誤ったコード例は以下のようになります。

<input type="text" name="username" value="${param.username}">

正しい解決策は、URLパラメータを完全に削除することでした。説明には、URLパラメータを正しい方法でエスケープすることも安全であると記載されています。

今の私の仕事は、安全なコードを書きながら、開発者にとってわかりやすい方法で安全なコーディングガイドラインを策定し、開発者をできるだけ制限しないようにすることです。この場合は、開発者に意図した機能をそのまま残してもらい、URL パラメーターをエスケープして安全に実行することを推奨したいと思います。こうすることで、コードに XSS の脆弱性が含まれなくなります。上記の例は次のように保護できます。

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

そして、これが数日間の安全なコーディングガイドラインでしたが、私が偶然見つけました 表現言語インジェクションに関するOWASPページ。このページでは、Spring Expression Language (SpEl) がどのようにインジェクションに悪用され、リモートコード実行などの深刻な影響が生じる可能性があるかについて説明します。当社のセキュア・コーディング・ガイドラインに従っているコードが依然としてこの脆弱性の影響を受ける可能性があるかどうかは、私次第でした。そこで、SpEl 式を評価するための簡単なテストアプリケーションを書き、Xml エスケープを使用した場合と使用しない場合で入力をテストして、検出されないシナリオが見つかるかどうかを確認しました。実際に行ったのですが、XmlScape で捕捉された文字を一切含まない悪質な表現があります。作業デモをGitHubに公開しました。GitHubで見つけることができます。 ここに

そしてもちろん、「Spring Expression Language (SpEl) を使用して URL パラメーターを表示したり評価したりしないでください」という安全なコーディングガイドラインを更新しました。

この問題の全体的な影響は、次の理由により深刻です。-攻撃者がアプリケーションサーバーの機能を変更したり呼び出したりする可能性があります。-データや機能への不正アクセス、アカウントの乗っ取り、リモートコードの実行。-攻撃成功による機密性と完全性の懸念

https://www.owasp.org/index.php/Expression_Language_Injection

显示资源
显示资源

先週、セキュア・コーディング・ガイドラインを最新のものにするために、Java Springの脆弱性を調査していました。

您还有兴趣吗?

アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示
分享:
领英品牌社交x 标志
著者
ピーター・ド・クレマー
发表于2017年9月15日

アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者

分享:
领英品牌社交x 标志

先週、セキュア・コーディング・ガイドラインを最新のものにするために、Java Springの脆弱性を調査していました。プラットフォーム上の既存の課題を調べていたところ、JSP ページに URL パラメータを表示することで、XSS に関するいくつかの問題に気づきました。誤ったコード例は以下のようになります。

<input type="text" name="username" value="${param.username}">

正しい解決策は、URLパラメータを完全に削除することでした。説明には、URLパラメータを正しい方法でエスケープすることも安全であると記載されています。

今の私の仕事は、安全なコードを書きながら、開発者にとってわかりやすい方法で安全なコーディングガイドラインを策定し、開発者をできるだけ制限しないようにすることです。この場合は、開発者に意図した機能をそのまま残してもらい、URL パラメーターをエスケープして安全に実行することを推奨したいと思います。こうすることで、コードに XSS の脆弱性が含まれなくなります。上記の例は次のように保護できます。

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

そして、これが数日間の安全なコーディングガイドラインでしたが、私が偶然見つけました 表現言語インジェクションに関するOWASPページ。このページでは、Spring Expression Language (SpEl) がどのようにインジェクションに悪用され、リモートコード実行などの深刻な影響が生じる可能性があるかについて説明します。当社のセキュア・コーディング・ガイドラインに従っているコードが依然としてこの脆弱性の影響を受ける可能性があるかどうかは、私次第でした。そこで、SpEl 式を評価するための簡単なテストアプリケーションを書き、Xml エスケープを使用した場合と使用しない場合で入力をテストして、検出されないシナリオが見つかるかどうかを確認しました。実際に行ったのですが、XmlScape で捕捉された文字を一切含まない悪質な表現があります。作業デモをGitHubに公開しました。GitHubで見つけることができます。 ここに

そしてもちろん、「Spring Expression Language (SpEl) を使用して URL パラメーターを表示したり評価したりしないでください」という安全なコーディングガイドラインを更新しました。

この問題の全体的な影響は、次の理由により深刻です。-攻撃者がアプリケーションサーバーの機能を変更したり呼び出したりする可能性があります。-データや機能への不正アクセス、アカウントの乗っ取り、リモートコードの実行。-攻撃成功による機密性と完全性の懸念

https://www.owasp.org/index.php/Expression_Language_Injection

显示资源
显示资源

要下载报告,请填写以下表格。

恳请允许我们向您发送有关本公司产品及/或相关安全编码主题的信息。我们始终以高度谨慎的态度处理您的个人信息,绝不会出于营销目的将其出售给其他公司。

送信
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。设置完成后,您可以再次将其禁用。

先週、セキュア・コーディング・ガイドラインを最新のものにするために、Java Springの脆弱性を調査していました。プラットフォーム上の既存の課題を調べていたところ、JSP ページに URL パラメータを表示することで、XSS に関するいくつかの問題に気づきました。誤ったコード例は以下のようになります。

<input type="text" name="username" value="${param.username}">

正しい解決策は、URLパラメータを完全に削除することでした。説明には、URLパラメータを正しい方法でエスケープすることも安全であると記載されています。

今の私の仕事は、安全なコードを書きながら、開発者にとってわかりやすい方法で安全なコーディングガイドラインを策定し、開発者をできるだけ制限しないようにすることです。この場合は、開発者に意図した機能をそのまま残してもらい、URL パラメーターをエスケープして安全に実行することを推奨したいと思います。こうすることで、コードに XSS の脆弱性が含まれなくなります。上記の例は次のように保護できます。

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

そして、これが数日間の安全なコーディングガイドラインでしたが、私が偶然見つけました 表現言語インジェクションに関するOWASPページ。このページでは、Spring Expression Language (SpEl) がどのようにインジェクションに悪用され、リモートコード実行などの深刻な影響が生じる可能性があるかについて説明します。当社のセキュア・コーディング・ガイドラインに従っているコードが依然としてこの脆弱性の影響を受ける可能性があるかどうかは、私次第でした。そこで、SpEl 式を評価するための簡単なテストアプリケーションを書き、Xml エスケープを使用した場合と使用しない場合で入力をテストして、検出されないシナリオが見つかるかどうかを確認しました。実際に行ったのですが、XmlScape で捕捉された文字を一切含まない悪質な表現があります。作業デモをGitHubに公開しました。GitHubで見つけることができます。 ここに

そしてもちろん、「Spring Expression Language (SpEl) を使用して URL パラメーターを表示したり評価したりしないでください」という安全なコーディングガイドラインを更新しました。

この問題の全体的な影響は、次の理由により深刻です。-攻撃者がアプリケーションサーバーの機能を変更したり呼び出したりする可能性があります。-データや機能への不正アクセス、アカウントの乗っ取り、リモートコードの実行。-攻撃成功による機密性と完全性の懸念

https://www.owasp.org/index.php/Expression_Language_Injection

观看在线研讨会
开始吧
了解更多

请点击以下链接下载此资源的PDF文件。

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

显示报告预约演示
下载PDF文件
显示资源
分享:
领英品牌社交x 标志
您还有兴趣吗?

分享:
领英品牌社交x 标志
著者
ピーター・ド・クレマー
发表于2017年9月15日

アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者

分享:
领英品牌社交x 标志

先週、セキュア・コーディング・ガイドラインを最新のものにするために、Java Springの脆弱性を調査していました。プラットフォーム上の既存の課題を調べていたところ、JSP ページに URL パラメータを表示することで、XSS に関するいくつかの問題に気づきました。誤ったコード例は以下のようになります。

<input type="text" name="username" value="${param.username}">

正しい解決策は、URLパラメータを完全に削除することでした。説明には、URLパラメータを正しい方法でエスケープすることも安全であると記載されています。

今の私の仕事は、安全なコードを書きながら、開発者にとってわかりやすい方法で安全なコーディングガイドラインを策定し、開発者をできるだけ制限しないようにすることです。この場合は、開発者に意図した機能をそのまま残してもらい、URL パラメーターをエスケープして安全に実行することを推奨したいと思います。こうすることで、コードに XSS の脆弱性が含まれなくなります。上記の例は次のように保護できます。

<input type="text" name="username" value="${fn:escapeXml(param.username)}">

そして、これが数日間の安全なコーディングガイドラインでしたが、私が偶然見つけました 表現言語インジェクションに関するOWASPページ。このページでは、Spring Expression Language (SpEl) がどのようにインジェクションに悪用され、リモートコード実行などの深刻な影響が生じる可能性があるかについて説明します。当社のセキュア・コーディング・ガイドラインに従っているコードが依然としてこの脆弱性の影響を受ける可能性があるかどうかは、私次第でした。そこで、SpEl 式を評価するための簡単なテストアプリケーションを書き、Xml エスケープを使用した場合と使用しない場合で入力をテストして、検出されないシナリオが見つかるかどうかを確認しました。実際に行ったのですが、XmlScape で捕捉された文字を一切含まない悪質な表現があります。作業デモをGitHubに公開しました。GitHubで見つけることができます。 ここに

そしてもちろん、「Spring Expression Language (SpEl) を使用して URL パラメーターを表示したり評価したりしないでください」という安全なコーディングガイドラインを更新しました。

この問題の全体的な影響は、次の理由により深刻です。-攻撃者がアプリケーションサーバーの機能を変更したり呼び出したりする可能性があります。-データや機能への不正アクセス、アカウントの乗っ取り、リモートコードの実行。-攻撃成功による機密性と完全性の懸念

https://www.owasp.org/index.php/Expression_Language_Injection

目录

下载PDF文件
显示资源
您还有兴趣吗?

アプリケーションセキュリティ研究者-研究開発エンジニア-博士候補者

了解更多

Secure Code Warrior致力于在整个软件开发生命周期中保护代码,并协助构建将网络安全置于首位的文化。无论您是应用程序安全经理、开发人员、首席信息安全官还是安全相关人员,我们都能帮助您降低与不安全代码相关的风险。

预约演示[下载]
分享:
领英品牌社交x 标志
资源中心

开始所需的资源

其他投稿
资源中心

开始所需的资源

其他投稿