2011-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2011-10-18 (火)

フィッシングサイトにはこうやって引っかかるんだ。こりゃ騙されるわ〜 [Twitter]

知り合いから Twitter の Direct Message にこんなのが。

Found a funny picture of you! http://t.co/(省略)


怪しいのは間違いなくて、実際彼はパスワードを抜かれていたわけですが、
どうやったらこうなるのか興味があったので体験してみました。


慎重にことを進める。



Twitter はパスワードが漏れるか、OAuth 認証を許可しない限り、アカウ
ントを乗っ取られることはないはずです。でも慎重を期すために、Web ブ
ラウザはメインでは使っていない Firefox を使うことにしました。

アカウントも普段とは別なのを使います。http://twitter.com にアクセス
して、一旦ログアウト。以前、動作検証用に作ったサブアカウントでログ
インしました。

次におもむろにアドレスバーに Direct Message の URL を貼り付けて、
Return キーを押下。twitter.com から「安全でない外部サイトに移動する
けど問題ないか」聞かれました。このあたりでいつもと違う雰囲気。

移動したところ、Twitter からログアウトしてしまいました。

???


その巧妙な仕組みを理解



よく分からないなあと思い、別な作業をしていましたが、また思い直して
再挑戦。

!?

twitter.com じゃない!!

画像

これほど精巧な作りだと、アカウントとパスワードを打ってしまうのも無
理はないです。すぐにタブを閉じないと、あとで忘れて打ってしまうかも。


まとめ



フィッシングサイトのへ防衛策として「リンクを不用意に踏まない」とよ
く言われますが、なぜ踏んだだけで危険なのか、今まで理解していません
でした。IE じゃあるまいし、踏んだだけで危険なわけないじゃんと。

Web サービスで認証が切れて、ログイン画面に飛ばされるのは良くあるこ
とです。その「良くあること」を利用した巧妙な仕組みだなと、腹の底か
ら実感しました。

Twitter 程度なら引っかかってもたかが知れていますが、オンラインバン
キングや PayPal とかだと厳しいですね。

Emacs auto-mode-alist の "\\'" ってなんなの〜? [Emacs]

昨晩の Emacs ミニミニ勉強会のネタ。

@tomoyaton 「auto-mode-alist って、("\\.el\\'" . emacs-lisp-mode)
とかが設定されてるけど、なんで "$" じゃなくて "\\'" なの〜?」

@masutaka 「言われてみれば確かにそうですね。でも Mule 時代は
("\\.el$" . emacs-lisp-mode) って設定されてた気がしますよ。」

結論から言うと、改行にマッチさせないよう、より厳格にしているからだっ
た。Mule 時代は "\\'" がなかったのかな。

"$" は文字列の終端と改行にマッチする。

;; hoge.el には当然マッチ
(string-match "\\.el$" "hoge.el")
=> 4

;; hoge.ell には当然マッチしない。
(string-match "\\.el$" "hoge.ell")
nil

;; あれ、hoge.el の後ろが改行でもマッチするんだけど。。。
(string-match "\\.el$" "hoge.el
")
=> 4



"\\'" は文字列の終端のみにマッチする。

;; hoge.el には当然マッチ
(string-match "\\.el\\'" "hoge.el")
=> 4

;; hoge.ell には当然マッチしない。ここまで同じ。
(string-match "\\.el\\'" "hoge.ell")
nil

;; おおっ!hoge.el の後ろが改行だとマッチしない!これか!
(string-match "\\.el\\'" "hoge.el
")
=> nil



Emacs-23.3a の Info に書いてあったけど、正直言って読んだだけでは分
からなかった。

34.3.1.1 Special Characters in Regular Expressions

`$'
     is similar to `^' but matches only at the end of a line (or the
     end of the accessible portion of the buffer). Thus, `x+$' matches
     a string of one `x' or more at the end of a line.

     When matching a string instead of a buffer, `$' matches at the end
     of the string or before a newline character.

     For historical compatibility reasons, `$' can be used only at the
     end of the regular expression, or before `\)' or `\|'.


34.3.1.3 Backslash Constructs in Regular Expressions

`\''
     matches the empty string, but only at the end of the buffer or
     string being matched against.

2011-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

検索


最近の話題
- 2020-11-10
  『理論から学ぶデータベース実践入門』を読んだ
- 2020-10-30
  CircleCI の旧 UI で設定した Slack Integration の設定を確認も変更も削除もできない件への対応方法
- 2020-09-03
  Looker User Meetup in Tokyo #4(BEACON Japan 前夜祭)に参加した #lookermeetup
- 2020-09-02
  CircleCI の orb を fork して PR を送る前の動作確認方法
- 2020-08-21
  テレビ用に HDMI 切替器を買った
- 2020-08-16
  Emacs-27.1 がリリースされたので elscreen.el を tab-bar.el に移行した
- 2020-08-14
  Chromecast を第1世代から第3世代に買い替えた
最近追記された記事
- 2014-11-02-2 (253日前)
- 2020-01-22-1 (259日前)
- 2019-02-11-1 (433日前)
- 2019-02-03-1 (433日前)
- 2019-01-28-1 (433日前)
- 2019-02-03-1 (475日前)
- 2018-11-28-1 (489日前)
- 2019-05-07-1 (569日前)
- 2018-04-30-1 (584日前)
- 2018-01-28-1 (596日前)
カテゴリ
- Android (2)
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (24)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (4)
- Book (110)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (57)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (13)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (5)
- E-mail (9)
- elasticsearch (4)
- Emacs (225)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (2)
- Game (21)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (23)
- golang (11)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (7)
- Heroku (21)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iOS (1)
- iPad (1)
- iPhone (17)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (24)
- Linux (7)
- Mackerel (1)
- macOS (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (2)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (13)
- Rake (2)
- RaspberryPi (2)
- Redash (1)
- RedHat (29)
- Redmine (3)
- RSpec (2)
- Ruby (54)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (4)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Terraform (3)
- Twitter (15)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (26)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (19)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 12
2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12