タグ

ブックマーク / qiita.com/shellyln (3)

  • JavaScriptのプロトタイプ汚染攻撃対策は難しい - Qiita

    先日、私のプロジェクトで脆弱性関連のissueが投稿されたので対策を行いました。 指摘内容は主に「プロトタイプ汚染攻撃」でした。自分では対策を行っていたつもりだったのですが、様々な穴がありました。 プロトタイプ汚染攻撃可能な脆弱性は成功すると他の機能や脆弱性との組み合わせによって、任意のコード実行を可能にする危険度の高いものですが、XSSやCSRFに比べて、初学者が触れられる纏まった対策方法の情報が少ないと感じたので、ここに記そうと思います。 プロトタイプ汚染攻撃とは 日語の情報としては Node.jsにおけるプロトタイプ汚染攻撃とは何か - ぼちぼち日記 が詳しいですが、まず、前提として、JavaScriptは「プロトタイプベースのオブジェクト指向」を採用しており、原則、すべてのプリミティブ型およびオブジェクトのインスタンスは「プロトタイプ」オブジェクトを参照しています1。 また、プロ

    JavaScriptのプロトタイプ汚染攻撃対策は難しい - Qiita
  • (個人的メモ) Ubuntu | Xubuntu 18.04 上の Visual Studio Codeにおいて NVM でインストールした Node でデバッグする - Qiita

    Ubuntu | Xubuntu で nvmを利用可能に source するスクリプトは、多くの人が恐らく ~/.bashrc に記載していると思います。 Visual Studio Codeのデバッガーは ~/.bashrc を読まないため、デバッグ実行しようとすると、 Cannot find runtime 'node' on PATH. とエラーメッセージが表示されます。 stackoverflow 等では、launch.json の runtimeExecutable にフルパスで書け、とか書かれていますが、 launch.json をリポジトリーに上げている場合、そしてWindowsでも同じ launch.json を使用している場合、問題があります。 解決策 OSのメニューバー? やデスクトップアイコンから起動せずに、ターミナルから起動すれば node へのPATHが通るのでデ

    (個人的メモ) Ubuntu | Xubuntu 18.04 上の Visual Studio Codeにおいて NVM でインストールした Node でデバッグする - Qiita
  • Chart.js をサーバーサイドで使う方法 - Qiita

    Chart.js は、JavaScriptで利用できるメジャーなチャート(グラフ)描画ライブラリーの1つですが、HTML DOM、より正確に言えば HTML5 Canvas API に依存しているため、Node.jsの環境では動作できません。 しかし、Canvas以外への依存は殆ど無いので、Canvas APIさえ用意できれば、サーバーサイド・レンダリング (SSR) が可能となります。 今回は私自作のCanvas API互換ライブラリー red-agate-svg-canvas を使用して、Node.js上でSVGにレンダリングしたいと思います。 今回の全ソースは こちら にあります。 追記 (2018/9/18) 今回説明する以外にchartjs-node等のパッケージを用いてもサーバーサイドでChart.jsを使うことができます。 chartjs-nodeのメリットは、jpegやpn

    Chart.js をサーバーサイドで使う方法 - Qiita
  • 1