Fortifyの脆弱性と修復案について

8446 ワード

Access Control:DataBaseの脆弱性
原因が現れる
           findById(String id)    ,               ,            。  
for(int i=0; i<10000;i++){
	findById(i);
}

同様のコードですべてのユーザー情報を取得できます.
ソリューション
                 。 findByIdAndUserName(String id, String userName);                     。

Cross-Site Scripting:Reflected(XXSクロススタンドスクリプト攻撃)
原因が現れる
              ,        Web   。 
    
Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("select * from emp where id="+eid);
 if (rs != null) {

rs.next();

String name = rs.getString("name");
 }
 ServletOutputStream out = response.getOutputStream();
 out.print("Employee Name: " + name);
 ...
 out.close();


nameが正常値の場合、プログラムは無償で実行され、nameが

alert("1");
</scritp>
</code></pre> 
  <p>  name </p> 
  <pre><code><image src="">
</code></pre> 
  <p>                       。          。</p> 
  <h2>    </h2> 
  <p>      ,         :</p> 
  <ol> 
   <li>           </li> 
   <li>           <br>                        。       </li> 
  </ol> 
  <pre><code>public Class Utils{
	/**
	 * XXSFilterUtil
	 */
	private XXSFilterUtil() {
		throw new IllegalStateException("Utility class");
	}
	
	/**
	 * specialStrRegex
	 */
	private static String specialStrRegex = "[`~!@#$%^&*()\\+\\=\\{}|:\"?><【】\\/r\\/n]";
	
	/**
	 * filerSpecialChar
	 * 
	 * @param input
	 * @return
	 */
	public static String filerSpecialChar(String input) {
		String encode = Normalizer.normalize(input, Normalizer.Form.NFKC);
		Pattern pattern = Pattern.compile(specialStrRegex);
		Matcher ma = pattern.matcher(encode);
		if (ma.find()) {
			encode = ma.replaceAll("");
		}
		return encode;
	}
}
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC WAP    -->
                    <div id="SOHUCS" sid="1277491332985667584"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js">
                    
                     
                
興味があるかもしれません
  • Maven
    Array_06
    eclipse jdk maven
  • ibatisのqueyrForListとqueryForMapの違い
    bijian1013
    java ibatis
  • LeetCode[ビット演算]-#191ハミング重みの計算
    Cwind
    java ビット演算 LeetCode Algorithm 問題解
  • Javaクラスとオブジェクトの概要
    15700786134
    java
  • linuxの下の2つのネットカードの同じIP
    トリガーされます
    linux
  • Androidはホームキーを押してプログラムを隠してから再度開くことができません
    忌み嫌う_
    アンドロイド
  • クッキーによるユーザーログイン情報の保存と読み出しのインスタンス
    知了ing
    JavaScript html
  • JAVA対象プール
    矮蛋
    java ObjectPool
  • アルファベットで分類:
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z その他
    トップページ -
    私たちについて -
    構内検索 -
    Sitemap -
    権利侵害苦情
    著作権すべてのIT知識ベースCopyRight© 2000-2050 IT知識ベースIT 610.com , All Rights Reserved.
    京ICP備09083238号