セキュリティテスト-回答


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

全131点満点  合格80%以上(104点以上)

問題1(各1点  全8点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

インジェクション(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'Sコマンドインジェクション
31.OSコマンドインジェクション  32.ディレクトリトラバーサル
33.LDAPインジェクション  34.NDAPインジェクション



問題2(各1点  全4点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

下記SQLのuidに入る値として、攻撃の効果を選択しなさい
SELECT uid FROM account_table WHERE uid='{攻撃}' AND pw='任意の文字列'
    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インジェクション                                         ]



問題3(各1点  全5点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

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.コード



問題4(各1点  全5点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

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クライアント



問題5(各1点  全10点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

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.コメント



問題6(各2点  全10点)

下記入力データを特殊記号の置き換えに書き換えたまえ

入力データ            特殊記号
    <       →    [    <     ]
    >       →    [    >     ]
    "       →    [    &quot;   ]
    '       →    [    &#39;    ]
    &       →    [    &    ]



問題7(各1点  全5点)
下の語群の中から適切なものを選びたまえ(同じものでも可)

プロキシサーバは、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.パラメータ



問題8(各1点  全6点)

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 ]



問題9(1の質問全部合ってて8点  2は2点 全10点)

1.下記の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)

2.あなたが1で正しいと回答したことを守らなかったことで
    起こりえる問題はなんですか。
回答[ファイル流出   ]



問題10(1の質問全部合ってて各3点  2は2点 全5点)

1.悪用されるプログラムだと思われる物を全て選びなさい

A.相対パスのみを受け入れるプログラムを書いた

B.フルパスのみを受け入れるプログラムを書いた

C.絶対パスのみを受け入れるプログラムを書いた

D.「../」を受け入れるプログラムを書いた

E.「..\」を受け入れるプログラムを書いた

F.存在するアクション名を受け入れるプログラムを書いた

回答(A, D, E)

2.悪用されるプログラムを書いた結果起こる攻撃名を書きなさい
回答[ディレクトリトラバーサル攻撃     ]



問題11(1の質問全部合ってて各3点  2は2点 全5点)

1.間違ってい無いと思うものを全部選択してください。

A.プログラムを修正した時バックアップファイルはいつも取っといてある

B.バックアップファイルは常に削除している

C.修正しようとしているファイルは必ずバックアップをとり、
  しばらく落ち着くまで取っといている。

D.インクルードファイルが、静的コンテンツとしてみえることは無いと思う

E.インクルードファイルが、静的コンテンツとしてみえることはあると思う

F.口数的に時間が掛かるので、ソースコードを何処かのサイトから持ってきた
  口数を短縮した

G.口数的に時間が掛かるので何処かのサイトからソースコードを持ってきて
  使おうと思ったが、ソースコードを自分で書いて楽しんでしまった。

回答(B, E, G)

2.あなたが上記1の設問でこれはマズイだろと思うもので、
    実際なにが起こり得るからマズイだと思いますか。
回答[ファイル流出        ]



問題12(各1点  全8点)

下記語群より当てはまるものを書きたまえ

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サーバにも露出



問題13(各1点  全9点)

下記語群より当てはまるものを書きたまえ(同じもの選択可)

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.慈善事業



問題14(各1点  全6点)

下記語群より当てはまるものを書きたまえ(同じもの選択可)

1.1つのユーザIDに対して多数のパスワードを試行錯誤をして
  パスワード破りを行うことを(ノーマル攻撃)という。
2.1つのパスワードに対して多数のユーザ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.あいまい



問題15(各1点  全5点)

答えろ

1.悪意のあるSQLがプログラム内に送り込まれ実行されると
  悪さを働く記号として代表的な物4つ書きなさい
2.上記1で上げた攻撃名を書きなさい

A.(  '  ) B.(  ;  ) C.(  --  ) D.(  \  )
E.(SQLインジェクション)



問題16(各1点  全2点)

答えとけ

1.悪意のあるコマンドがプログラム内に送り込まれ実行されると
  悪さを働く攻撃のことを何と言うか。
2.直接プログラムを実行するときは、どのような関数を使うと良いか

A.(コマンドインジェクション) B.( execve )



問題17(各1点  全9点)

下記にシェルの形式と説明があるので、形式に合う説明を選択しちゃいな

1.foo <(bar)    →    A.( 8 )
2.foo   `bar`   →    B.( 6 )
3.foo | bar     →    C.( 3 )
4.foo >(bar)    →    D.( 9 )
5.foo && bar    →    E.( 4 )
6.foo ; bar     →    F.( 1 )
7.foo $(bar)    →    G.( 7 )
8.foo || bar    →    H.( 5 )
9.foo & bar     →    I.( 2 )

1.コマンドfooが実行されてあと、コマンドbarが実行される
2.コマンドfooとコマンドbarが並列で実行される
3.コマンドfooとコマンドbarが並列で実行されれ、fooの標準出力が
  barの標準出力に送り込まれる
4.コマンドfooが正常終了(リターンコード0終了)したときbarが実行される
5.コマンドfooが異常終了(リターンコード0以外で終了)したとき
  barが実行される
6.コマンド`bar`が実行され、その標準出力がコマンドfooの引数に与えられる
7.foo   `bar`に同じ
8.コマンドbarの出力を受ける名前つきパイプのデバイス名をfooの
  引数として与える
9.コマンドbarの入力を受ける名前つきパイプのデバイス名をfooの
  引数として与える



問題18(各1点  全6点)

下記語群より当てはまるものを書きたまえ(同じもの選択可)

1.Webアプリケーションが「にせ」のHTTPレスポンスを送り返すよう
  仕向け、プロキシサーバのキャッシュを汚染することを何と言うか?
2.上記1の問題で対応方法は、(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進変換



問題19(全部正解 5点)

下記ソースには検査の落とし穴があります。
入り口と発火点を選びなさい

<?
function Sample($n)
{
    $n = $_POST['n'];   ←  A

    if (empty($n)) {    ←  B
        return false;   ←  C
    }

    if ($n >= 1 && $n <= 10) {    ←  D
        $sql    = 'UPDATE table_name SET filed_name = ' . $n;  ←  E
        $result = mysql_query($query);       ←  F
        $row    = mysql_fetch_row($result);  ←  G
        return $row;    ←  H
    }

    return false;    ←  I
}
?>

入り口( D )  発火点( F )



問題20(A選択2点  B選択1点  それ以外0点  全部で8点)

下記のアンケートに答えてみてください。

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.感謝なんてするか!!
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。