Browser Extensionを書いてみる: Chrome - 1.webRequestをポップアップで出す

tl;dr

マルチプラットフォームのPost Exploitation的なsomethingのお勉強ってことで手始めにBrowser Extension for Chromeを書いてみた. alertしてるところの飛ばし先とかobfuscateとかいろいろ興味が尽きないけれどもその辺りはまあご随意に.

Code

  • background.js

要点

  • Chromeの場合(Firefoxでもそうだけど), manifest.jsonChrome APIが肝. 具体的にはこの辺.
    • manifest.json > "permissions": ["webRequest", "<all_urls>"]
      • (追記)manifets.jsonのpermissionsでExtensionが使用可能なAPIをほぼ確認できる. webRequestで<all_urls>なんて指定があったら「ブラウザが送信する任意のリクエストデータ」を触ることができる.
    • background.js > chrome.webRequest.onBeforeRequest
      • (追記)リクエストボディに触れるのはonBeforeRequestのみなので, (maliciousなExtensionと仮定して)読み込んでるjs中にonBeforeRequestが入っていたらほぼリクエストボディを読みに行こうと判断していいかもしれない.

参考

コメント

  • ツールバーアイコンは不要なので(Post Exploitationなら特に, 仕様でもPick one (or none)だし)出さない方針で作成.
  • インストール方法とかは考察中. pre-installedなExtensionとかuser installedなExtensionに突っ込めないのかなーと思って試してみたものの,ブラウザ側でちゃんとチェックしていてエラーに. profileいじってどうにかなるものなる...のか?(ならない気がするなぁ
  • 次はChromeに保存されてるパスワードへのアクセスとかFirefoxのExtensionでも.