てきとうなメモ

本の感想とか技術メモとか

Security

gitなどのSCMのssh URL処理の脆弱性

Compromise On Checkout - Vulnerabilities in SCM Tools · The Recurity Lablog ssh://-oProxyCommand=gnome-calculator/watというようなssh URLを処理しようとして、 ssh <ホスト名> ...のような形式で渡すと ssh -oProxyCommand=gnome-calculator ...とな…

Struts2の脆弱性(S2-046)

S2-045の話は既に書いたけども、S2-046は書いていなかったのでちょっと書く。↓のやつ。Struts2-046: A new vector - Hewlett Packard Enterprise Communityこの脆弱性は、以下の3つの条件に合う場合、マルチパートのアイテムのファイル名に記述されたOGNL式…

Struts2の脆弱性(S2-045, CVE-2017-5638)

だいぶまとめられているので私が書くことはあまりなさそうな。piyokangoさんのまとめStruts2の脆弱性 CVE-2017-5638 (S2-045)についてまとめてみた - piyologこちらに解析されている方がいて詳しいStruts2のリモートコード実行可能脆弱性(CVE-2017-5638)を分…

CVE-2016-6210の修正

OpenSSH 7.3がリリースされて、CVE-2016-6210が修正されたそうだ sshd(8): Mitigate timing differences in password authentication that could be used to discern valid from invalid account names when long passwords were sent and particular passwo…

Apache Commons FileUploadの脆弱性(CVE-2016-3092)

JVNDB-2016-000121 - Apache Commons FileUpload におけるサービス運用妨害 (DoS) の脆弱性Apache Commons FileUploadにDoS攻撃の脆弱性なのだが、攻撃方法の詳細は説明されていない。調べたところ、推測なのだが、2年前のDoS攻撃の脆弱性(CVE-2014-0050)と…

ImageMagickの脆弱性(ImageTragick)

piyokangoさんが詳しいが自分も少し調べたので。d.hatena.ne.jp ImageTragick どんな脆弱性? 外部からの入力により、意図せずに、ファイルを読みこんだり、ファイルを移動したり、削除したり、特定のURLにアクセスしたり、任意のコードを実行可能な脆弱性。…

Apache Struts2の脆弱性(CVE-2016-3081)

JVNVU#91375252: Apache Struts2 に任意のコード実行の脆弱性ぐぐるとみつかるPOCで1番簡単そうなのを解説してみる http://www.example.com/sample.action?method:%23_memberAccess%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%2C%23test%3D%23context.get%…

Googleの脆弱性公開にMicrosoftが怒る

GoogleがMicrosoftがパッチを公開する前に脆弱性の情報を公開。 MicrosoftのWindows 8.1 Updateに権限昇格につながる未修正の脆弱性が存在するとして、Googleが米国時間の2014年12月29日に情報を公開した。パッチは公開されておらず、Googleの公開方法に疑問…

lessの脆弱性

Full Disclosure: on Linux, 'less' can probably get you owned lessはLESSOPENとLESSCLOSEで前処理、後処理を行うことでいろいろな種類のファイルを表示することができる。最近のLinuxディストリビューションは前処理/後処理スクリプトを用意してくれてい…

STARTTLS改ざん問題

インターネットサービスプロバイダはメールの暗号化を勝手に解除していることが判明 - GIGAZINE STARTTLSは他のサーバやクライアントと通信する際に電子メールサーバに暗号化を要求するというもので、エンドツーエンドで暗号化が行われるPGPとは異なり、暗号…

POODLE攻撃

This POODLE Bites: Exploiting The SSL 3.0 Fallback (pdf) 読んだ。中間者攻撃でかつ被害者に何度もリクエストを投げさせないといけないようなので、攻撃はちょっと難しそうな気がする。脆弱性の原因はSSLv3とCBCの組合せにある。CBCはブロック暗号で平文…

bashのFlorian's patchとアップデート時の再起動

Shellshock関係でbashをアップデートした後にbashを利用しているプロセスを再起動するかどうかという話。 Mitigating the shellshock vulnerability (CVE-2014-6271 and CVE-2014-7169) - Red Hat Customer Portal RHELの文書はちょっと混乱していて最初は再…

Shellshockの攻撃をModSecurityで防ぐ

今回のShellshock問題の対策としては普通にbashのアップデートで良いのだけども、RedHatにModSecurityで防ぐ方法が載っていた。 The following mod_security rules can be used to reject HTTP requests containing data that may be interpreted by Bash as…

bashの脆弱性(CVE-2014-6271, CVE-2014-7169)

CVE - CVE-2014-6271 Bash Code Injection Vulnerability via Specially Crafted Environment Variables (CVE-2014-6271, CVE-2014-7169) - Red Hat Customer Portal これはひどい。こんな感じで環境変数に設定したスクリプトを実行してしまう。 $ env x='()…

Struts1の脆弱性(CVE2014-0094)の回避策いろいろ

回避策をいろいろ見かけるようになったのでちょっとまとめる サーブレットのFilterでフィルタ Protect your Struts1 applications - HP Enterprise Business Community FilterでStrutsにリクエストが来る前にclassを含むクエリパラメタをエラーにしてしまう…

リフレクションでオブジェクトのプロパティを設定するライブラリは解析対象にしない親クラスを指定すべきな気がする

今回のStruts1の脆弱性の問題は、どちらかというとcommons-beanutilsの問題な気がする。commons-beanutilsはアクセス可能なプロパティは全て設定できてしまうのだが、使う側からすると自分が想定しているプロパティにのみ設定してほしいという要望はあるだろ…

Struts1の脆弱性(CVE2014-0094)はDynaActionFormには影響しないっぽい

DynaActionFormはDynaBeanをimplementsしていて、commons-beanutilsのBeanUtilsBean#setPropertyのコードで別のルートに進む。struts-config.xmlに設定した属性しか設定できないので、セキュリティ的に正しい実装になっているみたい // Calculate the proper…

CVE2014-0094のStruts1のパッチ

パッチというかorg.apache.struts.util.RequestUtils#populateを以下のように修正すれば良さげ。テストちゃんとやっていないので、自己責任で。 public static void populate(Object bean, String prefix, String suffix, HttpServletRequest request) throw…

Struts1にも脆弱性

ラック、Apache Struts 1利用サイトに注意喚起 - Struts 2と同様の脆弱性 | マイナビニュース Apache Struts 2の脆弱性が、サポート終了のApache Struts 1にも影響~国内でいまだ大量稼働するStruts 1利用企業に、直ちに緩和策を~ | セキュリティ情報 | 株…

OpenSSLの脆弱性(Heartbleed)

Heartbleed Bug UbuntuのOpenSSLのpatchを見ての推測をてきとうに書いてみる。TLS/DTLSプロトコルにHeartbeatという拡張プロトコルがあって、接続先が生きているかどうかをチェックするために使われたりする。こいつは基本的にechoプロトコルみたいにリクエ…

Mac OS X/iOSのSSLの脆弱性

Apple史上最悪のセキュリティバグか、iOSとOS XのSSL接続に危険すぎる脆弱性が発覚──原因はタイプミス? | アプリオ ImperialViolet - Apple's SSL/TLS bug OS XとiOSのSSL接続に脆弱性があったらしい。 This signature verification is checking the signat…

NTP DDoS攻撃

Understanding and mitigating NTP-based DDoS attacks | CloudFlare Blog NTP contains a command called monlist (or sometimes MON_GETLIST) which can be sent to an NTP server for monitoring purposes. It returns the addresses of up to the last 6…

iMessageのセキュリティ

解読不可能のはずの「iMessage」が実は解読可能でIDやパスワードも読めることが判明 - GIGAZINE iMessage Privacy gigazineの記事がイミフなので、原文をナナメ読みしてみたら、中間者攻撃が可能というだけの話だった。デバイス側に証明書のインストールとか…

パスワードなしでsudoできる脆弱性(Mac OS 10.7-10.8.4)

Mac OS X Sudo Password Bypass ≈ Packet Storm If your session belongs to a user with Administrative Privileges (the user is in the sudoers file and is in the "admin group"), and the user has ever run the "sudo" command, it is possible to be…

BREACH攻撃

BREACH ATTACK breachattack.com/resources/BREACH - SSL, gone in 30 seconds.pdf HTTPの圧縮機能を用いて、HTTPS上の通信をみてCSRF tokenなどの秘密を推測することができるという脆弱性。以前CRIMEという脆弱性があったのだが、あれはHTTPSの圧縮機能とい…

Facebookの脆弱性

ニュース - Facebookの脆弱性、発見者がZuckerberg CEOのウオールを使って証明:ITpro 友達以外のウォールにも書き込みできるという脆弱性だった模様。報告者の動画見た感じだと、HTMLを書き換えてpostするだけでできていたっぽい。既に修正済みとのこと。以…

RailsのSQLインジェクション脆弱性

Rails SQL injection vulnerability: hold your horses, here are the facts – Phusion Corporate BlogPhusion Corporate Blog Let Me Github That For You | Lands of Packets CVE - CVE-2012-5664 (under review) User.find_by_name('foo', :select => 'id…

data URIによるフィッシング

Firefox, Opera Allow Phishing by Data URI Claims New Paper - ParityNews.com: ...Because Technology Matters data URIで任意のHTMLを表現できるのでフィッシングできるよという話。さらに、URL短縮サービスを利用すれば、URL短縮サービスがフィッシング…

MySQLのバグ

MySQL/MariaDBにバグ、256分の1の確率で間違ったパスワードでも認証されてしまう | スラッシュドット・ジャパン セキュリティ どんなバグかなと思ってリンク先を見ると my_bool check_scramble(const char *scramble_arg, const char *message, const uint8 …

脆弱性を突いてGitHubにアクセスしたユーザがGithubアカウントを一時停止される

At 8:49am Pacific Time this morning a GitHub user exploited a security vulnerability in the public key update form in order to add his public key to the rails organization. He was then able to push a new file to the project as a demonstrat…