Flatt Security Blog

株式会社Flatt Securityの公式ブログです。プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

株式会社Flatt Securityの公式ブログです。
プロダクト開発やプロダクトセキュリティに関する技術的な知見・トレンドを伝える記事を発信しています。

Web

Webアプリケーションに対する脆弱性診断の外注/内製化とバグバウンティの役割の違い

初めまして、Flatt Security社のブログに寄稿させていただくことになりました、西川と申します。 普段は、SaaS企業でプロダクトセキュリティをメインの仕事としていますが、一般社団法人鹿児島県サイバーセキュリティ協議会の代表理事として活動しております…

SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方

こんにちは、@hamayanhamayan です。 本稿ではWebセキュリティに対する有用な文書として広く参照されているOWASP Top 10の1つ「インジェクション」について考えていきます。色々なインジェクションを例に挙げながら、どのようにインジェクションが起こるのか…

Flatt Security Developers' Quiz #7 解説

こんにちは、今回作問したTerranovaです。今回はFlatt Security Developers' Quiz #7にご参加いただきありがとうございました。 Flatt Security Developers' Quiz #7 開催! 解答は2/18(日) 19:59まで!チョコ獲得を目指して頑張ってください!デモ環境: ht…

SameSite属性とCSRFとHSTS - Cookieの基礎知識からブラウザごとのエッジケースまでおさらいする

こんにちは、 @okazu_dm です。 この記事は、CookieのSameSite属性についての解説と、その中でも例外的な挙動についての解説記事です。 サードパーティCookieやCSRF対策の文脈でCookieのSameSite属性に関してはご存知の方も多いと思います。本記事でCookieの…

GitHubの内部ネットワークにアクセス可能な脆弱性(SSRF)を報告した話

今回解説する脆弱性は、当時プライベートベータ中だったGitHub Enterprise Importerと呼ばれる機能に存在しました。 この機能は以下の環境からGitHub Enterprise Cloudに対して、リポジトリデータだけでなくプルリクエストやそのコメントなど、様々なデータ…

GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点

はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近は認証や認可に際してOpenID Connectを使うWebサービスが増えていると思います。「Googleアカウント/Twitter/Facebookでログイン」などのUIはあらゆるサービス…

「BtoB SaaSに多く発見された脆弱性Top10」を集計しました

弊社では本当にありがたいことに多くのお客様から様々なWebサービスの脆弱性診断をご依頼頂いています。本稿では、特にご依頼いただくことが多いBtoB SaaSという領域において実際にどのような種類の脆弱性が見つかっているのか(我々が発見できているのか)を…

VS Codeで任意コード実行が可能だった脆弱性から学ぶ、Electron開発の注意点(CVE-2021-43908)

Electronの開発では、ライブラリとしてのElectronの実装と、その上にユーザーが構築するデスクトップアプリケーションの2つのコードが存在します。デスクトップアプリケーションの実装においても、メインプロセスとレンダラープロセス、サブフレームなど、考…

React Hooksに潜む罠/一緒にプレイするだけで乗っ取り!?【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」より、今回は、LT5「React Hooksに潜む罠」とLT6「一緒にプレイするだけで乗っ取り!? ~任天堂のバッファオーバーフロー脆弱性~」の発表内容をお届けします。 …

決済代行サービスの実装における検証不備を悪用/Pwning Old WebKit for Fun and Profit【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」より、今回は、LT3「決済代行サービスの実装における検証不備を悪用」とLT4「Pwning Old WebKit for Fun and Profit」の発表内容をお届けします。 <注意事項> 本…

Deep in 国際化ドメイン名/Credential GuardをバイパスするPass-the-Challengeについて【Security․Tokyo #1】

株式会社Flatt SecurityとTokyo HackerOne Clubが共催した脆弱性勉強会「Security․Tokyo #1」。満員の会場ではテーマの異なる6つのLTが発表され、盛況のうちに終わりました。 今回は、LT1「Deep in 国際化ドメイン名」とLT2「Credential Guardをバイパスする…

セキュリティ企業における開発とドッグフーディング - gRPC-web採用プロダクトの脆弱性診断を効率的に行えるようになるまで

こんにちは、Flatt Securityでインターンをしている@smallkirbyです。皆さんは、「ドッグフーディング」という言葉をご存知でしょうか。開発周りでは、書いたコードを開発者側で積極的に利用し、生成されたフィードバックをまた開発に投入していくフローのこ…

SPA開発とセキュリティ - DOM based XSSを引き起こすインジェクションのVue, React, Angularにおける解説と対策

Vue.js logo: ©︎ Evan You (CC BY-NC-SA 4.0 with extra conditions(It’s OK to use logo in technical articles for educational purposes)) / React logo: ©︎ Meta Platforms, Inc. (CC BY 4.0) / Angular logo: ©︎ Google (CC BY 4.0) はじめに こんにち…

そのクーポン機能は不正利用を防げる実装ですか? - Webサービスにおけるクーポン機能の仕様とセキュリティ観点

こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上です。セキュリティ・キャンプ卒業後、新卒入社組としてFlatt Securityでセキュリティエンジニアをしています。 本稿では、BtoCのWebサービスにおいてマーケティング施策として頻繁に発行さ…

開発者が知っておきたい「XSSの発生原理以外」の話

XSSはセキュリティエンジニアならもちろん、開発を行っているエンジニアの多くの方が知っている脆弱性です。ですが、私はWebアプリケーションの脆弱性診断を行ってきた経験の中で多くのXSSを目にしてきましたし、依然として検出率の多い脆弱性の一つだと感じ…

「推測不可能性」だけで安心?セキュアなURL生成について考える

多くのWebサービスにおいて、ブログ記事やドキュメントの公開・下書き共有のためにURLを発行する機能が存在していると思います。このようなURLに関して、第三者に知られたくない場合「推測不可能なURL」を発行するといったセキュリティ観点は広く知られてい…

Webサービスにおけるファイルアップロード機能の仕様パターンとセキュリティ観点

はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上です。セキュリティ・キャンプ卒業後、新卒入社組としてFlatt Securityでセキュリティエンジニアをしています。 本稿では、Webアプリケーション上で実装される「ファイルアップロー…

Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション

※本記事は筆者styprが英語で執筆した記事を株式会社Flatt Security社内で日本語に翻訳したものになります。 TL;DR Node.jsのエコシステムで最も人気のあるMySQLパッケージの一つである mysqljs/mysql (https://github.com/mysqljs/mysql)において、クエリの…

Webサービスにおけるログイン機能の仕様とセキュリティ観点

はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの村上 @0x003f です。 本稿では、Webアプリケーション上で実装される「ログイン機能」の実装パターンをいくつか示し、その「仕様の中で起きうる脆弱性」とその対策について解説していき…