QualysGuard® WAS 3.1 API リリースノート 2013 年 11 月 4 日 QualysGuard Web Application Scanning(WAS)3.1 では、WAS API で次の新しい機能拡張が行われており、ここ ではこれらについてすべて説明します。 認証レコードを管理するための新しい API XML 形式の WAS レポート – 検出内容の Base64 エンコード化 認証レコードを管理するための新しい API これまでのリリースと同様、認証機能を使用して、Web アプリケーションのより詳細な評価を実行し、脆弱性を検出 して検証することができます。フォーム(Basic、Selenium スクリプト)やサーバ認証(Basic、Digest、NTLM、SSL)な ど、さまざまな認証メソッドに対応しています。認証を使用するには、認証レコードを設定し、設定したレコードとス キャンする Web アプリケーションを関連付けて、使用する認証メソッドを指定します。 WAS 3.1 では、認証レコードを管理するための WebAppAuthRecord という新しい API が導入されました。この新し い API では次のことを実行できます。 • 認証レコードを Web アプリケーション設定と別に管理する • 認証レコードを簡単に作成し、作成した 1 つのレコードを複数の Web アプリケーションに関連付ける • 作成、更新、削除、詳細の取得、検索、カウントなど、認証レコードに関するすべての処理を実行する 新しい WebAppAuthRecord リソースは次の URL にあります。 https://qualysapi.qualys.com/qps/ rest/3.0/<処理>/was/webappauthrecord (“ qualysapi.qualys.com ”は QualysGuard プラットフォーム用の QualysGuard API サーバの URL です。ここでは、 US プラットフォーム 1 になります。) 重要! このリリースで Web アプリケーション API(WebApp)が更新されました。Web ア プリケーション API を使用した認証レコードの管理(作成、更新、削除など)はで きなくなりました。代わりに新しい認証レコード API を使用します。 既存の認証レコードについては、特別な作業は必要ありません。レコードで定義 されている認証のメソッドを使用して、Web アプリケーションがスキャンされます。 新しいレコードを作成したり既存のレコードを更新したりするには、新しい認証レ コード API を使用する必要があります。 無断複写・転載を禁じます。2013 年 クォリスジャパン株式会社 1 API の機能拡張の概要 新しい認証レコード API サポートされる処理 - 新しい WebAppAuthRecord API では次の処理を行うことができます。<基本 URL> は、ご使 用のアカウントが所属している QualysGuard プラットフォームの API サーバの URL です。 処理 URL 認証レコードのカウント <基本 URL>/qps/3.0/count/was/webappauthrecord 認証レコードの検索 <基本 URL>/qps//3.0/search/was/webappauthrecord 認証レコードの詳細の取得 <基本 URL>/qps//3.0/get/was/webappauthrecord 新しい認証レコードの作成 <基本 URL>/qps//3.0/create/was/webappauthrecord 認証レコードの更新 <基本 URL>/qps//3.0/update/was/webappauthrecord 認証レコードの削除 <基本 URL>/qps//3.0/delete/was/webappauthrecord 新しい XSD - WebAppAuthRecord オブジェクトは WebApp オブジェクトとは別になります。新しく webappauthrecord.xsd(…/qps/xsd/3.0/was/webappauthrecord.xsd)になります。WebAppAuthRecord オブジェクトに は次の新しい属性が含まれます。 <xs:complexType name="WebAppAuthRecord"> <xs:all> <xs:element name="id" type="xs:long" minOccurs="0"/> <xs:element name="name" type="Cdata" minOccurs="0"/> <xs:element name="owner" type="User" minOccurs="0"/> <xs:element name="formRecord" type="WebAppAuthFormRecord" minOccurs="0"/> <xs:element name="serverRecord" type="WebAppAuthServerRecord" minOccurs="0"/> <xs:element name="tags" type="TagList" minOccurs="0"/> <xs:element name="comments" type="CommentList" minOccurs="0"/> <xs:element name="createdDate" type="xs:dateTime" /> <xs:element name="createdBy" type="User" /> <xs:element name="updatedDate" type="xs:dateTime" /> <xs:element name="updatedBy" type="User" /> </xs:all> </xs:complexType> Web アプリケーション API の変更点 このリリースで WebApp API が更新されました。 サポートされる処理 – 次の 2 つの変更点に注意してください。 1)作成処理と更新処理を使用して、認証レコードを Web アプリケーションに関連付けます(以前のように Web ア プリケーション設定内でレコードを作成することはできません)。API リクエストでは、入力として id 要素を指定する のみです。 2)Web アプリケーションの表示および詳細の取得の API リクエスト(検索処理と取得処理)では、Web アプリケー ションの ID と名前のみが返されます。 QualysGuard WAS API リリースノート 2 XSD の更新 - webapp.xsd が更新されました(…/qps/xsd/3.0/was/webapp.xsd)。次の変更点に注意してください。 1)WebApp オブジェクトには、引き続き WebAppAuthRecord 要素のリストが含まれます(変更なし)。 <xs:complexType name="WebApp"> <xs:all> ... <xs:element name="authRecords" type="WebAppAuthRecordList" minOccurs="0"/> ... </xs:all> </xs:complexType> 2)WebAppAuthRecord 要素では、id 属性と name 属性のみを使用できます(その他の属性は使用できなくなりました)。 <xs:complexType name="WebAppAuthRecord"> <xs:all> <xs:element name="id" type="xs:long" minOccurs="0"/> <xs:element name="name" type="Cdata" minOccurs="0"/> </xs:all> </xs:complexType> QualysGuard WAS API リリースノート 3 認証レコードを作成してスキャンに適用する方法 WAS API バージョン 3.1 で個別の認証レコードを作成し、作成したレコードを Web アプリケーションに関連付けま す。これにより、Web アプリケーションに対して認証スキャンを開始できるようになります。 ステップ 1: 認証レコードの作成 新しい認証レコードを作成して Web アプリケーションの認証方法を指定します。次のリクエストの例は、フォーム認 証が使用されることを示しています。それぞれの Web アプリケーションの必要に応じて、複数の認証レコードを作 成できます(Web アプリケーション認証レコードに関するパーミッションのうち、認証レコードの新規作成のパーミッ ションが付与されている必要があります)。 リクエスト: curl -u "USERNAME:PASSWORD" -H "Content-type: text/xml" -X "POST" --data-binary @"https://qualysapi.qualys.com/qps/rest/3.0/create/was/webappauthrecord/" < file.xml 注記: file.xml には、リクエスト POST データが含まれます。 リクエスト POST データ: <?xml version="1.0" encoding="UTF-8"?> <ServiceRequest> <data> <WebAppAuthRecord> <name><![CDATA[From API - Form]]></name> <formRecord> <type>STANDARD</type> <sslOnly>true</sslOnly> <fields> <set> <WebAppAuthFormRecordField> <name><![CDATA[password]]></name> <value><![CDATA[12345]]></value> </WebAppAuthFormRecordField> <WebAppAuthFormRecordField> <name><![CDATA[username]]></name> <value><![CDATA[user]]></value> </WebAppAuthFormRecordField> </set> </fields> </formRecord> <comments> <set> <Comment> <contents><![CDATA[This is a comment]]></contents> </Comment> </set> </comments> <tags> <set> <Tag> <id>102609</id> </Tag> </set> </tags> </WebAppAuthRecord> </data> </ServiceRequest> QualysGuard WAS API リリースノート 4 応答: <?xml version="1.0" encoding="UTF-8"?> <ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://qualysapi.qualys.com/qps/xsd/3.0/was/webappauth record.xsd"> <responseCode>SUCCESS</responseCode> <count>1</count> <data> <WebAppAuthRecord> <id>1037</id> <name><![CDATA[From API - Form]]></name> <owner> <id>123056</id> <username>username</username> <firstName><![CDATA[Rodnina]]></firstName> <lastName><![CDATA[Rocker]]></lastName> </owner> <formRecord> <type>STANDARD</type> <sslOnly>true</sslOnly> <fields> <count>8</count> <list> <WebAppAuthFormRecordField> <id>1196</id> <name><![CDATA[password]]></name> <value><![CDATA[abc123]]></value> </WebAppAuthFormRecordField> <WebAppAuthFormRecordField> <id>1154</id> <name><![CDATA[username]]></name> <value><![CDATA[admin]]></value> </WebAppAuthFormRecordField> </list> </fields> </formRecord> <tags> <count>1</count> </tags> <comments> <count>1</count> </comments> <createdDate>2009-02-05T17:10:41Z</createdDate> <updatedDate>2012-05-10T19:11:04Z</updatedDate> <updatedBy> <id>123056</id> <username>username</username> <firstName><![CDATA[Rodnina]]></firstName> <lastName><![CDATA[Rocker]]></lastName> </updatedBy> </WebAppAuthRecord> </data> </ServiceResponse> QualysGuard WAS API リリースノート 5 ステップ 2: Web アプリケーション設定への認証レコードの追加 認証先の各 Web アプリケーションを作成または更新して、Web アプリケーション設定に認証レコードを追加します。 作業は、認証レコード ID を追加するのみです。なお、複数の Web アプリケーションに同じ認証レコードを関連付 けることもできます(WAS アセットに関するパーミッションのうち、Web アプリケーションの作成/更新のパーミッショ ンがあれば、Web アプリケーション設定に認証レコードを追加することができます)。 リクエスト: curl -u "USERNAME:PASSWORD" -H "Content-type: text/xml" -X "POST" --data-binary @"https://qualysapi.qualys.com/qps/rest/3.0/update/was/webapp/324539" < file.xml 注記: file.xml には、リクエスト POST データが含まれます。 リクエスト POST データ: <ServiceRequest> <data> <WebApp> <authRecords> <add> <WebAppAuthRecord><id>1688</id></WebAppAuthRecord> <WebAppAuthRecord><id>1689</id></WebAppAuthRecord> <WebAppAuthRecord><id>1690</id></WebAppAuthRecord> <WebAppAuthRecord><id>1691</id></WebAppAuthRecord> </add> </authRecords> </WebApp> </data> </ServiceRequest> 応答: <?xml version="1.0" encoding="UTF-8"?> <ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance" xsi:noNamespaceSchemaLocation="https://qualysapi.qualys.com/qps/xsd/3.0/was/webapp.xsd "> <responseCode>SUCCESS</responseCode> <count>1</count> <data> <WebApp> <id>324539</id> </WebApp> </data> </ServiceResponse> ステップ 3: Web アプリケーションの詳細の確認 Web アプリケーションの詳細には、すべての Web アプリケーション設定と追加した認証レコードが含まれます。ス キャンを実行すると、Web アプリケーションに関連付けられたすべてのレコードを使用して認証が試行されます。 リクエスト: curl -u "USERNAME:PASSWORD" -H "Content-type: text/xml" "https://qualysapi.qualys.com/qps/rest/3.0/get/was/webapp/324539" QualysGuard WAS API リリースノート 6 応答: <?xml version="1.0" encoding="UTF-8"?> <ServiceResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qualysapi.qualys.com/qps/xsd/3.0/was/webapp.xsd" > <responseCode>SUCCESS</responseCode> <count>1</count> <data> <WebApp> <id>324539</id> <name><![CDATA[my-web-app]]></name> <authRecords> <count>4</count> <list> <WebAppAuthRecord> <id>1688</id> <name><![CDATA[From API - Form]]></name> </WebAppAuthRecord> <WebAppAuthRecord> <id>1689</id> <name><![CDATA[From API - Selenium]]></name> </WebAppAuthRecord> <WebAppAuthRecord> <id>1690</id> <name><![CDATA[From API - Server]]></name> </WebAppAuthRecord> <WebAppAuthRecord> <id>1691</id> <name><![CDATA[From API – SSL Cert]]></name> </WebAppAuthRecord> </list> </authRecords> ... </WebApp> </data> </ServiceResponse> ステップ 4: スキャンの開始 次の URL にある WasScan API を使用してスキャンを開始します。 https://qualysapi.qualys.com/qps/rest/3.0/launch/was/wascan すべての機能の詳細について すべての API 呼び出しとサンプルの詳細については、『QualysGuard WAS API User Guide Version 3.1』を参照し てください。このガイドは、リリース時に「Resources」項(「Help」→「Resources」)からダウンロードできます。 QualysGuard WAS API リリースノート 7 XML 形式の WAS レポート – 検出内容の Base64 エンコード化 XML 形式のすべての WAS レポートで、検出内容が Base64 でエンコードされるようになりました。検出内容には、 脆弱性検出データ、収集情報、機密コンテンツがあります。API または UI を使用して WAS アプリケーションで作 成した XML 形式のデータを他のクライアントで利用している場合は、WAS の検索内容のデータを適切に処理で きるようにクライアントを更新してください。 Base64 でエンコードされる検出内容について スキャンおよび Web アプリケーションのすべての検索内容は、XML 形式の場合、Base64 でエンコードされます。 エンコードされる検出内容には、次のものがあります。 • 応答の実際の内容 • 応答で証拠が明確な場合は、その証拠の内容 • 収集情報データ Base64 でエンコードされたデータは通常、属性が“ base64=true ”に設定されます。次に例を示します。 <FINDING> <PAYLOAD><![CDATA[uid=%00%3Cscript%3E_q%3Drandom(X157105156Y1Z)%3C%2Fscript %3E]]></PAYLOAD> <RESULT base64="true"><![CDATA[Cl9mZWVkKCgKCgpbCiI=]]></RESULT> </FINDING> “ base64=true ”属性が設定されていない場合、値はプレーンテキストになります。次に例を示します。 <FINDING> <PAYLOAD><![CDATA[uid=%00%3Cscript%3E_q%3Drandom(X157105156Y1Z)%3C%2Fscript %3E]]></PAYLOAD> <RESULT><![CDATA[_feed(("]]></RESULT> </FINDING> 更新されたレポート 次の WAS レポートに表示される検出内容が Base64 でエンコードされるようになりました。 • WAS v3 スキャン結果 • Web アプリケーションレポート • Web アプリケーションスキャンレポート WAS v3 スキャン結果 脆弱性と機密コンテンツの検出内容 更新された要素: WasScan/vulns/list/WasScanVuln/instances/list/WasScanVulnInstance/payloads/list/WasSca nVulnPayload/result WasScan/sensitiveContents/list/WasScanSensitiveContent/instances/list/WasScanSensitive ContentInstance/payloads/list/WasScanSensitiveContentPayload/result QualysGuard WAS API リリースノート 8 スキャン結果の XML 出力例: <WasScanVuln> <qid>150001</qid> <title><![CDATA[Reflected Cross-Site Scripting (XSS) Vulnerabilities]]></title> <uri><![CDATA[http://myuri.apps.com/613460625329/feed.gtl?uid=%22'%3E%3Cqss%20a%3DX157 105156Y1Z%3E]]></uri> <param>uid</param> <instances> <count>1</count> <list> <WasScanVulnInstance> <authenticated>false</authenticated> <payloads> <count>4</count> <list> <WasScanVulnPayload> <payload><![CDATA[uid=%00%3Cscript%3E_q%3Drandom(X157105156Y1Z)%3C%2Fscript%3E]]> </payload> <result base64="true"> <![CDATA[Cl9mZWVkKCgKCgpbCiI]]></result> </WasScanVulnPayload> <WasScanVulnPayload> <payload><![CDATA[uid=%22'%3E%3Cqss%20a%3DX157105156Y1Z%3E]]></payload> <result base64="true"> <![CDATA[Cl9mZWVkKCgKCgpbCiIiJyZndDsmbHQ7cXNzIGE9WDE1NzEwNTE1NlkxWiZndDsiCgpdCgoKCikpC g]]></result> </WasScanVulnPayload> <WasScanVulnPayload> <payload><![CDATA[uid=%00%3Cscript%3E_q%3Drandom(X157201836Y1Z)%3C%2Fscript%3E]]> </payload> <result base64="true"><![CDATA[Cl9mZWVkKCgKCgpbCiI]]></result> </WasScanVulnPayload> <WasScanVulnPayload> <payload><![CDATA[uid=%22'%3E%3Cqss%20a%3DX157201836Y1Z%3E]]></payload> <result base64="true"> <![CDATA[Cl9mZWVkKCgKCgpbCiIiJyZndDsmbHQ7cXNzIGE9WDE1NzIwMTgzNlkxWiZndDsiCgpdCgoKCikpC g]]></result> </WasScanVulnPayload> </list> </payloads> </WasScanVulnInstance> </list> </instances> </WasScanVuln> 収集情報の検出内容 更新された要素: WasScan/igs/list/WasScanIg/data スキャン結果の XML 出力例: <INFO> <QID>150044</QID> <TITLE><![CDATA[Login Form Is Not Submitted Via HTTPS]]></TITLE> <RESULT base64="true"> <![CDATA[RGVmYXVsdCBmb3JtIGFjdGlvbiBkb2VzIG5vdCBzdWJtaXQgdmlhIFNTTDogaHR0cDovL2dvb2ds ZS1ncnV5ZXJlLmFwcHNwb3QuY29tLzYxMzQ2MDYyNTMyOS9sb2dpbgo= ]]></RESULT> </INFO> QualysGuard WAS API リリースノート 9 Web アプリケーションレポート 脆弱性と機密コンテンツの検出内容 更新された要素: WAS_WEBAPP_REPORT/RESULTS/WEB_APPLICATION/VULNERABILITY_LIST/VULNERABILITY/PAYLOADS/PA YLOAD/RESPONSE/CONTENTS WAS_WEBAPP_REPORT/RESULTS/WEB_APPLICATION/SENSITIVE_CONTENT_LIST/SENSITIVE_CONTENT/PAY LOADS/PAYLOAD/RESPONSE/CONTENTS WAS_WEBAPP_REPORT/RESULTS/WEB_APPLICATION/VULNERABILITY_LIST/VULNERABILITY/PAYLOADS/PA YLOAD/RESPONSE/EVIDENCE WAS_WEBAPP_REPORT/RESULTS/WEB_APPLICATION/SENSITIVE_CONTENT_LIST/SENSITIVE_CONTENT/PAY LOADS/PAYLOAD/RESPONSE/EVIDENCE Web アプリケーションレポートの XML 出力例: <VULNERABILITY> <ID>5943</ID> <QID>150001</QID> <URL><![CDATA[http://myuri.apps.com/app/xss/0/1/0/xss.php?s='%20onEvent%3dX146470180Y1 Z%20]]></URL> <PARAM><![CDATA[s]]></PARAM> <AUTHENTICATION>Not Required</AUTHENTICATION> <STATUS>NEW</STATUS> <FIRST_TIME_DETECTED>2011-12-30T09:57:39Z</FIRST_TIME_DETECTED> <LAST_TIME_DETECTED>2011-12-30T09:57:39Z</LAST_TIME_DETECTED> <LAST_TIME_TESTED>2011-12-30T09:57:39Z</LAST_TIME_TESTED> <TIMES_DETECTED>1</TIMES_DETECTED> <PAYLOADS> <PAYLOAD> <NUM>1</NUM> <PAYLOAD><![CDATA[s='%20onEvent%3dX146470180Y1Z%20]]></PAYLOAD> <REQUEST/> <RESPONSE> <CONTENTS base64="true"><![CDATA[bGQiJmd0OyZsdDsmbHQ7L3NwYW4mZ3Q7ID0mZ3Q7ICZsdDtzcGFuIGNsYXNzPSJ ib2xkIiZndDsm YW1wO2x0OyZsdDsvc3BhbiZndDsmbHQ7YnImZ3Q7CiZsdDsvZGl2Jmd0OwombHQ7L2RpdiZndDsK Jmx0O2JyJmd0OwombHQ7ZGl2IGNsYXNzPSJwYXlsb2FkcyImZ3Q7Ck91dHB1dCBmcm9tIHJlcXVl c3QgJmx0O3NwYW4gY2xhc3M9ImJvbGQiJmd0Oy9jYXNzaXVtL3hzcy5waHA/dmFyaWFudD0wJmFt cDtxcz0xJmFtcDtmPTAmYW1wO3M9JyUyMG9uRXZlbnQlM2RYMTQ2NDcwMTgwWTFaJTIwJmx0Oy9z cGFuJmd0OwombHQ7YnImZ3Q7CiZsdDthIGhyZWY9J1wnIG9uRXZlbnQ9WDE0NjQ3MDE4MFkxWiAn Jmd0O3NhbXBsZSBsaW5rJmx0Oy9hJmd0OwombHQ7L2RpdiZndDsKJmx0O3NjcmlwdCZndDttYWlu KCkmbHQ7L3NjcmlwdCZndDsKJmx0Oy9ib2R5Jmd0OwombHQ7L2h0bWwmZ3Q7 ]]></CONTENTS> </RESPONSE> </PAYLOAD> </PAYLOADS> <IGNORED>false</IGNORED> </VULNERABILITY> 収集情報の検出内容 更新された要素: WAS_WEBAPP_REPORT/RESULTS/WEB_APPLICATION/INFORMATION_GATHERED_LIST/INFORMATION_GATHER ED/DATA QualysGuard WAS API リリースノート 10 Web アプリケーションレポートの XML 出力例: <INFORMATION_GATHERED_LIST> <INFORMATION_GATHERED> <ID>1529</ID> <QID>6</QID> <FIRST_TIME_DETECTED>2011-12-30T09:57:39Z</FIRST_TIME_DETECTED> <LAST_TIME_DETECTED>2011-12-30T09:57:39Z</LAST_TIME_DETECTED> <LAST_TIME_TESTED>2011-12-30T09:57:39Z</LAST_TIME_TESTED> <DATA base64="true"><![CDATA[I3RhYmxlCklQX2FkZHJlc3MgSG9zdF9uYW1lCgoxMC4xMC4yNi43NyBmdW5reXR vd24udnVsbi5x YS5xdWFseXMuY29tCg== ]]></DATA> </INFORMATION_GATHERED> <INFORMATION_GATHERED> <ID>1532</ID> <QID>150031</QID> <FIRST_TIME_DETECTED>2011-12-30T09:57:39Z</FIRST_TIME_DETECTED> <LAST_TIME_DETECTED>2011-12-30T09:57:39Z</LAST_TIME_DETECTED> <LAST_TIME_TESTED>2011-12-30T09:57:39Z</LAST_TIME_TESTED> <DATA base64="true"><![CDATA[VGltZW91dCByZWFjaGVkIGluIElQQyBjb25uZWN0aW9uIHRvIFdlYktpdC4gSmF 2YVNjcmlwdCBz dXBwb3J0IGRpc2FibGVkIGluOmVQaGFzZUNyYXdsCkNyYXdsIGNvbXBsZXRlZCB3aXRoIFdlYktp dC4K ]]></DATA> </INFORMATION_GATHERED> スキャンレポート 脆弱性と機密コンテンツの検出内容 更新された要素: WAS_SCAN_REPORT/RESULTS/VULNERABILITY_LIST/VULNERABILITY/PAYLOADS/PAYLOAD/RESPONSE/CON TENTS WAS_SCAN_REPORT/RESULTS/SENSITIVE_CONTENT_LIST/SENSITIVE_CONTENT/PAYLOADS/PAYLOAD/RESP ONSE/CONTENTS WAS_SCAN_REPORT/RESULTS/VULNERABILITY_LIST/VULNERABILITY/PAYLOADS/PAYLOAD/RESPONSE/EVI DENCE WAS_SCAN_REPORT/RESULTS/SENSITIVE_CONTENT_LIST/SENSITIVE_CONTENT/PAYLOADS/PAYLOAD/RESP ONSE/EVIDENCE 収集情報の検出内容 更新された要素: WAS_SCAN_REPORT/RESULTS/INFORMATION_GATHERED_LIST/INFORMATION_GATHERED/DATA QualysGuard WAS API リリースノート 11
© Copyright 2024 Paperzz