SCW图标
英雄背景无分隔线
博客

Psychische Signaturen — was du wissen musst

Charly Eriksen
发表于 2022 年 4 月 27 日
最后更新于 2026年3月9日

Am 19. April 2022, Neil Madden hat eine Sicherheitslücke aufgedeckt in Oracle Java 15 bis 18 und OpenJDK 15, 17 und 18. Die Sicherheitsanfälligkeit liegt in der Kryptografie für ECDSA-Signaturen, die es einem Angreifer ermöglicht, Signaturprüfungen für diese Signaturen vollständig zu umgehen.

Angesichts der undurchsichtigen Natur der ECDSA-Signaturen ist es leicht, Schlagzeilen über diese Sicherheitslücke zu lesen und direkt an ihnen vorbeizufliegen. ECDSA-Signaturen spielen jedoch tatsächlich eine wichtige Rolle beim Schutz von Systemen im Internet bei kritischen Aufgaben wie der Authentifizierung.

Bevor wir ins Detail gehen, wenn Sie erleben möchten, wie Hacker Psychic Signatures auf praktische Weise ausnutzen. Springen Sie direkt in unsere free lab - Missionen um es selbst auszuprobieren.

Was ist die große Sache mit ECDSA?

Möglicherweise haben Sie noch nie von ECDSA gehört. Es ist der Kurzname für Elliptic Curve Digital Signature Algorithm. Dabei handelt es sich um eine Art der Kryptografie, die die mathematischen Eigenschaften elliptischer Kurven nutzt und derzeit einige der stärksten kryptografischen Sicherheitsstandards der Branche bietet.

Das bedeutet, dass es für viele wichtige Funktionen verwendet wird, wie zum Beispiel:

  • Das Signieren von SSL-Zertifikaten
  • Handshakes bei verschlüsselter Kommunikation
  • SAML
  • JWT-Signaturen
  • OpenID Connect-Signaturen

Dies bedeutet, dass ECDSA ein wichtiger Bestandteil vieler der empfindlichsten Funktionen zum Schutz von Systemen ist. Die Möglichkeit, Signaturprüfungen zu umgehen, wäre potenziell verheerend.

Wie wird die Sicherheitslücke ausgenutzt?

Die Mathematik von ECDSA ist leider etwas kompliziert. Aber das Wichtigste, was Sie wissen müssen, ist, dass eine ECDSA-Signatur zwei Informationen enthält: r, und s.

Diese Zahlen werden verwendet, um die Gültigkeit der Signatur zu berechnen. Der Wert r ist das „Ergebnis“ (linke Seite) einer Berechnung mit beiden r und s auf der rechten Seite der Gleichung. Da die Multiplikation mit 0 eine schlechte Idee ist, wird in der ECDSA-Spezifikation ausdrücklich darauf hingewiesen, dass, wenn der Wert von r oder s ist immer 0, sie sollten verworfen werden.

Die Java-Implementierung von ECDSA hat jedoch vergessen, dies zu berücksichtigen. Daher akzeptiert es eine Signatur mit beiden r und s ist 0, was immer wahr sein wird. Wir können dies anhand eines Beispiels eines JWT demonstrieren, das zeigt, wie einfach es ist. Benutzen https://token.dev/, wir können ein Token mit dem Algorithmus ES256 generieren, ähnlich einem, das von einer Anwendung generiert würde:

Ein mit dem Algorithmus ES256 generiertes Token

Denken Sie daran, dass ein JWT in 3 Teile aufgeteilt ist:

  • Header (blau)
  • Nutzlast (grün)
  • Signatur (in Rot)

Nun, wenn wir die Signaturprüfung umgehen wollten, wie würden wir das angehen? Die Signatur spezifiziert die Werte für r und s, und ist im DER-Format kodiert.

DER-Kodierung für Signaturwerte

Lassen Sie uns unser JWT ändern, um diese neue Signatur zu verwenden. Beachten Sie, dass in JWTs das Gleichheitszeichen nicht enthalten ist.

Neues JWT mit DER-kodierter Signatur

Nun, unsere Unterschrift hat r und s auf 0 gesetzt, und in anfälligen Versionen von Java wird die Signaturprüfung jetzt für jede von Ihnen angegebene Nutzlast erfolgreich sein.

Wer ist betroffen und wie kann es gemildert werden?

Die Sicherheitslücke betrifft sowohl Oracle Java als auch OpenJDK. Dazu gehören:

Oracle Java SE (und ältere, nicht unterstützte Versionen):

  • 18
  • 17.0.2

Oracle GraalVM企业版。

  • 22.0.0.2
  • 21,3.1

JDK öffnen:

  • 18
  • 17.0.2
  • 15,0.6
  • 13.0,10
  • 11.0,14
  • 8 Uhr 32
  • 7 u31

Beides Orakel und JDK öffnen haben Hinweise und Patches für das Problem veröffentlicht, die sofort angewendet werden können.

Praktische Methoden zur Abwehr dieser Sicherheitsanfälligkeit

Hier bei Secure Code Warrior bemühen wir uns, Entwicklern die relevantesten Informationen und praktischen Übungen für kritische Sicherheitslücken zur Verfügung zu stellen, unabhängig davon, ob es sich um eine aktuelle Sicherheitslücke wie Psychic Signatures handelt oder um etwas, das es schon seit Jahren gibt.

Wir glauben, dass es notwendig ist, Entwickler von Anfang an in die Lage zu versetzen, den Abwehrmechanismus zu verstehen und sicheren Code zu schreiben, um Risiken wirklich in Schach zu halten. Aus diesem Grund erstellen wir für Sie und die betroffenen Teams eine schrittweise Anleitung für diese Sicherheitsanfälligkeit (und viele andere).

In der exemplarischen Vorgehensweise können Sie den Anweisungen zur Nutzung der Physic Signature in JWTS folgen und die Auswirkungen auf eine funktionierende App in Echtzeit verfolgen.

Probiere es jetzt aus.

查看资源
查看资源

Die Sicherheitslücke Psychic Signature liegt in der Kryptowährung für ECDSA-Signaturen, die Systeme vor kritischen Aufgaben wie der Authentifizierung schützt. Hacker können mit dieser Sicherheitsanfälligkeit jede Signaturprüfung umgehen. In diesem Beitrag erklären wir, was das ist und wie man es mildern kann.

想了解更多吗?

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Charly Eriksen
2022年4月27日出版

分享到:
领英品牌社交x 标志

Am 19. April 2022, Neil Madden hat eine Sicherheitslücke aufgedeckt in Oracle Java 15 bis 18 und OpenJDK 15, 17 und 18. Die Sicherheitsanfälligkeit liegt in der Kryptografie für ECDSA-Signaturen, die es einem Angreifer ermöglicht, Signaturprüfungen für diese Signaturen vollständig zu umgehen.

Angesichts der undurchsichtigen Natur der ECDSA-Signaturen ist es leicht, Schlagzeilen über diese Sicherheitslücke zu lesen und direkt an ihnen vorbeizufliegen. ECDSA-Signaturen spielen jedoch tatsächlich eine wichtige Rolle beim Schutz von Systemen im Internet bei kritischen Aufgaben wie der Authentifizierung.

Bevor wir ins Detail gehen, wenn Sie erleben möchten, wie Hacker Psychic Signatures auf praktische Weise ausnutzen. Springen Sie direkt in unsere free lab - Missionen um es selbst auszuprobieren.

Was ist die große Sache mit ECDSA?

Möglicherweise haben Sie noch nie von ECDSA gehört. Es ist der Kurzname für Elliptic Curve Digital Signature Algorithm. Dabei handelt es sich um eine Art der Kryptografie, die die mathematischen Eigenschaften elliptischer Kurven nutzt und derzeit einige der stärksten kryptografischen Sicherheitsstandards der Branche bietet.

Das bedeutet, dass es für viele wichtige Funktionen verwendet wird, wie zum Beispiel:

  • Das Signieren von SSL-Zertifikaten
  • Handshakes bei verschlüsselter Kommunikation
  • SAML
  • JWT-Signaturen
  • OpenID Connect-Signaturen

Dies bedeutet, dass ECDSA ein wichtiger Bestandteil vieler der empfindlichsten Funktionen zum Schutz von Systemen ist. Die Möglichkeit, Signaturprüfungen zu umgehen, wäre potenziell verheerend.

Wie wird die Sicherheitslücke ausgenutzt?

Die Mathematik von ECDSA ist leider etwas kompliziert. Aber das Wichtigste, was Sie wissen müssen, ist, dass eine ECDSA-Signatur zwei Informationen enthält: r, und s.

Diese Zahlen werden verwendet, um die Gültigkeit der Signatur zu berechnen. Der Wert r ist das „Ergebnis“ (linke Seite) einer Berechnung mit beiden r und s auf der rechten Seite der Gleichung. Da die Multiplikation mit 0 eine schlechte Idee ist, wird in der ECDSA-Spezifikation ausdrücklich darauf hingewiesen, dass, wenn der Wert von r oder s ist immer 0, sie sollten verworfen werden.

Die Java-Implementierung von ECDSA hat jedoch vergessen, dies zu berücksichtigen. Daher akzeptiert es eine Signatur mit beiden r und s ist 0, was immer wahr sein wird. Wir können dies anhand eines Beispiels eines JWT demonstrieren, das zeigt, wie einfach es ist. Benutzen https://token.dev/, wir können ein Token mit dem Algorithmus ES256 generieren, ähnlich einem, das von einer Anwendung generiert würde:

Ein mit dem Algorithmus ES256 generiertes Token

Denken Sie daran, dass ein JWT in 3 Teile aufgeteilt ist:

  • Header (blau)
  • Nutzlast (grün)
  • Signatur (in Rot)

Nun, wenn wir die Signaturprüfung umgehen wollten, wie würden wir das angehen? Die Signatur spezifiziert die Werte für r und s, und ist im DER-Format kodiert.

DER-Kodierung für Signaturwerte

Lassen Sie uns unser JWT ändern, um diese neue Signatur zu verwenden. Beachten Sie, dass in JWTs das Gleichheitszeichen nicht enthalten ist.

Neues JWT mit DER-kodierter Signatur

Nun, unsere Unterschrift hat r und s auf 0 gesetzt, und in anfälligen Versionen von Java wird die Signaturprüfung jetzt für jede von Ihnen angegebene Nutzlast erfolgreich sein.

Wer ist betroffen und wie kann es gemildert werden?

Die Sicherheitslücke betrifft sowohl Oracle Java als auch OpenJDK. Dazu gehören:

Oracle Java SE (und ältere, nicht unterstützte Versionen):

  • 18
  • 17.0.2

Oracle GraalVM企业版。

  • 22.0.0.2
  • 21,3.1

JDK öffnen:

  • 18
  • 17.0.2
  • 15,0.6
  • 13.0,10
  • 11.0,14
  • 8 Uhr 32
  • 7 u31

Beides Orakel und JDK öffnen haben Hinweise und Patches für das Problem veröffentlicht, die sofort angewendet werden können.

Praktische Methoden zur Abwehr dieser Sicherheitsanfälligkeit

Hier bei Secure Code Warrior bemühen wir uns, Entwicklern die relevantesten Informationen und praktischen Übungen für kritische Sicherheitslücken zur Verfügung zu stellen, unabhängig davon, ob es sich um eine aktuelle Sicherheitslücke wie Psychic Signatures handelt oder um etwas, das es schon seit Jahren gibt.

Wir glauben, dass es notwendig ist, Entwickler von Anfang an in die Lage zu versetzen, den Abwehrmechanismus zu verstehen und sicheren Code zu schreiben, um Risiken wirklich in Schach zu halten. Aus diesem Grund erstellen wir für Sie und die betroffenen Teams eine schrittweise Anleitung für diese Sicherheitsanfälligkeit (und viele andere).

In der exemplarischen Vorgehensweise können Sie den Anweisungen zur Nutzung der Physic Signature in JWTS folgen und die Auswirkungen auf eine funktionierende App in Echtzeit verfolgen.

Probiere es jetzt aus.

查看资源
查看资源

请填写下方表格以下载报告

我们恳请您允许我们向您发送有关我们产品及/或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会为营销目的将其出售给其他企业。

提交
scw 成功图标
SCW 错误图标
要提交表单,请启用“Analytics”Cookie。完成后,您可随时将其关闭。

Am 19. April 2022, Neil Madden hat eine Sicherheitslücke aufgedeckt in Oracle Java 15 bis 18 und OpenJDK 15, 17 und 18. Die Sicherheitsanfälligkeit liegt in der Kryptografie für ECDSA-Signaturen, die es einem Angreifer ermöglicht, Signaturprüfungen für diese Signaturen vollständig zu umgehen.

Angesichts der undurchsichtigen Natur der ECDSA-Signaturen ist es leicht, Schlagzeilen über diese Sicherheitslücke zu lesen und direkt an ihnen vorbeizufliegen. ECDSA-Signaturen spielen jedoch tatsächlich eine wichtige Rolle beim Schutz von Systemen im Internet bei kritischen Aufgaben wie der Authentifizierung.

Bevor wir ins Detail gehen, wenn Sie erleben möchten, wie Hacker Psychic Signatures auf praktische Weise ausnutzen. Springen Sie direkt in unsere free lab - Missionen um es selbst auszuprobieren.

Was ist die große Sache mit ECDSA?

Möglicherweise haben Sie noch nie von ECDSA gehört. Es ist der Kurzname für Elliptic Curve Digital Signature Algorithm. Dabei handelt es sich um eine Art der Kryptografie, die die mathematischen Eigenschaften elliptischer Kurven nutzt und derzeit einige der stärksten kryptografischen Sicherheitsstandards der Branche bietet.

Das bedeutet, dass es für viele wichtige Funktionen verwendet wird, wie zum Beispiel:

  • Das Signieren von SSL-Zertifikaten
  • Handshakes bei verschlüsselter Kommunikation
  • SAML
  • JWT-Signaturen
  • OpenID Connect-Signaturen

Dies bedeutet, dass ECDSA ein wichtiger Bestandteil vieler der empfindlichsten Funktionen zum Schutz von Systemen ist. Die Möglichkeit, Signaturprüfungen zu umgehen, wäre potenziell verheerend.

Wie wird die Sicherheitslücke ausgenutzt?

Die Mathematik von ECDSA ist leider etwas kompliziert. Aber das Wichtigste, was Sie wissen müssen, ist, dass eine ECDSA-Signatur zwei Informationen enthält: r, und s.

Diese Zahlen werden verwendet, um die Gültigkeit der Signatur zu berechnen. Der Wert r ist das „Ergebnis“ (linke Seite) einer Berechnung mit beiden r und s auf der rechten Seite der Gleichung. Da die Multiplikation mit 0 eine schlechte Idee ist, wird in der ECDSA-Spezifikation ausdrücklich darauf hingewiesen, dass, wenn der Wert von r oder s ist immer 0, sie sollten verworfen werden.

Die Java-Implementierung von ECDSA hat jedoch vergessen, dies zu berücksichtigen. Daher akzeptiert es eine Signatur mit beiden r und s ist 0, was immer wahr sein wird. Wir können dies anhand eines Beispiels eines JWT demonstrieren, das zeigt, wie einfach es ist. Benutzen https://token.dev/, wir können ein Token mit dem Algorithmus ES256 generieren, ähnlich einem, das von einer Anwendung generiert würde:

Ein mit dem Algorithmus ES256 generiertes Token

Denken Sie daran, dass ein JWT in 3 Teile aufgeteilt ist:

  • Header (blau)
  • Nutzlast (grün)
  • Signatur (in Rot)

Nun, wenn wir die Signaturprüfung umgehen wollten, wie würden wir das angehen? Die Signatur spezifiziert die Werte für r und s, und ist im DER-Format kodiert.

DER-Kodierung für Signaturwerte

Lassen Sie uns unser JWT ändern, um diese neue Signatur zu verwenden. Beachten Sie, dass in JWTs das Gleichheitszeichen nicht enthalten ist.

Neues JWT mit DER-kodierter Signatur

Nun, unsere Unterschrift hat r und s auf 0 gesetzt, und in anfälligen Versionen von Java wird die Signaturprüfung jetzt für jede von Ihnen angegebene Nutzlast erfolgreich sein.

Wer ist betroffen und wie kann es gemildert werden?

Die Sicherheitslücke betrifft sowohl Oracle Java als auch OpenJDK. Dazu gehören:

Oracle Java SE (und ältere, nicht unterstützte Versionen):

  • 18
  • 17.0.2

Oracle GraalVM企业版。

  • 22.0.0.2
  • 21,3.1

JDK öffnen:

  • 18
  • 17.0.2
  • 15,0.6
  • 13.0,10
  • 11.0,14
  • 8 Uhr 32
  • 7 u31

Beides Orakel und JDK öffnen haben Hinweise und Patches für das Problem veröffentlicht, die sofort angewendet werden können.

Praktische Methoden zur Abwehr dieser Sicherheitsanfälligkeit

Hier bei Secure Code Warrior bemühen wir uns, Entwicklern die relevantesten Informationen und praktischen Übungen für kritische Sicherheitslücken zur Verfügung zu stellen, unabhängig davon, ob es sich um eine aktuelle Sicherheitslücke wie Psychic Signatures handelt oder um etwas, das es schon seit Jahren gibt.

Wir glauben, dass es notwendig ist, Entwickler von Anfang an in die Lage zu versetzen, den Abwehrmechanismus zu verstehen und sicheren Code zu schreiben, um Risiken wirklich in Schach zu halten. Aus diesem Grund erstellen wir für Sie und die betroffenen Teams eine schrittweise Anleitung für diese Sicherheitsanfälligkeit (und viele andere).

In der exemplarischen Vorgehensweise können Sie den Anweisungen zur Nutzung der Physic Signature in JWTS folgen und die Auswirkungen auf eine funktionierende App in Echtzeit verfolgen.

Probiere es jetzt aus.

观看网络研讨会
开始吧
了解更多

请点击下方链接下载该资源的PDF文件。

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

查看报告预约演示
下载PDF文件
查看资源
分享到:
领英品牌社交x 标志
想了解更多吗?

分享到:
领英品牌社交x 标志
作者
Charly Eriksen
2022年4月27日出版

分享到:
领英品牌社交x 标志

Am 19. April 2022, Neil Madden hat eine Sicherheitslücke aufgedeckt in Oracle Java 15 bis 18 und OpenJDK 15, 17 und 18. Die Sicherheitsanfälligkeit liegt in der Kryptografie für ECDSA-Signaturen, die es einem Angreifer ermöglicht, Signaturprüfungen für diese Signaturen vollständig zu umgehen.

Angesichts der undurchsichtigen Natur der ECDSA-Signaturen ist es leicht, Schlagzeilen über diese Sicherheitslücke zu lesen und direkt an ihnen vorbeizufliegen. ECDSA-Signaturen spielen jedoch tatsächlich eine wichtige Rolle beim Schutz von Systemen im Internet bei kritischen Aufgaben wie der Authentifizierung.

Bevor wir ins Detail gehen, wenn Sie erleben möchten, wie Hacker Psychic Signatures auf praktische Weise ausnutzen. Springen Sie direkt in unsere free lab - Missionen um es selbst auszuprobieren.

Was ist die große Sache mit ECDSA?

Möglicherweise haben Sie noch nie von ECDSA gehört. Es ist der Kurzname für Elliptic Curve Digital Signature Algorithm. Dabei handelt es sich um eine Art der Kryptografie, die die mathematischen Eigenschaften elliptischer Kurven nutzt und derzeit einige der stärksten kryptografischen Sicherheitsstandards der Branche bietet.

Das bedeutet, dass es für viele wichtige Funktionen verwendet wird, wie zum Beispiel:

  • Das Signieren von SSL-Zertifikaten
  • Handshakes bei verschlüsselter Kommunikation
  • SAML
  • JWT-Signaturen
  • OpenID Connect-Signaturen

Dies bedeutet, dass ECDSA ein wichtiger Bestandteil vieler der empfindlichsten Funktionen zum Schutz von Systemen ist. Die Möglichkeit, Signaturprüfungen zu umgehen, wäre potenziell verheerend.

Wie wird die Sicherheitslücke ausgenutzt?

Die Mathematik von ECDSA ist leider etwas kompliziert. Aber das Wichtigste, was Sie wissen müssen, ist, dass eine ECDSA-Signatur zwei Informationen enthält: r, und s.

Diese Zahlen werden verwendet, um die Gültigkeit der Signatur zu berechnen. Der Wert r ist das „Ergebnis“ (linke Seite) einer Berechnung mit beiden r und s auf der rechten Seite der Gleichung. Da die Multiplikation mit 0 eine schlechte Idee ist, wird in der ECDSA-Spezifikation ausdrücklich darauf hingewiesen, dass, wenn der Wert von r oder s ist immer 0, sie sollten verworfen werden.

Die Java-Implementierung von ECDSA hat jedoch vergessen, dies zu berücksichtigen. Daher akzeptiert es eine Signatur mit beiden r und s ist 0, was immer wahr sein wird. Wir können dies anhand eines Beispiels eines JWT demonstrieren, das zeigt, wie einfach es ist. Benutzen https://token.dev/, wir können ein Token mit dem Algorithmus ES256 generieren, ähnlich einem, das von einer Anwendung generiert würde:

Ein mit dem Algorithmus ES256 generiertes Token

Denken Sie daran, dass ein JWT in 3 Teile aufgeteilt ist:

  • Header (blau)
  • Nutzlast (grün)
  • Signatur (in Rot)

Nun, wenn wir die Signaturprüfung umgehen wollten, wie würden wir das angehen? Die Signatur spezifiziert die Werte für r und s, und ist im DER-Format kodiert.

DER-Kodierung für Signaturwerte

Lassen Sie uns unser JWT ändern, um diese neue Signatur zu verwenden. Beachten Sie, dass in JWTs das Gleichheitszeichen nicht enthalten ist.

Neues JWT mit DER-kodierter Signatur

Nun, unsere Unterschrift hat r und s auf 0 gesetzt, und in anfälligen Versionen von Java wird die Signaturprüfung jetzt für jede von Ihnen angegebene Nutzlast erfolgreich sein.

Wer ist betroffen und wie kann es gemildert werden?

Die Sicherheitslücke betrifft sowohl Oracle Java als auch OpenJDK. Dazu gehören:

Oracle Java SE (und ältere, nicht unterstützte Versionen):

  • 18
  • 17.0.2

Oracle GraalVM企业版。

  • 22.0.0.2
  • 21,3.1

JDK öffnen:

  • 18
  • 17.0.2
  • 15,0.6
  • 13.0,10
  • 11.0,14
  • 8 Uhr 32
  • 7 u31

Beides Orakel und JDK öffnen haben Hinweise und Patches für das Problem veröffentlicht, die sofort angewendet werden können.

Praktische Methoden zur Abwehr dieser Sicherheitsanfälligkeit

Hier bei Secure Code Warrior bemühen wir uns, Entwicklern die relevantesten Informationen und praktischen Übungen für kritische Sicherheitslücken zur Verfügung zu stellen, unabhängig davon, ob es sich um eine aktuelle Sicherheitslücke wie Psychic Signatures handelt oder um etwas, das es schon seit Jahren gibt.

Wir glauben, dass es notwendig ist, Entwickler von Anfang an in die Lage zu versetzen, den Abwehrmechanismus zu verstehen und sicheren Code zu schreiben, um Risiken wirklich in Schach zu halten. Aus diesem Grund erstellen wir für Sie und die betroffenen Teams eine schrittweise Anleitung für diese Sicherheitsanfälligkeit (und viele andere).

In der exemplarischen Vorgehensweise können Sie den Anweisungen zur Nutzung der Physic Signature in JWTS folgen und die Auswirkungen auf eine funktionierende App in Echtzeit verfolgen.

Probiere es jetzt aus.

目录

下载PDF文件
查看资源
想了解更多吗?

了解更多

Secure Code Warrior 您的Secure Code Warrior 帮助您在整个软件开发周期中保障代码安全,并建立将网络安全置于首位的企业文化。无论您是应用安全经理、开发人员、首席信息安全官,还是其他从事安全工作的人员,我们都能协助您的企业降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

入门资源

更多文章
资源中心

入门资源

更多文章