be_a_prgrmrのブックマーク (384)

  • 今日から始めるNode.jsコードリーディング - libuv / V8 JavaScriptエンジン / Node.jsによるスクリプトの実行 | Tokyo Otaku Mode Blog

    ソフトウェアを正しく理解する唯一の方法はコードを読むことです。 ドキュメントを読めばそのソフトウェアが何を実装しているか分かりますが、どのように実装されているかまでは分かりません。 開発中に何らかのトラブルに悩まされたときや、効率的なコーディングをしたいと思ったとき、下位レイヤのソフトウェアを理解しておけば素早く対処できるシーンが多くあります。 ただ、コードを読むことは簡単なタスクではありません。 現代的なソフトウェアはそれなりの規模のコードを含んでいることがほとんどです。アーキテクチャ間の差異を吸収するためのコードなど、質的な機能を理解する上ではあまり重要ではないコードも含まれています。 何らかの問題が発生してからコードを読もうと思っても、準備なしでは関連する箇所を探すだけでかなりの労力が必要な作業となります。 従って、普段からコードを読んでおくことが重要です。 また、コードを読むにあ

    今日から始めるNode.jsコードリーディング - libuv / V8 JavaScriptエンジン / Node.jsによるスクリプトの実行 | Tokyo Otaku Mode Blog
  • 代表プロフィール | 株式会社バズワード

    株式会社バズワードの伊倉です。はじめまして。 簡単に自己紹介させて頂きます。15歳の頃にプログラミングを始めたのがこの世界に関わった最初です。大学卒業後、最初は某システムエンジニア会社に勤務。その後地元の企業を経て某インターネットサービスプロバイダ(ISP)で 10 年ほど勤務いたしました。 ISP 時代に培ったインターネットや関連する技術に関する知識に加え、学生の頃から続けていたプログラミングの経験を生かし、技術系のサイトを企画・構築・運営する仕事を始めました。 インターネットがブームになり始めた頃に運営を開始した最初のサイトをその後も更新していましたが、独立後に新しくサイトを制作し現在運営しています。バズワードで運営しているサイトのコンテンツは全てオリジナルで私一人で作成しております。 最初に運営していたサイト(2001年頃): バズワードでは技術系のサイトの運営とそれに付随する業務の

    代表プロフィール | 株式会社バズワード
    be_a_prgrmr
    be_a_prgrmr 2015/05/25
    優れたコンテンツを生み出してほしい…
  • D言語やるならこれだけは押さえておけ! - Qiita

    この記事について 個人的に僕がD言語でコードを書いている時に、おっ!これ便利やん! みたいになったD言語の機能やコーディングスタイル, ツールについて書きます。 ※ あくまでも僕の個人的な意見や考え方です。 また、誤謬を含んでいる可能性もあります(特に名称)。 対象 D言語の基構文を理解している方。 まあ、D言語を書いたことがない方でも、多分コードは読めると思います(笑)。 D言語に興味があるかた D言語だとこんなことが出来るよ!ってのを示すので参考になれば幸いです。 1. 型推論が強力だからこれを使わない手はない -> 型パラメータ使おう 関数について T square(T)(T x) if (__traits(isArithmetic, T)) { return x * x; } このように宣言することで、関数を呼び出す際にType square(Type)が生成され呼び出されます。

    D言語やるならこれだけは押さえておけ! - Qiita
  • 結局XSSって何なの? - XSSになりたい

    タイトルのような疑問にうまーく答えてくれる資料がないよなぁって思って書いてみるかーと思い立ったはいいものの徳丸さんのいい感じのスライドがすでにあった。 まぁ、そんなこともある。 XSSとは XSS(Cross Site Scripting)は、あるWebページにアクセスした標的のブラウザ上で、攻撃者が任意のコードを実行し得るバグ、あるいはそれを用いた攻撃手法のことで、大きく分けて反射型XSS(Reflected XSS)・持続型/蓄積型XSS(Persistent/Stored XSS)・DOM Based XSSの3種類がある。 例えばPHPで記述された以下のようなWebページはXSSが可能であるといえる。 <?php header("Content-Type: text/html; charset=UTF-8"); $input = filter_input(INPUT_GET, "q

    結局XSSって何なの? - XSSになりたい
  • Masato Kinugawa Security Blog: ブラウザのXSS保護機能をバイパスする(3)

    第3弾です。第1弾はこちら。第2弾はこちら。 ターゲットはIEのXSSフィルターです。 今回のバイパスは、来作成できてはならないjavascript:スキームのリンクをIEのXSSフィルターの挙動を利用して作成するという方法で行います。 いきなりですが、発見した方法はこれです。 http://vulnerabledoma.in/xssable?q=%22%3Ca%20href%3Djavascript%26.x3A%3Balert%26%28x28%3B1%26%29x29%3B//=%3Exxx 何がどうしてここにたどりついたのか、順に見ていきます。 IEは「<a href="javascript:alert(1)">xxx」のような文字列がクエリ文字列にあり、その文字列がページ中に出力されるなら、その出力の一部を書き換え、XSSを遮断しようとします。 http://vulnerabl

  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • 色んなXSS – nootropic.me

    2015/4/16(木):ページの一番下に追記を記述しました。 その昔、なんとかキャンプというセキュリティのイベントに参加した時「アウトプットが大事」と言われたのを思い出しました。 でも、普通自分の見つけた知識は後生大事に抱えておきたいもんだと思います。 そこで今回はそういった何かしょーもないものを捨てるべく、溜め込んだ色んなXSSのPoCを少し書き出してまとめました。 今まで自分で見つけたものや海外Security Researcher達から収集したものもあります。 さて、今回リストアップしたPoCの見方ですがいくつかの項目があります。 一番上の「手法」はタイトルみたいなものだと思って下さい。 二番目の「PoC」はスクリプトを実行する為のコードです。殆どがアラートが出るだけのスクリプトの為危険なコードは無いつもりですがご自分のブラウザで実行する際は自己責任でお願いします。リンクをクリッ

    色んなXSS – nootropic.me
  • 「`」(バッククオート)を使ったクロスサイトスクリプティング - yandod's blog

    相当時代遅れなのかもしれませんがセキュリティの話題を1つ。 「`」(バッククオート)を使ったクロスサイトスクリプティングの手法を今日知りました。 実際のところとしてはその他の対策で防御はされていたのですが、特に意識していなかったのでひやりとした気分です。 葉っぱ日記 http://d.hatena.ne.jp/hasegawayosuke/20070313/p1 実際に動作すると思われるのが下記のようなHTMLです <a href=`> aaa ` onmouseover=javascript:window.alert('XSS') <br/> aaa </a>onmouseoverのイベントハンドラはタグではないテキストとして記述されているように見えますが動いてしまいます。 IEがバッククオートを引用符として認識してしまい、テキスト部分が属性と認識されることが原因のようです。 実際のとこ

    「`」(バッククオート)を使ったクロスサイトスクリプティング - yandod's blog
  • 文字コードとXSS - 素人がプログラミングを勉強していたブログ

    またXSSか、という感じではあるが、今日は文字コードに関連するXSSを紹介する。 エキサイトを例にとって説明する。エキサイトウェブ検索の&target=パラメータは、文字列を動的に埋め込んでいる。 例えば、 http://www.excite.co.jp/search.gw?search=1&target=xxx にアクセスすると、ソースコードのJavaScriptに </div> <script language="javascript"> <!-- var current_target = 'xxx'; function tabHilight(target){ xxxが埋め込まれる。 ただし、 http://www.excite.co.jp/search.gw?search=1&target=xxx' とすると <script language="javascript"> <!-- v

    文字コードとXSS - 素人がプログラミングを勉強していたブログ
  • Googleからメールが来た | 弱い

    blog.tyage.net tyage Home ふれあい動物園 Recent Posts COOPがタイミング系のXS-Searchの緩和策にもなるらしい 2024/07/18 Bridgy Fedがいつの間にかRSSから自動でポスト生成するようになったっぽい。 https://snarfed.org/2024-01-09_51810 これで以前書いた記事のStep.1, Step.2は不要になったかも? すごい便利。 2024/07/11 SECCON CTF 2023 Finals Writeup 2023/12/28 2023年宿泊した宿 2023/12/28 TSG CTF 2023 Writeup 2023/11/09 Midnight Sun CTF 2023 Finals - Obelix 2023/09/03 セキュリティキャンプ2023 2023/08/14 祇園祭(

    Googleからメールが来た | 弱い
  • HTML5 Security Cheatsheet

    HTML5 Security CheatsheetWhat your browser does when you look away...

  • Masato Kinugawa Security Blog

    English version is here: https://mksben.l0.cm/2021/11/css-exfiltration-svg-font.html この記事では、SVGフォントCSSを使って、ページ内のテキストを読み取る方法を紹介します。 CSSを使ってデータを読み取る方法はいくつか知られており、既知の手法が以下のサイトでよくまとめられています。 CSS Injection Primitives :: DoomsDay Vault https://x-c3ll.github.io/posts/CSS-Injection-Primitives/ これらのテクニックは、入力がサニタイズされていて使えるHTMLタグが限られているケースや、Content Security Policy(CSP)の制限によってJavaScriptが使えない状況などでも、スタイルの記述ができる

  • Masato Kinugawa Security Blog: 2月 2015

  • 私はいかにして様々なブラウザの脆弱性を発見したか - 葉っぱ日記

    先日、Twitterでどのように脆弱性を見つけるかに興味あるんだろうかと書いたら、意外に色々な人から反応があったので、これまでに自分が見つけた脆弱性のいくつかについてどういう経緯で見つけたのかちょっと書いてみます。 JVN#89344424: 複数のメールクライアントソフトにおける、添付ファイルによりメールクライアントソフトが使用不能になる脆弱性 これは、添付ファイル名にUnicodeの円記号を含めておくと、メーラ側でShift_JISに変換する際にバックスラッシュに変換されてしまって想定外のディレクトリに添付ファイルが展開されてしまったり、あるいは「©on」のような名前のファイルを添付しておくことでShift_JISに変換してCONというファイルを開こうとしてメーラが固まってしまうという問題です。これは、私自身が文字コードの問題について調べ始めた初期段階で、Unicodeからの変換で問題

    私はいかにして様々なブラウザの脆弱性を発見したか - 葉っぱ日記
  • XSSの攻撃手法いろいろ - うなの日記

    html5securityのサイトに、XSSの各種攻撃手法がまとめられているのを発見せり!ということで、個人的に「お!」と思った攻撃をサンプルつきでご紹介します。 1. CSS Expression IE7以前には「CSS Expressions」という拡張機能があり、CSS内でJavaScriptを実行できたりします。 <div style="color:expression(alert('XSS'));">a</div> 確認 @IT -[柔軟すぎる]IEのCSS解釈で起こるXSS で詳しく解説されていますが、CSSの解釈が柔軟なことともあいまって自前で無害化するのはなかなか困難。以下のようなコードでもスクリプトが実行されてしまいます。 <div style="color:expr/* コメントの挿入 */ession(alert('XSS'));">a</div> 確認 <div s

    XSSの攻撃手法いろいろ - うなの日記
  • ルーターの脆弱性を探して侵入する手順 - 素人がプログラミングを勉強していたブログ

    更新し忘れたが、既に下記の脆弱性は修正されている 4/11/2013 6:42 PM 追記: 明日エンジニアと調査するとカスタマーサポートから連絡があり、また近日アップデートパッチを用意するとのことだ。 先日紹介した、Satechi Smart Travel Routerだが、ふと直感的にセキュリティに問題があるような予感がしたので、自分のルーターをアタックしてみた。 結果から言うとCSRFが存在し、外部からインターネット越しに細工をしてあるURLを踏ませることで、ルーターのパスワード、SSIDを書き換えたり、WiFi to WiFiのリピータ機能のソースとなるWiFiを勝手に別の場所に書き換えて、Man in the middle攻撃を成立させたりできることが発覚した。 自分がどのようにSatechi Smart Travel Routerの脆弱性を発見したのかを動画にとったので、無編集

    ルーターの脆弱性を探して侵入する手順 - 素人がプログラミングを勉強していたブログ
    be_a_prgrmr
    be_a_prgrmr 2015/05/17
    勉強になる…
  • 第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp

    みなさん、はじめまして。はせがわようすけと申します。 最近、文字コードと関連したセキュリティの話題を目にすることが増えてきました。文字コードを利用した攻撃は技術的に未開拓ということもあり、参考となる情報がなかなか見当たりません。この連載では、文字コードを利用した攻撃やそれに対する対策について正しい知識を解説していきます。 文字コードとセキュリティが関連するもっとも大きな点は、やはり文字列の比較でしょう。「⁠危険な文字列の検出」「⁠安全な文字列であることの確認」といった文字列の比較は、セキュリティを考えるうえで避けて通れない処理だと思います。 文字列の比較においては、単純にバイト列を比較するだけでは不十分で、文字列がメモリ上でどのようなバイト列として格納されているのか(このルールを符号化方式あるいは文字エンコーディングと言います)に注意しなければならないこともあるでしょう。攻撃者は巧みに文字

    第1回 UTF-7によるクロスサイトスクリプティング攻撃[前編] | gihyo.jp
  • ES6 Challenge

    Intro It is said that 2015 is the year of ES6. As browsers are starting to support more ES6 features, the attack vectors of XSS vary and the as-is defence (e.g. WAF, black-list filters) may not cover them. This challenge is created to see how many possibilities of ES6 there are: http://kcal.pw/es6challenge.php Setup As usual, the context is inline event handler. However, some critical tokens like

    ES6 Challenge
  • 頻出典型アルゴリズムの演習問題としてよさげなやつ - kyuridenamidaのチラ裏

    効率的な別解とか存在する問題もあるけど演習によさそうなやつをピックアップ。そのアルゴリズムじゃないと解けないわけではないって問題も多いので注意。(ただ演習するのには都合が良いかなと)※個人的難易度をつけてみました。とても主観的な難易度付けなので気にせず解いてみてください。深さ優先探索・Balls[☆]・Sum of Integers[☆]・The Number of Island[☆]・Block[★]幅優先探索・Mysterious Worm[★]・Cheese[★]・Seven Puzzle[★☆]・Stray Twins[★★]・Deven-Eleven[★★]・Summer of Phyonkichi[★★☆]ワーシャルフロイド法(For 全点対最短路問題)・Traveling Alone: One-way Ticket of Youth[★]・A reward for a Car

  • GitHub - nodejs/node: Node.js JavaScript runtime ✨🐢🚀✨

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - nodejs/node: Node.js JavaScript runtime ✨🐢🚀✨