代码安全_弱点(脆弱性)分析 CWE

■CWE

Common  Weakness Enumeration 通用缺陷枚举

http://cwe.mitre.org/data/definitions/117.html

脆弱性(ぜいじゃくせい)

・CRLFインジェクションログ (\r\n injection log)(改行 注入 log)

・ディレクトリトラバーサル directory traversal (目录 遍历)

 

■查看方法

http://cwe.mitre.org/data/definitions/117.html

在右上角 【ID Lookup】 中,输入对应的CWE ID 就可以进行查询

代码安全_弱点(脆弱性)分析 CWE

-------

■List詳細

・CWE-117: Improper Output Neutralization for Logs

The software does not neutralize or incorrectly neutralizes output that is written to logs. 

・相关观点 

 Improper Neutralization of CRLF Sequences ('CRLF Injection') (CWE-93)

===================

CRLFインジェクションログ

(攻撃(こうげき)の考慮方式、SQLインジェクションと類似) 

インジェクション  injection 注入

===================

●事例

=============

如果最终生成日志消息的用户输入数据未检查CRLF(换行符)字符,则攻击者可能伪造日志文件中的条目。

logger.info("User's street address: " + request.getParameter("streetAddress"));

=============

上面绿色标记的地方,是用户输入的数据,

用户可以在数据中输入换行,通过换行后的数据,来伪造log

str = XXX 正常的数据 XXXX + \r\n +  XXXXXX  伪造的Log情报 XXXXX

 

・CWE-73: External Control of File Name or Path (文件名或路径的外部控制)

The software allows user input to control or influence paths or file names that are used in filesystem operations.

软件允许用户输入控制或影响文件系统操作中使用的路径或文件名。

・相关观点

  Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') (CWE-22)

   路径名对受限制目录的限制不正确(“路径遍历”)

===================

ディレクトリトラバーサル攻撃は、
ファイル名を要求するプログラムに対してサーバ内の想定外のファイル名(親ディレクトリの移動「../」など)を直接指定することによって、本来許されないファイルの不正な閲覧・取得を狙う攻撃方法です。

===================

ディレクトリトラバーサル とは、
利用者が供給した入力ファイル名のセキュリティ検証/無害化が不十分であるため、ファイルAPIに対して「親ディレクトリへの横断 」を示すような文字がすり抜けて渡されてしまうような攻撃手法のことである。

ディレクトリトラバーサル (英語: directory traversal) とは、
利用者が供給した入力ファイル名のセキュリティ検証/無害化が不十分であるため、ファイルAPIに対して「親ディレクトリへの横断 (traverse)」を示すような文字がすり抜けて渡されてしまうような攻撃手法のことである。

===================

●事例
=============
其中每个用户的配置文件信息都存储在一个单独的文件中。 
所有文件都存储在一个目录中。

=============

知道了自己的目录,只要往上走一层,就可以看到所有user的目录了