【登録セキスペ】令和7年春午後問2の解説(情報処理安全確保支援士試験)
このNoteでは「セキスペ令和7年春午後問4」の解説をします。
リスク値計算なのでSGを解いたことがある方は馴染み深いかも。この問題は、IPA資料(全122頁)に沿っているのが特徴です。
従来の解法は、まだまだ有効ですが割合は減りました。
問題文からヒントを探す基本解法:設問5(3)
>長文問題を解く6つのテクニックNote(1)過去問経験が生きる:設問3(2)(3)
>長文問題を解く6つのテクニックNote(6-4)
一方「難易度ラインを引き上げるぞ」とメッセージ性の強い問題。従来はもう少しヒントを書いてくれてましたが、解答から少し遠めに控えられました。
深い理解/想像が必要
:設問1, 設問2, 設問4用語/仕様の知識が必要
:設問3(1), 設問5(1)(2)

印象は、本試験でも実力が出せれば6割は切らない。設問6は救済策かなと。
一方「今後は浅めのヒントに控えるぞ」「CVSS現状値やEPSSも出すからな」という布石ビンビン。このNoteでは、IPA資料(全122頁)に沿って解説しつつ、問題にでなかった内容も今後のためにピックアップしました。
今後はこれぐらいが当たり前、になります。過去問演習をしたら、9割以上まで高めるのは勿論、備えて広め深めに調べるのも「不意打ち」封じに重要になってきます。
この問題の復習は、かなり気合入れて取り組んで下さい。何回に分ける/何周かする必要があります。
このNoteで、学習品質の底上げを感じられて頂けたら嬉しいです。
私はSCPMIIを97点で独学合格し、IT専門学校で授業しています。このNoteには、授業で教えていること以上の情報を詰め込みました。

それでは始めましょう!
※このNoteは2025秋本試まで全編無料公開します。本試以降は有料マガジンに組み込まれます。従来はXリポスト割引をしましたが、リポストを即消すなど、ココロを踏みにじる悪質な行為があるため取りやめました。どうぞご容赦ください。
マーキングしてないなら力不足
問題文1頁目(10頁)の以下にマーキングしたでしょうか?
わざわざ「任意である」「評判ある」なんて見逃せないです。
「初回リリース後の両診断の実施については任意である」
→診断してなかったら不具合出るに決まってる「重要サイト以外に対する両診断の実施は任意である」
→診断してなかったら不具合出るに決まってる
→サイトXは重要サイトでないから問題発生(10頁)「P社のWebアプリ診断は、脆弱性が実際に悪用できることを確認した上で報告してくれるので、評判がよい」
→使う根拠。理由を聞かれる問題がでるかも(設問5(3))
マーキングしてないなら長文基礎力が足りないかも。>長文問題を読む6つのテクニックNote(6-3)
講座 | SQLインジェクション
設問1のために、まずSQLインジェクションの復習をします。>73種類の攻撃手法Note(SQLインジェクション)
通販サイトのように、Webで利用者が入力した値でデータベース検索をするシステムの話。入力した値をSQL文に組み込んで、データベースにアクセスします。
下図では「ペン」が入力され、SQL文に「ペン」が組み込まれて、データベースから商品名がペンである行の全列が表示されます。

SQLインジェクションは、入力値を小細工してデータベースから情報を抜き出します。
上図(赤)では、1=1が常に真、name=ペンとorで繋がっているので、商品名がペンでない(偽)であっても、WHERE句は常に真になります。データベースの全ての行で真なので、データベースの全行の全列が表示されてしまいます。
設問1 | 芋づる失点
正答は
a:ア(コンテンツがありません)
b:ア(〃)
c:ア(〃)
d:ア(〃)
e:イ(コンテンツが表示される)
難しい人には難しいです。ここで引き返すのはアリなので、半分も分からなかったら別問題へ。
図1に見逃せないルールが2つ。これ見逃すと大失点です。
「コンテンツ番号がDBサーバ上に存在しない場合、又はSQLが構文エラーになる場合は、"コンテンツがありません"というメッセージを返す」
「articleの値は~数値型」
表1の処理結果は以下の通り。

a:文法エラー。「'」が1個しかなく、文字列の終端がないので。エクセルで関数の「(」があるけど「)」ないようなもの。構文エラーは”コンテンツがありません”でしたね。
b:文法エラー。数値の後に「'」が続くため。連結するには「+」演算子が必要。なおURL「%20」は「 」スペースになります。"コンテンツがありません”
c:文法エラー。bと同じ。"コンテンツがありません”
d:「1=0」が常に「偽」なので、「and」の所為でWHERE句も常に「偽」なので一切出力しない。例え「20250401」が存在しても出力しない。存在しない時も"コンテンツがありません”でしたね。
e:「1=1」が常に「真」、「20250401」が存在すれば出力する。なお「20250401」以外は出力されない。イ(当該コンテンツが返される)。
なおeにて「OR」にすれば、全データが出力されるはずです。「WHERE article = 20250401 or 1=1」の「1=1」が常に「真」、「OR」の所為でWHERE句は常に「真」。20250401だけでなく、全ての行が出力されます。
深める | 「'」の小細工の意味
今回はarticleが数値型だったので「'」の小細工をせずとも、そのまま「or 1=1」など入力すれば攻撃が通りました。結構珍しいです。
大抵の事例は文字列型に「’」で小細工して攻撃を通します。せっかくなので、articleが文字列の場合を考えて見ました。

入力値の両端に自動的に「’」が付けられてWHRE句に組み込まれるので、「'」で強制的に一度切ってます。
「20250401' or 'a'='a」とすれば「WHERE article='20250401' or 'a'='a'」になり、全データが出力されてしまいます。
講座 | ブラインドSQLインジェクション
12頁頭に見逃せないセリフあり。「ブラインドSQLインジェクションの脆弱性に該当」。
今後穴埋め用語や説明作文に出してくると思いました。
「ブラインドSQLインジェクション」とは、SQLの実行結果が表示されなくても、応答時間/応答の可否からデータベースの構造/情報を特定する攻撃。>参考Web(Zenken社)
問題文12頁頭「ブラインドSQLインジェクションの脆弱性に該当する」は、表1で攻撃者がサーバの応答を観察している節から判断されました。
表1の応答では、データもエラーメッセージも出ず、応答も2種類ですが、それでも分析できる情報があるんです。
ここから先は

SC午後解説(午後, 午後1)情報処理安全確保支援士
支援士午後(~R05秋)、セキスペ午前1(R05春~H24春)の解説です。 【必ずリストを見てからご購入下さい】 設定間違いありましたらD…

SC午後解説(午後, 午後1&2)情報処理安全確保支援士
支援士午後(~R05秋)、セキスペ午前1+2の解説です。 【必ずリストを見てからご購入下さい】 設定間違いありましたらDM下さい。 解答…

SC午後解説(最新~令和5年秋)
新SC:支援士午後(~R05秋)の解説のみ。 【必ずリストを見てからご購入下さい】 解答に至る道・粘り方/別解・関連の補強まで詰めてます。…
この記事が参加している募集
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ
