<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/k_tech/">
    <title>k_tech @ ウィキ</title>
    <link>http://w.atwiki.jp/k_tech/</link>
    <atom:link href="https://w.atwiki.jp/k_tech/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>k_tech @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2010-01-28T16:22:40+09:00</dc:date>
    <utime>1264663360</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/26.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/43.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/51.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/50.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/33.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/k_tech/pages/49.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/25.html">
    <title>セキュリティテスト</title>
    <link>https://w.atwiki.jp/k_tech/pages/25.html</link>
    <description>
       制限時間40分
 
 問題１(各１点  全８点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 インジェクション（injection）とは、内部に何かを注入することを意味する言葉だ。
 インジェクション攻撃とは、( A )がごく普通に受け取る入力データの中に
 セキュリティを( B )するような( C )を巧みに混入し、
 それをコンピュータ内部で機能させてしまう( D )のことをいう。
 インジェクション攻撃の中で最も代表的なものには、( E )に干渉して
 情報漏えい・情報改ざんを引き起こす( F )攻撃がある。
 そのほかにも、シェルに干渉する( G )、XML検索条件を
 かく乱するXPathインジェクション、ディレクトリ検索条件に干渉する
 ( H )といった( D )が知られている。
 
 A.（      ） B.（      ） C.（      ） D.（      ）E.（      ） F.（      ） G.（      ）
 H.（      ）
 
 1.攻撃手法  2.攻撃手口  3.防止手口  4.防止手法  5.ソース  6.サーバー
 7.自分  8.システム  9.サービス  10.プログラム  11.親身  12.深刻
 13.悪く  14.想定内  15.侵害  16.確認  17.ソーズ  18.コンテキスト
 19.コマンド  20.仕掛け  21.サーバ  22.PC  23.内部  24  データベース
 25.SOLインジェクション  26.SOSインジェクション  27.SQLインジェクション
 28.書き方  29.操作  30.O&#039;Sコマンドインジェクション
 31.OSコマンドインジェクション  32.ディレクトリトラバーサル
 33.LDAPインジェクション  34.NDAPインジェクション
 
 
 
 問題２(各１点  全４点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 下記SQLのuidに入る値として、攻撃の効果を選択しなさい
 SELECT uid FROM account_table WHERE uid=&#039;{攻撃}&#039; AND pw=&#039;任意の文字列&#039;
     A. シングルクォーテーション
     B. OR 1=1
     C. --
 
 A.（      ） B.（      ） C.（      ）
 
 1.文字列を不正な値に変換
 2.データを削除する
 3.文字列定数の内に入れる
 4.常にFALSEとなるよう、検索条件をねじ曲げる
 5.常にFALSEとなるよう、検索条件を正しくする
 6.常にTRUEとなるよう、検索条件をねじ曲げる
 7.常にTRUEとなるよう、検索条件を正しくする
 8.文字列定数の外に出る
 9.注釈を入れる
 10.コメントを挿入する
 11.お知らせ枠を挿入する
 12.それ以内の内容をコメントとして無視させる
 13.それ以内の内容をコメントとして作用させる
 14.それ以内の内容をコメントとして無視出来ない
 13.それ以降の内容をコメントとして無視させる
 14.それ以降の内容をコメントとして作用させる
 15.それ以降の内容をコメントとして無視出来ない
 
 この攻撃を何と言うか書きなさい
 [                                                            ]
 
 
 
 問題３(各１点  全５点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 Webサーバ内のファイルがインターネット上の（ A ）によって
 どんどん読み出されてしまうセキュリティ問題のカテゴリーを
 （ B ）と言う。
 これは（ C ）のうちもっとも基本的なものだ。
 （ B ）対策ができていない Webサイトは、
 最もセキュリティレベルの低いサイトの部類に入る。
 このようなところでは、ほかのセキュリティ脆弱性対策を
 行ってもほとんど効果がない。
 
 （ B ）のカテゴリーの問題には、
 データの蓄積場所としてWeb公開領域を使っている、
 サーバ内のファイルを限定して提供するはずのプログラムが
 逆にあらゆるファイルを流出させてしまう、
 （ D ）の（ E ）が何らかの
 形で読み出されてしまう、などがある。
 
 A.（      ） B.（      ） C.（      ） D.（      ）E.（      ）
 
 1.管理者  2.侵入者  3.株式会社  4.攻撃者  5.潜伏者
 6.ファイル問題  7.ソース流出  8.カテゴリーA  9.カテゴリーB
 10.ファイル流出  11.Webアプリケーションの危弱性
 12.Webアプリケーションの強み  13.Webアプリケーションの弱点
 14.Webアプリケーションの脆弱性  15.システム
 16.Webアプリケーション  17.サービス  18.ソースコード
 19.プログラム  20.コード
 
 
 
 問題４(各１点  全７点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 Webアプリケーションと（ A ）の間でやり取りされる
 （ B ）が第三者に知られてしまうと、
 その第三者も正規ユーザとまったく同じアクセスを
 手にすることができる。
 他人の（ B ）の値を何らかの方法で突き止め、
 それを自分で使うことによって（ C ）のセッションの続きを
 横取りするのが（ D ）である。
 （ D ）が攻撃者にとって「効果的」である理由は、
 セッションが開始される時点で正規のユーザが通過したであろう
 「（ E ）」あるいは「（ F ）」の関門と対決することなく、
 すでに他人が確保した（ G ）としての権限を
 横取りできるところにある。
 
 A.（      ） B.（      ） C.（      ） D.（      ） E.（      ）
 F.（      ） G.（      ）
 
 1.あなた  2.わたし  3.画面  4.ブラウザ  5.PC  6.クッキーID
 7.hiddenキー  8.セッションID  9.セッションキー  10.他人
 11.第三者  12.小学生  13.飛行機乗っ取り  14.情報乗っ取り
 15.セッション乗っ取り  16.セッションすり替え  17.指紋認証
 18.ユーザ確認  19.詐欺  20.ユーザ認証  21.入門  22.ログイン
 23.クライアント認証  24.最高権限者  25.一般ユーザ
 26.Webクライアント
 
 
 
 問題５(各１点  全１０点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 HTTP CookieによるセッションIDの搬送は、
 （ A ）と呼ばれる攻撃に対して不利になる。
 この攻撃は、別の（ B ）に用意した罠の（ C ）を踏ませるなどして、
 （ D ）の最終決済や（ E ）など、
 セッション内の重要な処理ページを呼び出すよう被害者ユーザを（ F ）し、
 被害を及ぼすものだ。
 HTTP Cookieはその性質上、正規のリンクだけでなく、
 罠のリンクを通じての（ G ）であっても、
 （ G ）先が所定のWebサイトであればブラウザから自動で（ H ）される。
 そのため、正規のセッションが保たれた中で、
 （ユーザ）の意図しない画面遷移と処理が行われてしまうのである。
 hiddenフィールドにセッションIDを搭載する方式は、
 こうした問題への対策としてしばしば提唱されるようになってきた。
 この方式では、（ I ）の呼び出しのたびにセッションIDを持つ項目が
 （ H ）されるよう、毎回（ J ）のHTMLタグを構成する必要がある。
 攻撃者がどこかに偽のリンクを用意したとしても、
 そこに正規のセッションIDの値を持つ（ J ）項目を
 設けることができなければ、罠は機能しない。
 hiddenフィールドでセッションIDを搬送する方式では、
 各ページに（ J ）タグを組み込む必要があり、HTMLの記述が煩雑になる。
 そのため、（ A ）攻撃を避けたい重要な場面に
 限ってhiddenフィールドによるセッションIDの「補強」を
 行うといった対策のしかたもある。
 
 A.（      ）B.（      ）C.（      ） D.（      ）E.（      ）
 F.（      ）G.（      ）H.（      ） I.（      ）J.（      ）
 
 1.ディッレクトリトラサーバル  2.SQLインジェクション
 3.リクエストフォージェリー  4.退会
 5.クロスサイトリクエストフォージェリー  6.パラメータからの情報流出
 7.サービス  8.サイト  9.企業  10.今期  11.今年度  12.ショッピング
 13.ウィンドショッピング  14.退場  15.リンク  16.誘惑  17.お誘い
 18.困惑  19.誘導  20.アクセス  21.被害  22.アクセク  23.早出
 24.送出  25.更新  26.作者  27.ユーザ  28.見出し  29.ページ
 30.フォーム  31.画面  32.コメント
 
 
 
 問題６(各２点  全１０点)
 
 下記入力データを特殊記号に書き換えたまえ
 
 入力データ            特殊記号
     &lt;       →    [              ]
     &gt;       →    [              ]
     &quot;       →    [              ]
     &#039;       →    [              ]
     &amp;       →    [              ]
 
 
 
 問題７(各１点  全５点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 プロキシサーバは、Webクライアントから送られてくる（ A ）を中継し、
 Webサーバから（ B ）を受け取る。
 このとき、組織内の多くの人々が同一のページを見に行く場合を考慮して、
 取得したWebサーバのレスポンスを（ C ）に保存する。
 こうしておけば、以降の同じページへのリクエストに対し、
 実際のWebサーバにアクセスすることなく迅速にレスポンスを返すことができる。
 このしくみを逆手に取ったのが（ D ）による偽ページ攻撃だ。
 攻撃者は脆弱なWebアプリケーションを悪用して1つの（ A ）から
 2つのレスポンスを返させるのに続いて、もう1つ（ A ）を送り出す。
 この第2のリクエストには、そのサイトの中でも多くの人々がアクセスすると
 考えられるページ、たとえばトップページの（ E ）を仕込む。
 
 A.（      ）B.（      ）C.（      ） D.(  )  E.（      ）
 
 1.HTTPレスボンス  2.FFFTPレスポンス  3.HTTPリクエスト
 4.レスポンスヘッダー  5.リクエストフォージェリー  6.HTTPレスポンス
 7.キャッシュレス  8.HTTPレスポンス分割  9.キャッシュシング
 10.キャッシュサーバー  11.キャッシュ  12.URL  13.URI  14.パラメータ
 
 
 
 問題８(各１点  全６点)
 
 IPAに届け出のあったWebアプリケーションの脆弱性の件数多い順に
 空いている欄に番号を振れ（2004年7月8日～2004年12月31日までの届出）
 
 ・クロスサイトスクリプティング  [   ]
 ・パス名パラメータの未チェック  [   ]
 ・価格等の改竄                  [   ]
 ・セッション管理の不備          [ 7 ]
 ・HTTPレスポンス分割            [   ]
 ・SQLインジェクション           [   ]
 ・ファイルの誤った公開          [ 4 ]
 ・ディレクトリトラバーサル      [   ]
 
 
 
 問題９(１の質問全部合ってて８点  ２は２点 全１０点)
 
 １．下記のA～Oで正しいものを全て選びたまえ。
 
 A.秘密にしていても置かれたファイルはいずれ外部に漏れ、
   アクセスされてしまうので、Web公開領域に置いてみた。
 
 B.秘密にしていても置かれたファイルはいずれ内部に漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 C.秘密にしていても置かれたファイルはいずれ口コミで漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 D.秘密にしていても置かれたファイルはいずれ外部に漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 E.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがあるので、毎回アクセス制限を確認してみた。
 
 F.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れることがないので、心配しないでみた。
 
 G.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがあるので、ある一定期間を空けてでアクセス
   制限を確認してみた。
 
 H.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがめったにないと思ってみた。
 
 I.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れることはない。
 
 J.静的コンテンツの性質を持っていても、アンケートの添付画像は
   静的コンテンツとして無条件に提供してはいけない。
 
 K.静的コンテンツの性質を持っていても、個人情報が含まれるアンケート回答は
   静的コンテンツとして無条件に提供してはいけない。
 
 L.静的コンテンツの性質を持っていても、予約状況は
   静的コンテンツとして無条件に提供してはいけない。
 
 M.静的コンテンツの性質を持っていても、顔写真は
   静的コンテンツとして無条件に提供してはいけない。
 
 N.静的コンテンツの性質を持っていても、木村さんの生い立ちは
   静的コンテンツとして無条件に提供してはいけない。
 
 O.静的コンテンツの性質を持っていても、医療記録は
   静的コンテンツとして無条件に提供してはいけない。
 
 回答（                            ）
 
 ２．あなたが１で正しいと回答したことを守らなかったことで
     起こりえる問題はなんですか。
 回答[                           ]
 
 
 
 問題１０(１の質問全部合ってて各３点  ２は２点 全５点)
 
 １．悪用されるプログラムだと思われる物を全て選びなさい
 
 A.相対パスのみを受け入れるプログラムを書いた
 
 B.フルパスのみを受け入れるプログラムを書いた
 
 C.絶対パスのみを受け入れるプログラムを書いた
 
 D.「../」を受け入れるプログラムを書いた
 
 E.「..\」を受け入れるプログラムを書いた
 
 F.存在するアクション名を受け入れるプログラムを書いた
 
 回答（              ）
 
 ２．悪用されるプログラムを書いた結果起こる攻撃名を書きなさい
 回答[                               ]
 
 
 
 問題１１(１の質問全部合ってて各３点  ２は２点 全５点)
 
 １．間違ってい無いと思うものを全部選択してください。
 
 A.プログラムを修正した時バックアップファイルはいつも取っといてある
 
 B.バックアップファイルは常に削除している
 
 C.修正しようとしているファイルは必ずバックアップをとり、
   しばらく落ち着くまで取っといている。
 
 D.インクルードファイルが、静的コンテンツとしてみえることは無いと思う
 
 E.インクルードファイルが、静的コンテンツとしてみえることはあると思う
 
 F.工数的に時間が掛かるので、ソースコードを何処かのサイトから持ってきた
   工数を短縮した
 
 G.工数的に時間が掛かるので何処かのサイトからソースコードを持ってきて
   使おうと思ったが、ソースコードを自分で書いて楽しんでしまった。
 
 回答（         ）
 
 ２．あなたが上記１の設問でこれはやっちゃいけないだろと思うもので、
     実際なにが起こり得るからダメだと思いますか。
 回答[                    ]
 
 
 
 問題１２(各１点  全８点)
 
 下記語群より当てはまるものを書きたまえ
 
 1.クエリストリングは（ A ）の中に含まれるパラメタで「（ B ）」
   より後ろの部分である
 2.クエリストリングは（ C ）が容易
 3.クエリストリングは、至る所に露出 ( 5つ選択 )
 
 1:
 A.（      ） B.（      ）
 
 2:
 C.（      ）
 
 3:
 D.（      ） E.（      ） F.（      ） G.（      ） H.（      ）
 
 1.URI  2.UPI  3.URL  4.SQL  5.？  6.＆  7.＝  8.！
 9.閲覧  10.分割  11.デバッグ  12.チェック  13.改竄
 14.Webサーバのアクセスログ  15.DBサーバのアクセスログ
 16.DBサーバのクエリーログ  17.ファイアウォールログ
 18.プロキシサーバのキャッシュやログ  19.ブラウザのキャッシュや履歴
 20.ブラウザのログ  21.エラーログ
 22.Referer:ヘッダを通じて他のDBサーバにも露出
 23.Referer:ヘッダを通じて他のプロキシサーバにも露出
 24.Referer:ヘッダを通じて他のWWWサーバにも露出
 
 
 
 問題１３(各１点  全１０点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.htmlのformタグのmethodのデフォルト値は（ A ）だ
 2.フォームの送信には（ B ）を使う
 3.hiddenは（ C ）が容易
 4.ページ間のパラメタ受け渡しは（ D ）を使う
 5.Cookieは、（ E ）の搬送以外なるべく使わない
   発行時のパラメタは（ F ）設定する
 6.セッションは（ G ）だけブラウザに預けなくては
   ならない。そこが弱点らあしい。
 7.セッションID乗っ取りは、セッションIDの値を（ H ）し、
   複数の候補を試みて当たりをつけたり、正規ユーザが実際に
   用いてるセッションIDの値を（ I ）したり、セッションID
   付きのリンクを踏ませてセッションIDの（ J ）をして行う
 
 A.（      ） B.（      ） C.（      ） D.（      ）
 E.（      ） F.（      ） G.（      ） H.（      ）
 I.（      ） J.（      ）
 
 1.data  2.GET  3.POST  4.開発  5.閲覧  6.改竄  7.記述
 8.キー  9.cookie  10.セッションID  11.クエリストリング
 12.セッション変数  13.容易  14.簡単に  15.短く  16.厳しく
 17.最低限  18.裏返し  19.誘導  20.傍受  21.監視  22.傍観
 23.強制  24.圧迫  25.強製  26.事前調査  27.事前予告
 28.事前予測  29.慈善事業
 
 
 
 問題１４(各１点  全６点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.１つのユーザIDに対して多数のパスワードを試行錯誤をして
   パスワード破りを行うことを（ A ）という。
 2.１つのパスワードに対して多数のユーザIDを試行錯誤をして
   パスワード破りを行うことを（ B ）という。
 3.辞書に載っている単語を利用して、パスワード破りを
   行うことを（ C ）という。
 4.パスワードは（ D ）を設け、以前用いたパスワードを
   再び使わせなくし、（ E ）にパスワードを変更出来ないように
   するとよい。また、ログインエラー時のエラーメッセージは、
   （ F ）すぎると見破られる可能性がある。
 
 A.（      ） B.（      ） C.（      ） D.（      ） E.（      ）
 F.（      ）
 
 1.パスワード破り攻撃  2.パスワード攻撃  3.リバース攻撃
 4.ユーザID攻撃  5.ユーザID破り攻撃  6.ノーマル攻撃  7.総当攻撃
 8.辞書攻撃  9.辞書検索攻撃  10.監視  11.制限時間  12.有効期限
 13.妥当性チェック  14.無理  15.頻繁  17.定期的  18.難し
 19.親切  20.妥当  21.あいまい
 
 
 
 問題１５(各１点  全５点)
 
 答えろ
 
 1.悪意のあるSQLがプログラム内に送り込まれ実行されると
   悪さを働く記号として代表的な物４つ書きなさい
 2.上記1で上げた攻撃名を書きなさい
 
 A.（      ） B.（      ） C.（      ） D.（      ）
 E.(               )
 
 
 
 問題１６（各１点  全２点）
 
 答えとけ
 
 1.悪意のあるコマンドがプログラム内に送り込まれ実行されると
   悪さを働く攻撃のことを何と言うか。
 2.直接プログラムを実行するときは、どのような関数を使うと良いか
 
 A.（                      ） B.(        )
 
 
 
 問題１７（各１点  全９点）
 
 下記にシェルの形式と説明があるので、形式に合う説明を選択しちゃいな
 
 1.foo &lt;(bar)    →    A.(   )
 2.foo   `bar`   →    B.(   )
 3.foo | bar     →    C.(   )
 4.foo &gt;(bar)    →    D.(   )
 5.foo &amp;&amp; bar    →    E.(   )
 6.foo ; bar     →    F.(   )
 7.foo $(bar)    →    G.(   )
 8.foo || bar    →    H.(   )
 9.foo &amp; bar     →    I.(   )
 
 1.コマンドfooが実行されてあと、コマンドbarが実行される
 2.コマンドfooとコマンドbarが並列で実行される
 3.コマンドfooとコマンドbarが並列で実行されれ、fooの標準出力が
   barの標準出力に送り込まれる
 4.コマンドfooが正常終了（リターンコード０終了）したときbarが実行される
 5.コマンドfooが異常終了（リターンコード０以外で終了）したとき
   barが実行される
 6.コマンド`bar`が実行され、その標準出力がコマンドfooの引数に与えられる
 7.foo   `bar`に同じ
 8.コマンドbarの出力を受ける名前つきパイプのデバイス名をfooの
   引数として与える
 9.コマンドbarの入力を受ける名前つきパイプのデバイス名をfooの
   引数として与える
 
 
 
 問題１８(各１点  全６点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.Webアプリケーションが「にせ」のHTTPレスポンスを送り返すよう
   仕向け、プロキシサーバのキャッシュを汚染することを何と言うか？
  （ A ）
 2.上記１の問題で対応方法は、（ B ）や（ C ）がヘッダ部にそのまま
   出力されないようにする。
 3.（ D ）～（ E ）の制御コードを排除することを推奨
 4.入力データは多くの場合URLエンコード形式[%xx]で与えられるので、
   これを（ F ）してから評価する。
 
 A.(   ) B.(   ) C.(   ) D.(   ) E.(   ) F.(   )
 
 1.HTTPスプリッティング  2.クロスサイトスクリプティング
 3.HTTPレスポンス分割  4.サニタイジング  5.セッションフィクセーション
 6.キムラ問題  4.\t  5.Lf  6.Gt  7.Lt  8.Cf  9.Cn  10.Cr  11.0x1C
 12.0x00  13.0xFF  14.0x1F  15.ffffff  16.crypt  17.エンコード
 18.base64  19.デコード  20.16進変換
 
 
 
 問題１９（全部正解 ５点）
 
 下記ソースには検査の落とし穴があります。
 入り口と発火点を選びなさい
 
 &lt;?
 function Sample($n)
 {
     $n = $_POST[&#039;n&#039;];   ←  A
 
     if (empty($n)) {    ←  B
         return false;   ←  C
     }
 
     if ($n &gt;= 1 &amp;&amp; $n &lt;= 10) {    ←  D
         $sql    = &#039;UPDATE table_name SET filed_name = &#039; . $n;  ←  E
         $result = mysql_query($query);       ←  F
         $row    = mysql_fetch_row($result);  ←  G
         return $row;    ←  H
     }
 
     return false;    ←  I
 }
 ?&gt;
 
 入り口（      ）  発火点（      ）
 
 
 
 問題２０
 
 下記のアンケートに答えてみてください。
 
 1.この問題は役に立ちそうですか？
 A.大いにハイ！  B.まあまあハイ  C.どちらでもない
 D.まあまあダメ  E.大いにダメ
 
 2.試験はランクAとれそうです？
 A.大いにハイ！  B.まあまあハイ  C.どちらでもない
 D.まあまあダメ  E.大いにダメ
 
 3.この試験にイライラしましたか？
 A.楽しかった！  B.まあまあ楽しかった  C.どちらでもない
 D.まあまあイライラした  E.大いにイライラした
 
 4.この試験作った人に感謝の気持ちで一杯ですか？
 A.大いに一杯！  B.まあまあ一杯  C.どちらでもない
 D.なにそれ！！  E.感謝なんてするか！！    </description>
    <dc:date>2010-01-28T16:22:40+09:00</dc:date>
    <utime>1264663360</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/26.html">
    <title>セキュリティテスト-回答</title>
    <link>https://w.atwiki.jp/k_tech/pages/26.html</link>
    <description>
       全131点満点  合格８０％以上（１０４点以上）
 
 問題１(各１点  全８点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 インジェクション（injection）とは、内部に何かを注入することを意味する言葉だ。
 インジェクション攻撃とは、(プログラム)がごく普通に受け取る入力データの中に
 セキュリティを(侵害)するような(コマンド)を巧みに混入し、
 それをコンピュータ内部で機能させてしまう(攻撃手口)のことをいう。
 インジェクション攻撃の中で最も代表的なものには、(データベース)に干渉して
 情報漏えい・情報改ざんを引き起こす(SQLインジェクション)攻撃がある。
 そのほかにも、シェルに干渉する(OSコマンドインジェクション)、XML検索条件を
 かく乱するXPathインジェクション、ディレクトリ検索条件に干渉する
 (LDAPインジェクション)といった(攻撃手口)が知られている。
 
 A.（10） B.（15） C.（19） D.（1or2）E.（24） F.（27） G.（31）
 H.（33）
 
 1.攻撃手法  2.攻撃手口  3.防止手口  4.防止手法  5.ソース  6.サーバー
 7.自分  8.システム  9.サービス  10.プログラム  11.親身  12.深刻
 13.悪く  14.想定内  15.侵害  16.確認  17.ソーズ  18.コンテキスト
 19.コマンド  20.仕掛け  21.サーバ  22.PC  23.内部  24  データベース
 25.SOLインジェクション  26.SOSインジェクション  27.SQLインジェクション
 28.書き方  29.操作  30.O&#039;Sコマンドインジェクション
 31.OSコマンドインジェクション  32.ディレクトリトラバーサル
 33.LDAPインジェクション  34.NDAPインジェクション
 
 
 
 問題２(各１点  全４点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 下記SQLのuidに入る値として、攻撃の効果を選択しなさい
 SELECT uid FROM account_table WHERE uid=&#039;{攻撃}&#039; AND pw=&#039;任意の文字列&#039;
     A. シングルクォーテーション
     B. OR 1=1
     C. --
 
 要素1.（ 8 ） 要素2.（ 6 ） 要素3.（13）
 
 1.文字列を不正な値に変換
 2.データを削除する
 3.文字列定数の内に入れる
 4.常にFALSEとなるよう、検索条件をねじ曲げる
 5.常にFALSEとなるよう、検索条件を正しくする
 6.常にTRUEとなるよう、検索条件をねじ曲げる
 7.常にTRUEとなるよう、検索条件を正しくする
 8.文字列定数の外に出る
 9.注釈を入れる
 10.コメントを挿入する
 11.お知らせ枠を挿入する
 12.それ以内の内容をコメントとして無視させる
 13.それ以内の内容をコメントとして作用させる
 14.それ以内の内容をコメントとして無視出来ない
 13.それ以降の内容をコメントとして無視させる
 14.それ以降の内容をコメントとして作用させる
 15.それ以降の内容をコメントとして無視出来ない
 
 この攻撃を何と言うか書きなさい
 [SQLインジェクション                                         ]
 
 
 
 問題３(各１点  全５点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 Webサーバ内のファイルがインターネット上の（攻撃者）によって
 どんどん読み出されてしまうセキュリティ問題のカテゴリーを
 （ファイル流出）と言う。
 これは（Webアプリケーションの脆弱性）のうちもっとも基本的なものだ。
 （ファイル流出）対策ができていない Webサイトは、
 最もセキュリティレベルの低いサイトの部類に入る。
 このようなところでは、ほかのセキュリティ脆弱性対策を
 行ってもほとんど効果がない。
 
 （ファイル流出）のカテゴリーの問題には、
 データの蓄積場所としてWeb公開領域を使っている、
 サーバ内のファイルを限定して提供するはずのプログラムが
 逆にあらゆるファイルを流出させてしまう、
 （Webアプリケーション）の（ソースコード）が何らかの
 形で読み出されてしまう、などがある。
 
 A.（ 4 ） B.（ 10 ） C.（ 14 ） D.（ 16 ）E.（ 18 ）
 
 1.管理者  2.侵入者  3.株式会社  4.攻撃者  5.潜伏者
 6.ファイル問題  7.ソース流出  8.カテゴリーA  9.カテゴリーB
 10.ファイル流出  11.Webアプリケーションの危弱性
 12.Webアプリケーションの強み  13.Webアプリケーションの弱点
 14.Webアプリケーションの脆弱性  15.システム
 16.Webアプリケーション  17.サービス  18.ソースコード
 19.プログラム  20.コード
 
 
 
 問題４(各１点  全５点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 Webアプリケーションと（ブラウザ）の間でやり取りされる
 （セッションID）が第三者に知られてしまうと、
 その第三者も正規ユーザとまったく同じアクセスを
 手にすることができる。
 他人の（セッションID）の値を何らかの方法で突き止め、
 それを自分で使うことによって（他人）のセッションの続きを
 横取りするのが（セッション乗っ取り）である。
 （セッション乗っ取り）が攻撃者にとって「効果的」である理由は、
 セッションが開始される時点で正規のユーザが通過したであろう
 「（ユーザ認証）」あるいは「（ログイン）」の関門と対決することなく、
 すでに他人が確保した（Webクライアント）としての権限を
 横取りできるところにある。
 
 A.( 4 ) B.( 8 ) C.( 10 ) D.( 15 ) E.( 20 ) F.( 22 ) G.( 26 )
 
 1.あなた  2.わたし  3.画面  4.ブラウザ  5.PC  6.クッキーID
 7.hiddenキー  8.セッションID  9.セッションキー  10.他人
 11.第三者  12.小学生  13.飛行機乗っ取り  14.情報乗っ取り
 15.セッション乗っ取り  16.セッションすり替え  17.指紋認証
 18.ユーザ確認  19.詐欺  20.ユーザ認証  21.入門  22.ログイン
 23.クライアント認証  24.最高権限者  25.一般ユーザ
 26.Webクライアント
 
 
 
 問題５(各１点  全１０点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 HTTP CookieによるセッションIDの搬送は、
 （リクエストフォージェリー）と呼ばれる攻撃に対して不利になる。
 この攻撃は、別の（サイト）に用意した罠の（リンク）を踏ませるなどして、
 （ショッピング）の最終決済や（退会）など、
 セッション内の重要な処理ページを呼び出すよう被害者ユーザを（誘導）し、
 被害を及ぼすものだ。
 HTTP Cookieはその性質上、正規のリンクだけでなく、
 罠のリンクを通じての（アクセス）であっても、
 （アクセス）先が所定のWebサイトであればブラウザから自動で（送出）される。
 そのため、正規のセッションが保たれた中で、
 （ユーザ）の意図しない画面遷移と処理が行われてしまうのである。
 hiddenフィールドにセッションIDを搭載する方式は、
 こうした問題への対策としてしばしば提唱されるようになってきた。
 この方式では、（ページ）の呼び出しのたびにセッションIDを持つ項目が
 （送出）されるよう、毎回（フォーム）のHTMLタグを構成する必要がある。
 攻撃者がどこかに偽のリンクを用意したとしても、
 そこに正規のセッションIDの値を持つ（フォーム）項目を
 設けることができなければ、罠は機能しない。
 hiddenフィールドでセッションIDを搬送する方式では、
 各ページに（フォーム）タグを組み込む必要があり、HTMLの記述が煩雑になる。
 そのため、（リクエストフォージェリー）攻撃を避けたい重要な場面に
 限ってhiddenフィールドによるセッションIDの「補強」を
 行うといった対策のしかたもある。
 
 A.( 3or5 ) B.( 8 ) C.( 15 )  D.( 12 ) E.( 4 ) F.( 19 ) G.( 20 )
 H.( 24 ) I.( 29 ) J.( 30 )
 
 1.ディッレクトリトラサーバル  2.SQLインジェクション
 3.リクエストフォージェリー  4.退会
 5.クロスサイトリクエストフォージェリー  6.パラメータからの情報流出
 7.サービス  8.サイト  9.企業  10.今期  11.今年度  12.ショッピング
 13.ウィンドショッピング  14.退場  15.リンク  16.誘惑  17.お誘い
 18.困惑  19.誘導  20.アクセス  21.被害  22.アクセク  23.早出
 24.送出  25.更新  26.作者  27.ユーザ  28.見出し  29.ページ
 30.フォーム  31.画面  32.コメント
 
 
 
 問題６(各２点  全１０点)
 
 下記入力データを特殊記号の置き換えに書き換えたまえ
 
 入力データ            特殊記号
     &lt;       →    [    &lt;     ]
     &gt;       →    [    &gt;     ]
     &quot;       →    [    &amp;quot;   ]
     &#039;       →    [    &amp;#39;    ]
     &amp;       →    [    &amp;    ]
 
 
 
 問題７(各１点  全５点)
 下の語群の中から適切なものを選びたまえ（同じものでも可）
 
 プロキシサーバは、Webクライアントから送られてくる（HTTPリクエスト）を中継し、
 Webサーバから（HTTPレスポンス）を受け取る。
 このとき、組織内の多くの人々が同一のページを見に行く場合を考慮して、
 取得したWebサーバのレスポンスを（キャッシュ）に保存する。
 こうしておけば、以降の同じページへのリクエストに対し、
 実際のWebサーバにアクセスすることなく迅速にレスポンスを返すことができる。
 このしくみを逆手に取ったのが（HTTPレスポンス分割）による偽ページ攻撃だ。
 攻撃者は脆弱なWebアプリケーションを悪用して1つの（HTTPリクエスト）から
 2つのレスポンスを返させるのに続いて、もう1つ（HTTPリクエスト）を送り出す。
 この第2のリクエストには、そのサイトの中でも多くの人々がアクセスすると
 考えられるページ、たとえばトップページの（URL）を仕込む。
 
 A.( 3 ) B.( 6 ) C.( 11 )  D.( 8 )  E.( 12 )
 
 1.HTTPレスボンス  2.FFFTPレスポンス  3.HTTPリクエスト
 4.レスポンスヘッダー  5.リクエストフォージェリー  6.HTTPレスポンス
 7.キャッシュレス  8.HTTPレスポンス分割  9.キャッシュシング
 10.キャッシュサーバー  11.キャッシュ  12.URL  13.URI  14.パラメータ
 
 
 
 問題８(各１点  全６点)
 
 IPAに届け出のあったWebアプリケーションの脆弱性の件数多い順に
 番号を振れ（2004年7月8日～2004年12月31日までの届出）
 
 ・クロスサイトスクリプティング（78件 56%）[ 1 ]
 ・パス名パラメータの未チェック（25件 18%）[ 2 ]
 ・価格等の改竄（11件 8%）                 [ 3 ]
 ・セッション管理の不備（3件 2%）          [ 7 ]
 ・HTTPレスポンス分割（6件 4%）            [ 5 ]
 ・SQLインジェクション（4件 3%）           [ 6 ]
 ・ファイルの誤った公開（6件 4%）          [ 4 ]
 ・ディレクトリトラバーサル（2件 1%）      [ 8 ]
 
 
 
 問題９(１の質問全部合ってて８点  ２は２点 全１０点)
 
 １．下記のA～Oで正しいものを全て選びたまえ。
 
 A.秘密にしていても置かれたファイルはいずれ外部に漏れ、
   アクセスされてしまうので、Web公開領域に置いてみた。
 
 B.秘密にしていても置かれたファイルはいずれ内部に漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 C.秘密にしていても置かれたファイルはいずれ口コミで漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 D.秘密にしていても置かれたファイルはいずれ外部に漏れ、
   アクセスされてしまうので、Web公開領域に置くのをやめてみた。
 
 E.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがあるので、毎回アクセス制限を確認してみた。
 
 F.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れることがないので、心配しないでみた。
 
 G.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがあるので、ある一定期間を空けてでアクセス
   制限を確認してみた。
 
 H.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れてしまうことがめったにないと思ってみた。
 
 I.サーバ・コンピュータの保守作業やコンテンツのファイル一部入れ替えなどの際、
   アクセス制限が外れることはない。
 
 J.静的コンテンツの性質を持っていても、アンケートの添付画像は
   静的コンテンツとして無条件に提供してはいけない。
 
 K.静的コンテンツの性質を持っていても、個人情報が含まれるアンケート回答は
   静的コンテンツとして無条件に提供してはいけない。
 
 L.静的コンテンツの性質を持っていても、予約状況は
   静的コンテンツとして無条件に提供してはいけない。
 
 M.静的コンテンツの性質を持っていても、顔写真は
   静的コンテンツとして無条件に提供してはいけない。
 
 N.静的コンテンツの性質を持っていても、木村さんの生い立ちは
   静的コンテンツとして無条件に提供してはいけない。
 
 O.静的コンテンツの性質を持っていても、医療記録は
   静的コンテンツとして無条件に提供してはいけない。
 
 回答（D, E, K, M, N, O）
 
 ２．あなたが１で正しいと回答したことを守らなかったことで
     起こりえる問題はなんですか。
 回答[ファイル流出   ]
 
 
 
 問題１０(１の質問全部合ってて各３点  ２は２点 全５点)
 
 １．悪用されるプログラムだと思われる物を全て選びなさい
 
 A.相対パスのみを受け入れるプログラムを書いた
 
 B.フルパスのみを受け入れるプログラムを書いた
 
 C.絶対パスのみを受け入れるプログラムを書いた
 
 D.「../」を受け入れるプログラムを書いた
 
 E.「..\」を受け入れるプログラムを書いた
 
 F.存在するアクション名を受け入れるプログラムを書いた
 
 回答（A, D, E）
 
 ２．悪用されるプログラムを書いた結果起こる攻撃名を書きなさい
 回答[ディレクトリトラバーサル攻撃     ]
 
 
 
 問題１１(１の質問全部合ってて各３点  ２は２点 全５点)
 
 １．間違ってい無いと思うものを全部選択してください。
 
 A.プログラムを修正した時バックアップファイルはいつも取っといてある
 
 B.バックアップファイルは常に削除している
 
 C.修正しようとしているファイルは必ずバックアップをとり、
   しばらく落ち着くまで取っといている。
 
 D.インクルードファイルが、静的コンテンツとしてみえることは無いと思う
 
 E.インクルードファイルが、静的コンテンツとしてみえることはあると思う
 
 F.口数的に時間が掛かるので、ソースコードを何処かのサイトから持ってきた
   口数を短縮した
 
 G.口数的に時間が掛かるので何処かのサイトからソースコードを持ってきて
   使おうと思ったが、ソースコードを自分で書いて楽しんでしまった。
 
 回答（B, E, G）
 
 ２．あなたが上記１の設問でこれはマズイだろと思うもので、
     実際なにが起こり得るからマズイだと思いますか。
 回答[ファイル流出        ]
 
 
 
 問題１２(各１点  全８点)
 
 下記語群より当てはまるものを書きたまえ
 
 1.クエリストリングは（URL）の中に含まれるパラメタで「（？）」
   より後ろの部分である
 2.クエリストリングは（改竄）が容易
 3.クエリストリングは、至る所に露出 ( 5つ選択 )
 
 1:
 A.（ 3 ） B.（ 5 ）
 
 2:
 C.（ 13 ）
 
 3:
 D.（ 14 ） E.（ 17 ） F.（ 18 ） G.（ 19 ） H.（ 24 ）
 
 1.URI  2.UPI  3.URL  4.SQL  5.？  6.＆  7.＝  8.！
 9.閲覧  10.分割  11.デバッグ  12.チェック  13.改竄
 14.Webサーバのアクセスログ  15.DBサーバのアクセスログ
 16.DBサーバのクエリーログ  17.ファイアウォールログ
 18.プロキシサーバのキャッシュやログ  19.ブラウザのキャッシュや履歴
 20.ブラウザのログ  21.エラーログ
 22.Referer:ヘッダを通じて他のDBサーバにも露出
 23.Referer:ヘッダを通じて他のプロキシサーバにも露出
 24.Referer:ヘッダを通じて他のWWWサーバにも露出
 
 
 
 問題１３(各１点  全９点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.htmlのformタグのmethodのデフォルト値は（GET）だ
 2.フォームの送信には（POST）を使う
 3.hiddenは（改竄）が容易
 4.ページ間のパラメタ受け渡しは（セッション変数）を使う
 5.Cookieは、（セッションID）の搬送以外なるべく使わない
   発行時のパラメタは（厳しく）設定する
 6.セッションは（センッションID）だけブラウザに預けなくては
   ならない。そこが弱点らあしい。
 7.セッションID乗っ取りは、セッションIDの値を（事前予測）し、
   複数の候補を試みて当たりをつけたり、正規ユーザが実際に
   用いてるセッションIDの値を（傍受）したり、セッションID
   付きのリンクを踏ませてセッションIDの（強制）をして行う
 
 A.（ 2 ） B.（ 3 ） C.（ 6 ） D.（ 12 ） E.（ 10 ） F.（ 16 ）
 G.（ 10 ） H.（ 28 ） I.（ 20 ） J.（ 23 ）
 
 1.data  2.GET  3.POST  4.開発  5.閲覧  6.改竄  7.記述
 8.キー  9.cookie  10.セッションID  11.クエリストリング
 12.セッション変数  13.容易  14.簡単に  15.短く  16.厳しく
 17.最低限  18.裏返し  19.誘導  20.傍受  21.監視  22.傍観
 23.強制  24.圧迫  25.強製  26.事前調査  27.事前予告
 28.事前予測  29.慈善事業
 
 
 
 問題１４(各１点  全６点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.１つのユーザIDに対して多数のパスワードを試行錯誤をして
   パスワード破りを行うことを（ノーマル攻撃）という。
 2.１つのパスワードに対して多数のユーザIDを試行錯誤をして
   パスワード破りを行うことを（リバース攻撃）という。
 3.辞書に載っている単語を利用して、パスワード破りを
   行うことを（辞書攻撃）という。
 4.パスワードは（有効期限）を設け、以前用いたパスワードを
   再び使わせなくし、（頻繁）にパスワードを変更出来ないように
   するとよい。また、ログインエラー時のエラーメッセージは、
   （親切）すぎると見破られる可能性がある。
 
 A.（ 6 ） B.（ 3 ） C.（ 8 ） D.（ 12 ） E.（ 15 ） F.（ 19 ）
 
 1.パスワード破り攻撃  2.パスワード攻撃  3.リバース攻撃
 4.ユーザID攻撃  5.ユーザID破り攻撃  6.ノーマル攻撃  7.総当攻撃
 8.辞書攻撃  9.辞書検索攻撃  10.監視  11.制限時間  12.有効期限
 13.妥当性チェック  14.無理  15.頻繁  17.定期的  18.難し
 19.親切  20.妥当  21.あいまい
 
 
 
 問題１５(各１点  全５点)
 
 答えろ
 
 1.悪意のあるSQLがプログラム内に送り込まれ実行されると
   悪さを働く記号として代表的な物４つ書きなさい
 2.上記1で上げた攻撃名を書きなさい
 
 A.(  &#039;  ) B.(  ;  ) C.(  --  ) D.(  \  )
 E.(SQLインジェクション)
 
 
 
 問題１６（各１点  全２点）
 
 答えとけ
 
 1.悪意のあるコマンドがプログラム内に送り込まれ実行されると
   悪さを働く攻撃のことを何と言うか。
 2.直接プログラムを実行するときは、どのような関数を使うと良いか
 
 A.（コマンドインジェクション） B.( execve )
 
 
 
 問題１７（各１点  全９点）
 
 下記にシェルの形式と説明があるので、形式に合う説明を選択しちゃいな
 
 1.foo &lt;(bar)    →    A.( 8 )
 2.foo   `bar`   →    B.( 6 )
 3.foo | bar     →    C.( 3 )
 4.foo &gt;(bar)    →    D.( 9 )
 5.foo &amp;&amp; bar    →    E.( 4 )
 6.foo ; bar     →    F.( 1 )
 7.foo $(bar)    →    G.( 7 )
 8.foo || bar    →    H.( 5 )
 9.foo &amp; bar     →    I.( 2 )
 
 1.コマンドfooが実行されてあと、コマンドbarが実行される
 2.コマンドfooとコマンドbarが並列で実行される
 3.コマンドfooとコマンドbarが並列で実行されれ、fooの標準出力が
   barの標準出力に送り込まれる
 4.コマンドfooが正常終了（リターンコード０終了）したときbarが実行される
 5.コマンドfooが異常終了（リターンコード０以外で終了）したとき
   barが実行される
 6.コマンド`bar`が実行され、その標準出力がコマンドfooの引数に与えられる
 7.foo   `bar`に同じ
 8.コマンドbarの出力を受ける名前つきパイプのデバイス名をfooの
   引数として与える
 9.コマンドbarの入力を受ける名前つきパイプのデバイス名をfooの
   引数として与える
 
 
 
 問題１８(各１点  全６点)
 
 下記語群より当てはまるものを書きたまえ（同じもの選択可）
 
 1.Webアプリケーションが「にせ」のHTTPレスポンスを送り返すよう
   仕向け、プロキシサーバのキャッシュを汚染することを何と言うか？
 2.上記１の問題で対応方法は、（Cr）や（Lf）がヘッダ部にそのまま
   出力されないようにする。
 3.（0x00）～（0x1F）の制御コードを排除することを推奨
 4.入力データは多くの場合URLエンコード形式[%xx]で与えられるので、
   これを（デコード）してから評価する。
 
 A.( 3 ) B.( 10 ) C.( 5 ) D.( 12 ) E.( 14 ) F.( 19 )
 
 1.HTTPスプリッティング  2.クロスサイトスクリプティング
 3.HTTPレスポンス分割  4.サニタイジング  5.セッションフィクセーション
 6.キムラ問題  4.\t  5.Lf  6.Gt  7.Lt  8.Cf  9.Cn  10.Cr  11.0x1C
 12.0x00  13.0xFF  14.0x1F  15.ffffff  16.crypt  17.エンコード
 18.base64  19.デコード  20.16進変換
 
 
 
 問題１９（全部正解 ５点）
 
 下記ソースには検査の落とし穴があります。
 入り口と発火点を選びなさい
 
 &lt;?
 function Sample($n)
 {
     $n = $_POST[&#039;n&#039;];   ←  A
 
     if (empty($n)) {    ←  B
         return false;   ←  C
     }
 
     if ($n &gt;= 1 &amp;&amp; $n &lt;= 10) {    ←  D
         $sql    = &#039;UPDATE table_name SET filed_name = &#039; . $n;  ←  E
         $result = mysql_query($query);       ←  F
         $row    = mysql_fetch_row($result);  ←  G
         return $row;    ←  H
     }
 
     return false;    ←  I
 }
 ?&gt;
 
 入り口（ D ）  発火点（ F ）
 
 
 
 問題２０（A選択２点  B選択１点  それ以外0点  全部で８点）
 
 下記のアンケートに答えてみてください。
 
 1.この問題は役に立ちそうですか？
 A.大いにハイ！  B.まあまあハイ  C.どちらでもない
 D.まあまあダメ  E.大いにダメ
 
 2.試験はランクAとれそうです？
 A.大いにハイ！  B.まあまあハイ  C.どちらでもない
 D.まあまあダメ  E.大いにダメ
 
 3.この試験にイライラしましたか？
 A.楽しかった！  B.まあまあ楽しかった  C.どちらでもない
 D.まあまあイライラした  E.大いにイライラした
 
 4.この試験作った人に感謝の気持ちで一杯ですか？
 A.大いに一杯！  B.まあまあ一杯  C.どちらでもない
 D.なにそれ！！  E.感謝なんてするか！！    </description>
    <dc:date>2010-01-28T16:21:30+09:00</dc:date>
    <utime>1264663290</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/k_tech/pages/1.html</link>
    <description>
      縦76の横100です

 Java言語仕様第3版（楽天ブックス）
 http://item.rakuten.co.jp/book/4237829/
 ちゃんと日本語で読める第3版はこれくらいかと。
 Javaで飯を食ってく入り口として読み捨てるくらいの気概あるなら安いです。

*link
-[[mail1]]
-[[tool]]
-[[KFS&gt;http://kosmosfs.sourceforge.net/]]

*idea
- crawlして、形態素解析かけて、ワードランクつける。アダルトフィルタとかかけてみようか。
- phpでframwork
- php + action script
- php + js

*action script
http://usrb.in/amachang/static/shibuyaes/


世界は「サード・リアリティ」を生み出す
http://itpro.nikkeibp.co.jp/as/rakuten/04/index.shtml


************************************************************
■２．跡部信行さんのインタビュー記事公開予告
************************************************************
http://www.web-career.com/kawaiblog/2007/11/01/1351.html#more


************************************************************
■３．テクノロジーカンファレンス
************************************************************
オープニングの映像朝会で公表してみました。

【当日の様子】
現在映像・テキストともに準備中です。
Webページとして公開するもの、
RAP等で社内共有するものなど整理中です。

【外部メディア】
○大規模分散処理向けの国産“ウェブOS”をRubyで開発中
http://www.atmarkit.co.jp/news/200711/26/rakuten.html

○フォトレポート：楽天の10年を支えた技術、「楽天テクノロジーカンファレンス
2007」で公開
http://japan.cnet.com/news/ent/story/0,2000056022,20361952,00.htm?ref=rss

○ダークファイバやBGP4――、楽天がインフラ技術を明らかに
http://itpro.nikkeibp.co.jp/article/NEWS/20071126/287997/

○「開発者の数を3年で3倍に」、楽天の杉原常務が技術強化構想を披露
http://itpro.nikkeibp.co.jp/article/NEWS/20071126/287969/

○「完成時にはオープンソースに」、Rubyのまつもと氏が楽天と共同研究の「Roma」
「Fairy」を解説
http://itpro.nikkeibp.co.jp/article/NEWS/20071126/287994/

○今後10年、エンジニアに求められるものとは--楽天三木谷氏とRubyまつもと氏が議
論
http://japan.cnet.com/news/biz/story/0,2000056020,20361834,00.htm

http://itpro.nikkeibp.co.jp/article/COLUMN/20071127/288123/?P=1&amp;ST=ep_webpluse    </description>
    <dc:date>2009-12-04T07:39:21+09:00</dc:date>
    <utime>1259879961</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/43.html">
    <title>小ネタ集</title>
    <link>https://w.atwiki.jp/k_tech/pages/43.html</link>
    <description>
      ■セキュリティ
https://www.ipa.go.jp/security/awareness/vendor/programmingv2/index.html
http://www.ipa.go.jp/security/vuln/documents/website_security.pdf

●HTML、CSSの標準規格を整理
http://japan.zdnet.com/go?id=363641&amp;tag=zdnw

●リリースに遅れの次期Debian--開発者間の対立が影響か
http://japan.zdnet.com/go?id=339466&amp;tag=zdnw    </description>
    <dc:date>2008-02-23T00:55:48+09:00</dc:date>
    <utime>1203695748</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/37.html">
    <title>flash</title>
    <link>https://w.atwiki.jp/k_tech/pages/37.html</link>
    <description>
      *参考サイト
-[[FlashDevelopをActionScript3のIDEとして使う&gt;http://weekbuild.sakura.ne.jp/trac/wiki/as3/FlashDevelop]]
-[[Silverlight]]    </description>
    <dc:date>2008-02-10T01:49:58+09:00</dc:date>
    <utime>1202575798</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/51.html">
    <title>スーパークラスとサブクラス</title>
    <link>https://w.atwiki.jp/k_tech/pages/51.html</link>
    <description>
      - extends画内場合には、Objectクラスを直接拡張することになる。
- final修飾子がつくクラスについては、拡張することはできない。
**sample
 class SomeClass
 {
   private int counter;
   private String name;
   
   public int getCounter(){・・・}
   public void setCounter(int c){・・・]
   public String name(){・・・}
   public void setName(String s){・・・}
 }
 
 class SubSomeClass extends SomeClass
 {
   private String subName;                    // 追加するフィールド
  
   public String getSubName(){・・・}　　　　 // 追加するメソッド
   public void setSubName(String sn){・・・}  // 追加するメソッド
 }

**sample1
 class CountDown
 {
   protected int from;
   protected int to;
   
   public void setCountDown(int f,int t)
   {
     from = f;
     to = t;
   }
   public void doCountDown
   {
     System.out.println(&quot;Count Down Start&quot;);
     for( int i=from; i&lt;=to; i--)
       System.out.println(i);
     Sysmte.out.println(&quot;Count Down End&quot;);
   }
 }
 
 class CharCountDown extends CountDown
 {
   private char moji;
   
   public void setChar(char c)
   {
     moji = c;
   }
   public void doCharCountDown()
   {
     System.out.prinln(&quot;Char Start&quot;);
     for(int i=from; i&gt;=to; i--)
     {
       for(int j=0; j&lt;i; j++)
         System.out.println(moji);
       System.out.prinln(&quot;Char End&quot;); 
     }
   }
 }
 public class SubClassTest
 {
   public static void main(String[] args)
   {
     CharCountDown obj = new CharCountDown();
     obj.setCountDown(10,4);
     obj.doCountDown();
     obj.setChar(&#039;*&#039;);
     obj.setCharCountDown();
   }
 }    </description>
    <dc:date>2008-01-16T01:05:23+09:00</dc:date>
    <utime>1200413123</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/50.html">
    <title>継承</title>
    <link>https://w.atwiki.jp/k_tech/pages/50.html</link>
    <description>
      *[[java]]
- あるクラスを定義した跡に、そのクラスに新しいフィールドやメソッドを追加したり、メソッドの上書き（&amp;bold(){オーバーライド})したりすること。
- 一つのクラスから複数のクラスを派生させる事も可能。
- スーパークラス：サブクラスの関係は、１：多

#image(http://image.blog.livedoor.jp/okoba23/imgs/3/9/399ca540.gif,title=継承,http://image.blog.livedoor.jp/okoba23/imgs/3/9/399ca540.gif,blank,left)    </description>
    <dc:date>2008-01-16T00:38:27+09:00</dc:date>
    <utime>1200411507</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/19.html">
    <title>java</title>
    <link>https://w.atwiki.jp/k_tech/pages/19.html</link>
    <description>
      *Java6 プログラミング講座
* 目次
1.  [[プログラミング環境]]
2.  [[プログラミング基礎]]
3.  クラス
　3.1 [[クラスとオブジェクト]]
　3.2 [[メソッドとフィールド]]
　3.3 [[メソッドの引数]]とメソッドのオーバーロード
　3.4 [[コンストラクタとメンバへのアクセス]]
　3.5 [[スタティックフィールドとスタティックメソッド]]
4.  クラスと継承
　4.1 [[継承]]
　4.2 [[スーパークラスとサブクラス]]
　4.3 [[メソッドのオーバーライド]]
　4.4 [[抽象クラスと抽象メソッド]]
5.  クラスライブラリ
6. 例外処理
7. 入出力
8. マルチスレッド
** リンク・参考
-[[Java言語仕様&gt;http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html]]
-[[wikipedia Javaの文法&gt;http://ja.wikipedia.org/wiki/Java%E3%81%AE%E6%96%87%E6%B3%95]]    </description>
    <dc:date>2008-01-16T00:09:14+09:00</dc:date>
    <utime>1200409754</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/33.html">
    <title>メソッドとフィールド</title>
    <link>https://w.atwiki.jp/k_tech/pages/33.html</link>
    <description>
      *[[java]]
 public static  int  counter  =   0;
 -------------  ---  -------      
 修飾子         型   フィールド名
- staticが付けられない変数は、インスタンス変数と呼ばれる。
- クラスからオブジェクトが生成されたときに、それぞれのオブジェクトがこの変数を持ち、オブジェクト毎に別の値を設定できる。

- staticを付けた変数はクラス変数と呼ばれる。
- クラス変数はクラスに唯一の変数で、それぞれのオブジェクトには含まれない。
- 各オブジェクトは常に同じクラス変数を参照する。

 public static   int        setXXX(int c, String name)  throws IOException
 -------------   ---        --------------------------  ------------------
 修飾子          戻り値の型  引数リスト                  例外の宣言
- フィールドの値を取得または設定するメソッドは、慣例的にgetXXX(),setXXX()という名前を付ける。

  SomeClass2 obj = new SomeClass2();
  obj.message = &quot;文字列を設定する&quot;;
 - フィールドには、オブジェクト名＋ピリオド(.)＋フィールド名の形でアクセスします。
 
  SomeClass2.counter = 12;
 - スタティックフィールドの場合、オブジェクト名の代わりにクラス名を使うこともできる。

***サンプルプログラム
 public class MethodTest
 {
   public static void main(String[] args)
   {
     SomeClass2 obj1, obj2;
     obj1 = new SomeClass();
     obj2 = new SomeClass();
 
     obj1.setCounter(10);　　　　　　　　　　　　　　　　　　　　// クラス変数に値を設定
     int i = obj2.getCounter();                               　 // 戻り値を変数へ格納   
     System.out.println(&quot;obj1.counter ----&gt; &quot; + obj1.counter); 
     System.out.println(&quot;obj2.counter ----&gt; &quot; + i);
     System.out.println(&quot;SomeClass2.getCounter() -----&gt;&quot; + SomeClass2.getCounter());
     obj1.setMessage(&quot;object1&quot;);                                 // 各オブジェクトにメッセージを格納
     obj2.setMessage(&quot;object2&quot;);
   }
 }
 
 class SomeClass2
 {
   protected static int counter = 0;
   protected String message;
   
   public SomeClass2()
   {
     counter++;
     System.out.println(counter + &quot;times&quot;);
   }
   public void messageOut()
   {
     System.out.println(message);
   }
   public void setMessage(String s)
   {
     message = s;
   }
   public static int getCounter()
   {
     return counter;
   }
   public static void setCounter(int c)
   {
     counter = c;
   }
 }    </description>
    <dc:date>2008-01-15T23:38:08+09:00</dc:date>
    <utime>1200407888</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/k_tech/pages/49.html">
    <title>スタティックフィールドとスタティックメソッド</title>
    <link>https://w.atwiki.jp/k_tech/pages/49.html</link>
    <description>
      *[[java]]
**メソッドとフィールドへのアクセス
|修飾子|意味|
|public|任意の場所からアクセス可|
|private|フィールドまたはメソッドが定義されたクラス内のみアクセス可|
|protected|フィールドまたはメソッドが定義されたクラス内、そのクラスのサブクラス、そのクラスと同じパッケージ内のクラスからアクセス可|
|無指定|フィールドまたはメソッドが定義されたクラス内及びそのクラスと同じパッケージないのクラスからアクセス可|
**sample
 package test;
 public class PubClass
 {
   private int counter = 20;
   protected String message = &quot;メッセージ&quot;;
   
   public String getMessage(){ return message; }
   protected void setMessage(String s){ message = s; }
   public int getCounter(){ return counter;}
   private void setCounter(int c){ counter = c; }
 }

 import test.PubClass
 public class PubTest
 {
   public static void main(Strint[] args)
   {
     PubClass obj = new PubClass();
     
     // ※1 System.out.println(&quot;protected message -----&gt;&quot; + obj.message);
     // ※2 System.out.println(&quot;private message -----&gt;&quot; + obj.counter);
     
     // ※1 obj.setMessage(&quot;TEST PROGRAM&quot;);
     System.out.println(&quot;PubClass.getMessage() -----&gt;&quot; + obj.getMessage());
     
     // ※2 obj.setCounter(20);
     System.out.println(&quot;PubClass.getCounter() -----&gt;&quot; + obj.getCounter());
   }
 }
 ※1 PubClassのprotectedメンバには、パッケージの外からアクセスは不可
 ※2 PubClassのprivateメンバには、PubClassクラスの外からアクセスすることは不可

*スタティックメソッドとスタティックフィールド
- メソッドやフィールドの宣言にstaticを指定すると、クラスに一つのみ存在するクラス、フィールドとなる。
- staticを指定しない場合には、インスタンスメソッド、インスタンス変数と呼ぶ。
- インスタンスメソッド、インスタンス変数はそれぞれのオブジェクトに属する。
- 各オブジェクトで共有し、値が変更されないフィールドは、&amp;bold(){static final}として定義できる。
**sample
 public class StaticTest
 {
   public static void main(String[] args)
   {
     StaticClass obj1 = new StaticClass();
     StaticClass obj2 = new StaticClass();
     
     System.out.println(&quot;object 1 ---&gt; start!&quot;);
     for(int i=0; i&lt;5; i++)
     {
       System.out.println(&quot;static ---&gt; &quot; + obj1.counter() + &quot;instance ---&gt; &quot; + obj1.localCounter());
       System.out.println(&quot;object 1 ---&gt; end!\n);
     }
     
     System.out.println(&quot;object 2 ---&gt; start!&quot;);
     for(int i=0; i&lt;5; i++)
     {
       System.out.println(&quot;static ---&gt; &quot; + obj2.counter() + &quot;instance ---&gt; &quot; + obj2.localCounter());
       System.out.println(&quot;object 2 ---&gt; end!\n);
     }
 }
 
 class StaticClass
 {
   private static int counter = 0;
   private int localCounter = 0;
   
   public static int counter()      -----&gt; クラスメソッド
   {
     return counter++;
   }
   public int localCounter()        -----&gt; インスタンスメソッド
   {
     return localCounter++;
   }
 }
+ クラスメソッドはオブジェクト共有で値を持つ
+ インスタンスメソッドはオブジェクト固有で値を持つ
+ staticで指定した変数は同じメモリ上に格納されたところ見るよ。    </description>
    <dc:date>2008-01-15T21:42:02+09:00</dc:date>
    <utime>1200400922</utime>
  </item>
  </rdf:RDF>
