>> LUCIANOアランゴ：[OK]を、みんな。
私の名前はルチアーノアランゴです。
私はアダムスハウス2年生です。
そして、我々は話をしすることになるだろう Webセキュリティのアクティブ防御。
だから私は情報局のために働く 海でのセキュリティ。
そして夏の間、私は、インターン 情報だっSeguraTec、
提供警備会社 コロンビアの銀行のために。
私が学んだことは、ほとんどの 私はこれまで学んだこと。
>> そして私たちはしている材料の一部 今日以上行くつもり、私たちはそうではありません
本当にクラスでについて話しました。
しかし、我々はすぐになります。
これは、SQL、JavaScriptのようなものになるだろう。
そして、我々は実際にそれを介して行っていない。
だから私はそれを介して、飛行のようなものがあり、 あなたはいくつかのことを知らないかもしれない。
しかし、すぐに、あなたはそれを学びます。
そして、それはすべて意味があります。
また、別のもの -
倫理的に滞在。
あなたが学ぶことのいくつかは、 非倫理的な方法で使用することができます。
>> それはあなたなら、間違いなく試してみてください。
私は間違いなくあなたたちのやる気を引き出す 独自のサーバーを試して、試して
それらの中に行く。
あなたがそれらを貫通することができるかどうかを確認し、 あなたがそれらの中に入ることができます。
ではなく、誰か他の人の。
COPSは本当にジョークが好きではないし、 全体は、ここではこれを置く。
我々はいじりました。
彼らは本当に怒る。
>> だから、このウェブサイトへ向かう。
私はそれがまさにここ開いた。
これはウェブサイトであり、 例の束を持っています。
何が起こることを最初の例である 並べ替えずっと楽になるだろう
意味での最後の例よりも その最初の例
完全に安全ではありません。
そして最後の1は何の一種である 通常のWebセキュリティ担当者が行うだろう。
しかし、あなたはまだ並べ替えることができます のそれを回避する。
そして、我々は1に焦点をしようとしている および2、例1と2。
>> [OK]をクリックします。
それでは、クロスサイトスクリプティングから始めましょう。
JavaScriptを上で実行される クライアントのブラウザ。
それは、使用するプログラミング言語です そのクライアントのブラウザ上で動作するように
あなたがウェブサイトを更新する必要はありません してサーバにアクセスしてください。
あなたはそれが実行されている。
例えば、Facebookは、あなたが持っていない 新しいステータスのためのウェブサイトを再読み込みする
アップデート考え出す。
それが生成するJavaScriptを使っている これらすべてのこと。
だから我々は、悪意のあるJavaScriptを注入することができます ウェブサイトへ。
我々はリンクを送信し、そのように、 誰かが、私たちは、ソートのでそれを送ることができる
私たちが望むコードの一部。
>> 永続および非永続あります JavaScriptの -
持続的かつ非持続的なクロスサイト スクリプティング、私は意味。
との違いは、永続的であること れるJavaScriptです
ウェブサイトに保存された。
と非永続のJavaScriptになります それは実際には一度だけ発生します。
それでは、例を見てみましょう 実際に素早く。
>> [OK]をクリックします。
したがって、このウェブサイト、単純な、 何もここに起こりません。
そして、我々はしようとするつもりだ いくつかのJavaScriptを挿入します。
だから我々はJavaScriptを書き始める方法 我々は最初のスクリプトで起動されている。
そして、我々はスクリプトを使用して、閉じます。
我々は、単にメッセージを入れるつもりだ -
私はあなたが表示されます -
警告。
アラートは、そのJavaScriptの機能です 何かを表示するために使用しています。
それでは、実際に素早くそれを試してみましょう。
私は、警告こんにちは、行くつもりです。
まあ、私は置くのを忘れて -
[OK]をクリックします。
だから、簡単です。
>> 我々は、ウェブサイト上でJavaScriptを置く それが登場しました。
そして、それは一種ののみ発生 当社のウェブサイト上で、右？
そうでないようなので、それはそうです 問題は、右？
私が意味する、どのように使用することができます この悪意を持って？
ハッカーがないようにする方法 これは本当に簡単です。
彼らはそれをつかむつもりだ。
彼らはあなたにこのリンクを送信することができます。
私は今あなたにこのリンクを受けています場合は、 そしてあなたがそれを開いて、それがために起こっている
私のウェブサイトと言って、こんにちは、と言う こんにちは、あなたを語っている。
>> だから、私は何かaを言っていた場合は、 少し賢く、私はプルアップした場合
JavaScriptの機能のI種 すでに書いた -
あなたがそれを見ればしかし、私は行くよ 私はそれを書いた前にそれを上に。
だから我々はタイムアウトを設定しようとしている。
私たちは、のを待つつもりだ 数秒。
実際には、我々は、次の場合を待つつもりだ 私は間違ってないんだけど、5秒。
これはミリ秒単位になります。
して、私たちがやろうとしていることは我々がしているである 警告しようとしてそのログイン
再度ログインするタイムアウトになりました
そして、我々は場所を変更しようとしている 別の場所に。
>> だから私は誰かにこのウェブサイトを送信する場合、 彼らはするつもりだ
周りのブラウジング、穏やか。
何も起こっていないだ。
そして5秒で、それが起こっている と言って、あなたのログインがタイムアウトしました。
ピンを見るにはログインしてください
彼らは[OK]をクリックすると、私はするつもりだ 別のウェブサイトにそれらを取る。
おそらく、ウェブサイトがために起こっている そのウェブサイトに類似している
彼らは前にあった。
そして、彼らは彼らを記録しようとしている 私のウェブサイトへの認証情報の代わりに、
彼らのウェブサイト。
>> そして私は人々に送ることができます このリンクを記載したメール。
私は、ああ、ここではリンクの、と言う。
これは、例えば、銀行である。
私は、ここで言う、このリンクに行く。
彼らはそれを送った後、彼らはしている 周り閲覧しようとして。
私は15秒、20秒を待つことができ、 してから再度ログインしてくださいことをポップアップ表示
再度サインオン。
君たちはそれを試すことができます もっとたくさんの事。
あなたたちだから複雑だ JavaScriptを見て、だから、かもしれません
一部の機能を知らない。
しかし、あなたがしなければならないすべてはスタートです スクリプトを使用して、スクリプトで終わる。
そして、あなたは何を置くことができ 真ん中に。
>> アラートは機能であり、のを待ちます。
ウィンドウの位置が表示されます 新しい場所に。
しかし、あなたはそんなに多くを行うことができます。
そしてそう考えはということです 我々はそれを脱ぐ。
私は、例2に行けば、私 この同じコードを入れ、それはだ
仕事に行くのではない。
だから、あるため、すべてをプリントアウトだ 何このウェブサイトは、もともと
私はここでは何も置かれている場合のない、 それはここにそれをプリントアウトします。
だから、何もプリントアウトしないです。
この例では、実際にチェックしています スクリプトがあるかどうかを確認します。
そんなわけで、先に行く。
掲載していません。
>> 観客：送信していません GETまたはPOSTリクエスト？
>> LUCIANOアランゴ：うん。彼らはしている get要求を送信する。
>> 観客：これは？
>> LUCIANOアランゴ：うん。
また、ブラウザでは、POSTリクエストを使用しています。
しかし、私は、GET要求を表示しようとしている 私たちは、あるものを見ることができるように
実際に起こっている。
だから我々は、このコードを見ると - ので、それはもう仕事ではない。
そして、我々は、このコードを見てみると、 それは例2になるだろう。
この人は何をしているか、人 このブラウザを担当 -
[OK]を、開く -
ワードスクリプトを置き換えています。
これは、PHPで、その君たちがしれない まだ少しを見てきました。
>> 彼はただの置き換わる 単語のスクリプト名を持つ。
しかし、私が先に行く場合は、 わずかに入れ -
私は再び自分のコードをつかむ、私は行くよ場合には 少しだけ、それを変更します。
スクリプトではなく、私は変更するつもりだ 資本R.としたスクリプトのこと
私たちは、このコードが動作するかどうかを確認するつもりだ。
だから、それを印刷しませんでした これは良い兆候です。
うまくいけば2秒以上において、 それがポップアップするだろう。
>> あなたのログインがタイムアウトしました。
[OK]をクリックします。
どう致しまして。
ように、スクリプトをチェックするかもしれない 必ずしも機能しない。
人 -
それはまた、スクリプト大文字をチェックすることができ、 スクリプト小文字、STRケース
比較は、同じしていることを確認します。
しかし、ハッカーは、まだ何の並べ替えを行うことができます 我々は移動したとき、我々はヴィジュネルでやった
バックカップルの文字、 前進する。
そしてそれは、スクリプトを配置する方法を把握することができます 戻ってそこにある、それが注入できるようにし
そのスクリプト。
>> それで、あなたは利用したい データを元に戻してある
あなたのウェブサイトを保護します。
そしてこれが何をするかは、それが作るです 何があなたがに入れていることを確認してください -
例えば、引用するか、この - より大きいまたは小さい
何かで置換されている それはされません -
私はここに拡大しましょう​​ -
実際のアンパサンド。
それは、これらの特殊なHTMLを置き換えます 私たちがしているときに我々が表示されます文字
の話 -
ああ、これは背中に私を取るために起こっている -
右こここれらの文字。
>> これらは、何かを意味 来ています。
HTML、その始まるブラケットについて を教えてくれるというもの
関連するHTMLが来ています。
そして、我々はそれを取り除きたい。
我々はにHTMLを置きたくない 我々は、ユーザがしたくないwebsite.k
彼らのウェブサイトで何かを置くことができる それは次のように、彼らのウェブサイトに影響を与えることができる
スクリプトやHTMLまたはそのような何か。
重要なのは、そのあなたです ユーザー入力をサニタイズ。
>> だから、ユーザーが入力多くのことをことがあります。
彼は、入力しようとするものの束をすることができ まだにブラウザをだまして
このスクリプトコードを実行している。
何をやってみたいことは見てばかりではありません スクリプトが、すべてを探して
つまり、悪意がある可能性があります。
そしてデータを元に戻していただきますことを あなたのためで登録して、持っていない
それを心配する。
しかし、自分でやろうとしないでください 独自のコードでのソート。
誰もがXSSに関する明確ですか？
>> [OK]をクリックします。
のSQLインジェクションに行きましょう。
ため、SQLインジェクションと考えられる ナンバー1の脆弱性
異なるウェブサイトにある。
私は、良い例を意味する -
私は遠くに研究していた この事のために。
そして、私はこの素晴らしい記事を、見つけた場所 私はハーバード大学が破られたことを見て、
ハッキングされた。
そして、私はよく、思っていた、 彼らはそれをどのように行うのでしょうか？
ハーバード大学の最も素晴らしい、最も これまでの大学を確保。
右？
さて、サーバを侵​​害する、 ハッカーが使用
SQLインジェクションと呼ばれる手法。
>> だから、これは日常的にに発生します。
人々は考慮に入れることを忘れ SQLインジェクションのため。
ハーバード大学はありません。
私は、それがプリンストン、ここに言うと思う スタンフォード、コーネル。
では、どのように我々は - ので、このSQLは何ですか これらすべてをもたらしているの注射
人々ダウン？
[OK]をクリックします。
だから、SQLはプログラミング言語であること 我々は、データベースにアクセスするために使用する。
私たちがやっていることは我々が選択している -
それでは、これが今読み取ることは選択である テーブルからすべて。
>> SQLは、これらのデータベースに変化 それは、情報の完全なテーブルがあります。
だから、ユーザーからすべてを選択 名前はユーザー名です。
右？
十分に簡単。
SQLインジェクションの考え方は、私たち 一部の悪質なコードを挿入することだろう
何かを実行しているにサーバをだます それは何よりも異なる
もともと走っていた。
それでは、ユーザー名のために言わせて、 我々は中に入れたり、1は1に等しい。
だから我々は中に入れたり、1は1に等しい。
それが今読んで方法が選択されます ユーザーは、すべてのものからから
ユーザーは - これがすべてです -
名前はユーザー名ですが、ここで ユーザ名であるか、または1は1に等しい。
>> だから、名前は何もないか、1は1に等しい。
1 1は常に真であると等しい。
だから、これは常に情報を返します ユーザーから。
[OK]をクリックします。
我々は持っている必要はありません 正しいユーザ名。
私達はちょうど私達が望むものを持つことができ、 それは情報を返します
我々が必要とする。
別の例を見てみましょう。
>> 我々は、ユーザーからすべてを選択した場合は、 名前は、DROP TABLEのユーザーです -
それで、あなたはどう思いますか、この意志 私はユーザー名を入れた場合の対処
DROP TABLEのユーザーと？
誰もがアイデアを持っている？
はい。
>> 観客：それは言うつもりだ それがすべてのテーブルをダンプする。
>> LUCIANOアランゴ：それは私たちに伝えるために起こっている サイト内のすべてをダンプするには
データベース内のすべてのもの。
そして、何人がこれを使って - ので、 私はあなたたちを紹介します。
私はテーブルの削除に無効 私はあなたを望んでいなかったので、
みんな私の表を削除します。
のは、このを見てみましょう。
だから、これは単純に情報をプルアップ 特定の人のために。
これがもしそうならどのように我々は知っている SQLインジェクションの影響を受けません。
我々は本当の簡単なチェックするつもりだ 我々は何かを置くことができれば -
私は、このコードをコピーしてみましょう。
私は2番目にその上に行くつもりです。
私は根を置くつもりだし、1は1に等しい。
>> ここでこの権利は、この パーセント記号23 -
それが本当に何なのか、もし私 で右ここを見て -
もしあればHTMLは、数字を取り込み方法 私はスペースに置くときを見てみましょう
ここ - 私は宇宙に何かした場合 ここでは、2％に変更されます。
あなたたちは、ここでこの権利を見ますか？ 私はスペースに入れると？
それが動作する方法は、あなたが唯一できることです HTMLの文字のASCII値を送信します。
だから、例えば、置き換え 20％ある空間。
私がわからない場合はあなたたち 前に見てきました。
>> これは、パーセント23でハッシュタグに置き換えられます。
私たちは、以上の最後にハッシュタグが必要です 声明私たちが知ることができるように
コメントアウトすることを忘れするためのデータベース 最後に、この最後のセミコロン。
我々はそれがそれについて考えていませんします。
私達はちょうどそれがすべてを実行したい 私たちは、事前に持っていることを
それをコメントアウトします。
のは、それを見てみましょう。
>> 私が何か間違ったことを入れていたのであれば - のは、たとえば言わせて、私は2等号を入れる
1、それは私に何も与えていません。
私は1に入れたときに1に等しく、それはありません 何かを返し、これが私に語ったこと
これはに対して脆弱です SQLインジェクション。
私は、今では何でも知っている 私は、この後に入れる -
例えば、テーブルをドロップ またはそのような何か
間違いなく動作します。
私はそれが、SQLインジェクションの脆弱性を知っている 私が知っているので
ボンネットの下に、それはさせるだ 私は1を行う1のものに相当します。
OK？
>> そして、我々は、これらの他のものを見れば、 番号2と番号3、それはだ
もう少しやろうとし 下にチェックする
それが何であるかのフード。
だから誰もがドロップを可能にする まだ何かしようとした？
あなたたちは一種のさらにSQL​​を取得するのですか？
私が知っているので、あなたたちはそうではありません まだ見たので、それは一種のだ
あなたたちのために混乱。
それでは見てみましょう。
そうSQLIを防ぐための方法は何ですか？
[OK]をクリックします。
だから、これはあなたので、本当に重要である 男は間違いないようにしたい
このウェブサイトにある。
>> そうでない場合は、すべてのあなたの友人がしようとしている 彼らはすべてのドロップすると、あなたをからかう
あなたのテーブル。
だから、アイデアを使用すると、SQLを修復することである 特定の方法では、一致するのに対し、
現在の状況でユーザが入力 特定の文字列。
だから、これが動作する方法はあなたです データベースを準備します。
あなたは、名前、色、およびカロリーを選択 データベースと呼ばれる果実から。
次いでカロリー未満である場合 そして我々はそこに疑問符を置く
我々は、入力しようとしていると言って 第二に何か。
>> そして色は等しく、我々は質問する マークは、我々はするつもりだと言って
入力秒間に何にも。
OK？
そして、我々は入れて、それを実行 150赤で。
そして、これは作るためにチェックします 必ずこれらの2という -
この配列は、これらのことをチェックします 2は整数であり、
これは文字列であること。
その後、我々は移動し、我々はフェッチ すべて、私たちは赤に入れて。
それは我々がすべてのフェッチを意味します。
それは我々が実際にSQLを実行することを意味 文と赤で、それを戻す。
ここでは、同じことをするが、私たち 黄色のために同じことをする。
そして、我々はすべてを取得。
>> そして、このように、我々は、ユーザを防ぐ 入力に何かすることができるから
それは我々が指定したものを、文字列ではありません または整数、例えば。
私は約それ以前話していた 他人に頼る。
あなたたちは、あなたのプロジェクトを起動すると、している 最も確実に使用する予定
ブートストラップまたは似たような。
あなたたちは今までのWordpressを使用することがありますか？
おそらく皆さんが使用している Wordpressの最も可能性が高い。
だから、使用する場合の問題 他の人のもの -
私はGoogleの本当のクイックに行くよ Wordpressの脆弱性。
>> 私は今、このプルアップした場合 -
私は、文字通り2秒のGoogleをしました。
我々は、Wordpressのを見ることができます -
これは、9月'12として付けている。
26が更新されます。
Wordpressのデフォルトのコンフィギュレーション 3.6前に、これらを防ぐことはできません
特定のアップロード、そのマイト それが簡単のために作る
クロスサイトスクリプティング攻撃。
非常に速く物語は、かつて私たちは働いていた と - 私は働いて、夏になりました
インターンシップ。
そして、我々は一種で作業していた 大クレジットカード会社などである。
>> そして、彼らはと呼ばれるものに依存している -
皆さんが今までプレイした場合、私は知らない Joomlaのと呼ばれる製品で。
Joomlaのに使用されている製品です コントロール - に並べ、同様の
WordPressは、ウェブサイトを構築するために使用。
そこで、彼らは彼らのウェブサイトを持っていた Joomlaのに取り組んで。
これは実際にクレジットカードです コロンビアの会社。
私は彼らのページへ移動します ウェブサイト実際に素早く。
>> そこで、彼らはJoomlaのを使用していました。
そして、彼らはJoomlaの更新していなかった 最新の追加に。
そして私たちはを見てみたところ そのコードは、私たちは実際にことができました
自分のコードの中に移動し、すべての盗む 彼らが持っていたクレジットカード情報、
すべてのクレジットカード番号、 名前、住所。
そして、これはただだった -
そして彼らのコードは完全に大丈夫だった。
彼らは偉大なコードを持っていた。
これは、すべてのセキュリティだった。
彼らは、すべてのデータベースを確認した。
彼らは、クロスサイトを確認しました スクリプトは大丈夫だった。
>> しかし、彼らはありませんでした何かを使用 更新された、それは安全ではありませんでした。
そしてそうにそれらを導いたこと - そうあなたたち 間違いなく、他のを使用しようとしている
人のコード、他の人々のフレームワーク あなたのウェブサイトを構築する。
彼らがいるため、セキュアだということを確認してください 時にはそれはあなた、1ではありません
間違え。
しかし、他の誰かが間違いを作り、 あなたはそのために落下。
>> パスワードとPII。
パスワードはそう。
[OK]をクリックします。
のパスワードを見てみましょう 実際に素早く。
[OK]をクリックします。
私にそのすべての人を教えてください 安全な使用しています -
私はここで皆を願っています 安全なパスワードを使用しています。
私はちょうどそれをさせるよ 仮定として中。
だから、あなたたちは間違いなくしようとしている あなたのウェブサイトのパスワードを保存します。
あなたのような何かをするつもりだ そのようなログインまたは何か。
重要なのは保管しないことです プレーンテキストでパスワードを設定します。
これは非常に重要である。
あなたが保存したくない プレーンテキストのパスワード。
>> そして、あなたは間違いなく本当にしたくない 一方向ハッシュに格納する。
それでは、1方向ハッシュは、あるときに これを入れると、単語を生成する
ハッシュ関数への言葉、それは意志 不可解なのいくつかの並べ替えをバック生成
メッセージやキーの暗号のようなセット。
私はあなたの例を紹介します。
私は、彼らの単語パスワード1をハッシュするつもりです。
だから、MD5ハッシュは私を返すために起こっている 変な情報のいくつかの並べ替え。
>> 問題は、人々のそこにある それは、持っているウェブサイトに行くのが好き
すでにソート考え出し すべてのMD5ハッシュの。
彼らがやったことは、彼らは彼らの上に座っている コンピュータ、およびそれらすべてのハッシュ化
そこに一つの可能​​性の単語まで、 彼らはこれが何であるかのようなものを得ました。
私はこれを検索した場合 -
私はこのハッシュを手にした。
私がこのハッシュを取得した場合 -
私は、ウェブサイトに行き、私が発見した場合 このハッシュ私はに行くので、
データベース、私はそれを見て、誰か すでに私のためにそれを考え出した。
>> うん。
だから、人々が座って、そしてどのようなMD5 あなたが入れたハッシュは、彼らがしようとしている
あなたに戻って何か それは言葉である。
私のような、別の単語をハッシュした場合 -
私は知らない -
trees2。
私が失望されないようにする 私のGoogle検索による。
そこには、trees2です。
だから、多くのウェブサイト まだMD5ハッシュを使用しています。
彼らはああ、それは安全です、と言う。
私たちは、プレーンテキストで保存していない。
我々は、このMD5ハッシュを持っている。
そして、私がしなければならないすべてはちょうどです 番号をグーグル。
>> 私も自分自身を計算する必要はありません。
私はそれをグーグルしてくれる人 すでに私のためにそれをやった。
ここではそれらの束です。
ここでは、パスワードの束です。
だから、間違いなくMD5ハッシュを使用していない、 あなたが持っているすべてをするために
やるGoogleはある。
それで、あなたが代わりに使用しますか？
[OK]をクリックします。
塩析と呼ばれるもの。
だから何塩漬けです -
私達がいたとき、皆さんは覚えていますか 内のランダムの話 -
私はそれが何だったかPSETはよく分からない -
そこPSETまたは4でしたか？
>> 我々は見つけることについて話していた 干し草の山の中の針。
とPSETで、それはあなたが可能性があるという 実際にどのようなランダムな把握
誰かがすでに実行されただから生成 ランダム万回だけ
並べ替えそれらが生成するものを形成した。
何をやってみたいことはある 入力中に置く。
だから、つまり一種の塩析ものだ。
彼らはすでに塩析何を考え出し 各作業のために返されます。
>> それでは、塩漬けしている あなたは、塩を入れ。
あなたは、特定の単語に置く。
そして、それは応じてその単語をハッシュします あなたがここに入れるかについて。
だから私はこれでパスワード1をハッシュした場合 文、ハッシュになるだろう
私はパスワード1ハッシュ異なっている場合 異なる文で。
それは一種のどこかに与える 開始するハッシュに開始します。
だから、あなたは、計算が多くの困難だが、 それでも、特に、それを計算することができます
あなたが悪いの塩を使用した場合。
>> 人々はすでにも考え出した 一般的な塩と考え出し
それがあることをどのような。
ランダムな塩は、はるかに優れている、 しかし、最善の方法は、使用することです
暗号と呼ばれるもの。
そして、何のcryptあなたがすることができます ので、これらの機能は - ん
既にあなたのために構築された。
多くの人々はそれを忘れてしまったり、 彼らはそれを使用することを忘れ。
しかし、私は地下室、PHP、地下室を見れば すでに私のためにハッシュ文字列を返します。
そしてそれは実際にそれを何度も塩 それを何度もハッシュする。
>> だから我々はこれを行う必要はありません。
だからしてください。操作は 地下室にそれを送信します。
そして、それはなしに偉大なハッシュを作成します あなたは、塩を気にすること
か何か。
あなたは、塩にされた場合、あなたが持っているので、 あなたは何を使用される塩覚えておく
そうでない場合は、あなたを得ることができないので 裏なしのパスワード
あなたが使用される塩。
[OK]をクリックします。
>> また、個人を特定できる 情報。
だから、社会保障、クレジットカード - それはかなり明白だ。
しかし、時には人々が道にそれを忘れてしまった 作品は、あなたがどれだけの情報である
実際にいくつかの1人を見つける必要がありますか？
誰かが約勉強をしました この帰り道。
そして、それはあなたが持っている場合、のようだった フルネームは、あなたが見つけることができません
簡単に誰か。
しかし、あなたは完全な名前を持っているものかどう そして彼らの誕生日？
十分に識別することである 特に誰か？
>> あなたは自分の名前と持っている場合はどう 彼らが住んでいる通りの住所？
それは、誰かを見つけるには十分ですか？
彼らが質問するとき、それが何であるか、です 個人を特定できる情報、および
あなたはについて何を心配する必要があります 配ってませんか？
あなたが個人的に識別を与える場合 誰かがあなたを与えることについては、
あなたは、潜在的に訴えられる可能性があります。
そして、我々は間違いなくそれを望んでいない。
>> つまり、あなたのウェブサイトを入れているとき アウト、あなたが本当にクールを持っている
デザイン、うまくいけば、作られ 素晴らしい最終的なプロジェクト。
並べ替えのしたい そこにそれを置く。
あなたは確かにどんなことをしたい それはだ場合には、利用者から取っている
個人を特定できる情報に、 あなたが本当にされているようにしたい
それには注意してください。
>> シェル注入。
[OK]をクリックします。
シェル注入は、​​侵入者がすることができます あなたの実際のコマンドラインへのアクセスを取得
サーバー内の。
そして彼は、コードを実行することができます あなたがコントロールすることができない。
のは、この例を見てみましょう ちょうどここに美しい文字列。
我々は再びウェブサイトに行けば、私は今 コー​​ドインジェクションに行くつもり。
だから、これは何です -
それは我々が何であったかもだ 前を見ている。
私たちは、どのようなに入れ、ユーザーをさせるしている 彼が望んでいる、それがプリントアウトされます
あなたが好き。
>> だから私は電話を置くつもりです。
これは何です -
それが連結することによって開始されます。
だから、私は何でも実行できるようになる 人のランニングを命令
前と私のコマンド。
そして、私は、システムのコマンドを実行している。
そしてこれらの最後の文字列があります - 覚えて 何私はあなたたちに話を聞いた、
あなたがエンコードしなければならないということです そのURLのメソッドで。
私は今、これを実行すると -
私はこっちを紹介します -
あなたは私が終わったことがわかります アップコマンドを実行している。
>> これは実際に実際のサーバで 私のウェブサイトが実行されている。
だから我々はそれをしたくない、 私が実行できるので -
このサーバーは、私のものではありません。
だから私は台無しにしたくない彼 妹、マーカスのサーバー。
しかし、あなたはより多くのコマンドを実行することができます それは危険です。
潜在的に、あなたは削除でき ファイル、ディレクトリを削除します。
私は、次の場合に特定のディレクトリを削除することができます 私がしたかったが、私はしたくない
マーカスにそれをする。
彼はいい人だ。
彼は私が彼のサーバーを借りるましょう。
だから私は彼を聞かせするつもりです 良いものにオフ。
>> それでは、私たちは使用したくない - 私たちにはありません 評価やシステムを使用したい。
評価やシステムは、私たちがすることができます これらのシステムコールを行います。
評価手段は評価します。
このシステムは、私が走ったものを意味します。
これは、システムで何かを実行だ。
しかし、我々は、これらのことを禁止することができます PHPの我々が利用していないようにします。
およびファイルアップロード。
私は素晴らしいをするつもりだった ファイルアップロードがあるもの。
しかしように私は、私のファイルをあなたたちに言った アップロード事は機能していません。
私は今、ファイルをアップロードした場合 -
私はファイルをアップロードした場合、 それは絵だ -
あなたは、アップロードのものを持っている それが写真です。
それはいい。
何も起こりません。
>> しかし、あなたがアップロードファイルがある場合は、用 例えば、ユーザが実際にアップロード
PHPファイルやEXEファイルか何か そのような場合、あなたが潜在的に可能性
問題を抱えている。
これは以前に働いていた。
残念ながら私にとって、それはだ もはや機能していない。
私は、例えば、このファイルをアップロードすると、私は今 アップロードするための許可を得ていない
サーバーによるファイル 地雷ではない。
だから、男は本当に賢いです。
>> だから我々はしたくない -
私はあなたたちを紹介します -
[OK]を、これらはいくつかの本当にクールなツールです。
したがって、これらの -
あなたたちはFirefoxを持っている場合 - に入る - うまくいけば、やる。
SQLインジェクトと呼ばれる2個のアドオンがあります 私とクロスサイトスクリプトミー。
彼らは少し側として開く 側のバー。
そして、私はに行っていた場合は、 例えばCS60 -
それでは、それがないと、それが見えている - そのすべての形態のための
うまくいけば、私は取得することはありません このためトラブルに。
>> しかし、[OK]をクリックします。
ここでピンシステムです。
だから私はの穴を探し始めるとき このシステムは、私が最初にすることです
この美しい小さなを開く 側のツール。
そして、私は、フォームをテストするつもりだ 自動攻撃で。
だからこれが何をするかは、それが徐々になりますです ブラウザの束を開く。
ここでは、ブラウザの束です。
そして、それはすべての単一の組み合わせをしようとしている クロスサイトスクリプティングの
おそらくあれば、そこにあることを あなたが側に表示されます。
>> そしてそれは私に結果が得られます 答えは何であるかのようなもの。
すべて渡します。
明らかに、それらはすべて合格。
私が意味する、彼らは本当にスマートだ そこまでの人。
しかし、私は実行した場合 -
私はこれを実行したときに、私は前に時間を持っていた 学生の最終的なプロジェクトで。
私は単に私を注入するSQL実行 すべてのさまざまな攻撃。
そして、それは、SQL注入するようにしようとしている このピンサーバー。
だから、我々は、下にスクロールした場合 たとえば、それは言う -
それが返された場合、これは良いです。
>> だから、いくつかの特定の値をテストしました。
そしてサーバは、返された 陰性であったコード。
一時的に削除します。
これは良いです。
それはすべてのこれらのテストをしようとします。
だから、単純に実行することができます -
私はウェブサイトの本当を見つけることがしたい 迅速なことはさせて頂いておりますでしょう -
多分CS50店。
>> うわー、これはしようとしている あまりにも時間がかかる。
私は最初のテストをもらおう 右終了しない。
だから、文句だ。
したがって、これらの3つのことである。
これらのツールは無料です。
あなたがそれらをダウンロードし、それらを実行することができます あなたのウェブサイト、それがあれば教えてくれます
あなたは、クロスサイトスクリプティングを持っている、 あなたが持っている場合は、SQLを持っている場合
のようなのようなもの。
私はめちゃくちゃ一種です。
>> 何が重要なの -
[OK]を、ので、ユーザーを信頼することはありません。
あなたにどのようなユーザ入力、確認 、あなたがそれをきれいに、それをサニタイズしてください
あなたが正しいことを確認し、 それはあなたの何を与えていることを
彼はあなたを与えたいと思う。
常に更新することがどのようなフレームワーク あなたが実際に使用していること。
ブートストラップのようなものを使用している場合 -
私はあなたたちが使用しようとしている知っている 彼は行くつもりだからブートストラップ
この上にすぐにクラスの -
そしてWordpressのか、そのような何か、 通常、これはハッキングされる可能性があります。
>> して、あなたも知らない。
あなたは自分のウェブサイトを実行している。
そして、それは完全に安全です。
そして、あなたは下がる。
だから私は本当に早い釣りだ。
しかし、私は侵入テストラボに感謝したいと思います。
私はあなたたちに何かを紹介します 侵入テストラボと呼ばれる。
君たちは本当に興味があるなら ですが、そこは本当にどのようなセキュリティ
侵入テストラボ場合に呼び出さサイト 君たちは今、それを参照してください。
ああ、まあ、それはそれではない。
私はちょうどこのようにそれを実行するつもりです。
Googleは私に答えを伝えます。
>> [OK]をクリックします。
それように - それはあなたを使用して教えている と言い、ウェブの浸透を学ぶ
正しい方法をテストする。
それはあなたを教えて -
うまくいけば、あなたは倫理的な人物だ。
しかし、それはあなたが見ることができる方法を教え どのようにして内部のウェブサイトを得ることができます。
そして、あなたはあなたが中に入ることができる方法を学ぶ場合は、 ウェブサイト、あなたはどのようにすることを学ぶことができます
なってから身を守る 内部のウェブサイト。
私は多分君たちので、ズームインしましょう この権利を見ていません。
>> SQLインジェクションからシェルに、そう 私はSQLから取得する方法の一種
シェルに注入。
そして、あなたは、この仮想マシンをダウンロードします。
仮想マシンはすでに来る あなたがしているウェブサイトで
それを試してみるつもり。
このPDFファイルをダウンロードします。
そして、それはどのようなラインで、あなたの行が表示されます あなたがチェックするものを、しなければならない。
これは実際にどのような攻撃者である ウェブサイトの中に入るように行います。
>> そしてこのようなもののいくつかは複雑である。
私はもっ​​と上に行くことがしたい 皆さんとの事。
しかし、私はあなたたちを心配 本当に持っていない -
これは私が渡ったものです 君たち、Webテスト
侵入テストのため。
本当にわからない SQLであり、どのような -
カール·ジャクソンのセミナー 同様に驚くばかりである。
君たちは、ソートがわからない これが何であるかの。
しかし、もしあなたがこのウェブサイトに移動し、 これらのチュートリアルや、これらをダウンロード
PDFは、並べ替えのを見てみることができます セキュリティの面積が実際に何をするか
侵入テストでは、どのようにことができます参照してください 内部のウェブサイトを取得し、保護する
あなた自身それから。
>> だから私は超簡単な概要をした場合、 それは、クロスサイトスクリプティングを防ぐことができます。
あなたはすべてのデータを元に戻して使用したい 時間は、ユーザーが何かを入力する。
SQLインジェクションを防ぐ。
あなたはそれを行う場合は、すでにしている ハーバード大学があったより裕福
それらは違反してしまったとき。
そして、あなたのパスワードを確認してください プレーンテキストではありません。
あなただけでなく一方向ハッシュを行うことを確認してください 彼らができますが、暗号を使用することを、PHP
私はあなたたちを示した機能。
そうすれば、あなたは良いことがあります。
>> また、あなたの友人があなたを許可すれば、実行 SQLは、自分のウェブサイトに私を注入します。
実行して、クロスサイトスクリプティング 自分のウェブサイト上で。
そして、あなたはこれらのウェブサイトの多くが表示されます 脆弱性のトンを持っている。
それは多くの人々が忘れてしまったか信じられない それらのデータベースを消毒したりするために
どのような人の入力を確認してください スクリプトコードではありません。
[OK]をクリックします。
私は一種の早期本当に終わった。
しかし、誰でもについてのご質問がある場合 何でも、あなたは私に質問を撮影することができます。
うん。
GO、GO。
>> 読者：私は聞いてみたい、 あなたはどのようにファイルを説明することができます
正確に作品をアップロードしてください。
>> LUCIANOアランゴ：うん。
だから私はあなたにファイルを表示してみましょう 実際に素早くアップロードします。
だから、ファイルのアップロード -
問題は、ファイルのアップロードウィット 今それは -
私はあなたたちのコードをオープンするつもりです 裏でコードを参照してください。
そしてそれは、アップロードされている。
ここで、ファイルアップローダのコードです。
>> 我々は、このに入るためにしようとしている こっちディレクトリ。
そして、我々は、しようとしている我々は、入力回 ファイル、どうかの判断ファイル - これがある
[ファイル内のファイル、そのイメージ、 我々はそれをここに移動しよう。
我々はここを介してファイルをつかむ。
この方法は、POST、種類、画像、ファイルです。
そして、我々は、このファイルを送信している。
そして、我々がそれを得れば、そのファイルがいったん イメージを持って、我々はそれを送信しようとしている
このディレクトリにコピーします。
>> 問題は、Webサイトがないということです 私は、このディレクトリに移動させること、
それは私が戻って望んでいないからです。
それは私が行くことを望んでいない -
私が行かなければならない - ので、ここでアップロードです。
ここでは画像です。
私は戻ってすべての道を行かなければならない それから始まり、そこに入れて
行くと、ディレクトリに入れて。
だから私は、ターミナルウィンドウを実行していた場合には、 そして私は、ファイルを移動したい -
[聞こえない]
それを見ることができます。
私は、ファイルを移動したい場合は、私が持っている ファイル名を配置し、する
完全なパス私はそれを送りたい。
>> して、サーバーではありません 私は戻って手放す。
そしてそれはさせないことだ 私は、そのファイルを取得する。
しかし、通常は -
そのためのコードがあります ファイルをアップロードする。
だから、通常は何が起こるかということです 人はチェックしなかったら私のファイル
。JPEGで終わるので、私 確認したいと思う。
私も本当の簡単な例を開いてみましょう。
>> [OK]をクリックします。
この人は右 -
ですから、例えば2でチェックしています 正規表現による場合 -
ここでは、ここを超えている -
必ずそれはで終わる作る 良いですPHP、。
これは良いです。
しかし、本当の大きながあります これに伴う問題。
これは良いです。
しかし、私はと呼ばれるファイルを入れていた場合は、 myfavoritepicture.php.jpeg、私ができた
それでも、潜在的にはJPEGを取り除く そしてPHPのは危険ということit.k実行します。
あなたは、人ができるようにする必要はありません あなたのウェブサイト上でコードを実行します。
>> しかし、その後。JPEGは、渡すことができます。
アイデアは、あなたが本当にやりたいことである ファイル、A.しかし、[OK]を、何が必要されていません
あなたが本当にやりたいことを確認してある あなたは、全世界にお読みください。
そして何もありません。これでは、PHP。
には。PHPはありません 全体ファイル名。
>> 観客：しかし、あなたは可能性 。JPEGが端に置く。
サーバーは、まだコードを実行します。
>> LUCIANOアランゴ：いいえ、それはないでしょう 初めに実行されます。
あなたが戻って、試してみて下さい あなたができるかどうかを確認するために -
>> 観客：だから我々はする必要があります -
[OK]を、含まちょうど別のセット -
>> LUCIANOアランゴ：うん。
>> 観客：[OK]をクリックします。
>> LUCIANOアランゴ：うん。
[OK]をクリックします。
その他のご質問は？
[OK]をクリックします。
私はこれを残して、ソートするつもりだ の皆さんができるかどうかを確認しよう -
他のものはもう少しです 彼らは多くを必要とするため、複雑
単なるSQLのより多くの知識 ウェブのSQLの知識をされているから始まり、
何JavaScriptがある。
しかし、私は、これを維持しようとするつもりだ うまくいけば、あなたたちは学びます
このことについてとを覗いて見てしよう 何を行うことができますし、どのように多くの例
あなたはを通して得ることができます。
>> 誰もが、他を持っている それについての質問？
どうぞ召しあがれ。
ええ、撃つ、撃つ。
ええ、先に行く。
どうぞ召しあがれ。
>> 観客：[OK]をクリックします。
だから私はどのようにマジッククオートを聞いた 十分に安全ではありません。
>> LUCIANOアランゴ：何 -
マジッククオート？
>> 観客：うん。
だから、追加します - そうなときにいつでも入力 何かが、それは常に引用符が追加されます。
>> LUCIANOアランゴ：うん。
うん。
[OK]をクリックします。
>> 観客：そして、私は、しかし、働いていたこと しかし、私はそれを探した。
そして、それはそれは良いではないと述べた。
しかし、私は、なぜわからないんだけど。
>> LUCIANOアランゴ：うん。
>> 読者：マジッククオートを使用しないでください、 それは安全ではありませんので。
>> LUCIANOアランゴ：わかりました。
あなたは、SQLを挿入すると、そのようにマジッククオートです それは、すでにあなたのために引用符を追加します。
>> 観客：それは、常に引用符が追加されます 何でもあなたの周り25.40置く
>> LUCIANOアランゴ：うん。
だからの問題は、ということです -
私は見てみましょう -
>> 観客：どのように取得しません SQL文？
または私はそれができると思います 引用符のように選択します。
>> LUCIANOアランゴ：ええ、あなたが必要とする SQLのためのよい引用符。
>> 観客：いいえ、しかし、サーバ あなたのためにそれを行います。
>> LUCIANOアランゴ：これらの小さな引用符 右ここでは、これらのほとんどの引用符？
>> 観客：うん。
>> LUCIANOアランゴ：うん。
問題は、あなたができることです 最後にコメントアウト -
[OK]を、ので、私は何をすることができますことは、私がコメントすることができている アウト - それでは、見てみましょう - とさせて頂いております
テキスト編集ファイルを開きます。
私はただ、これを編集してみましょう ちょうどここに直接。
[OK]をクリックします。
あなたたちは、明らかにそれを見ることはできますか？
私ができることは、私がコメントすることができている 最後の1つ。
これは、最後の1をコメントアウトします。
そして私は、ここに1を入れてあげるよ ここにすべての悪質なもの。
>> したがって、ユーザーは、実際の 右、入力？
ユーザーが入力することはないだ 物事は、右？
これは私のように入力するつもりだものです 内部取得しようとしている人。
私が中に置くつもりだ -
つまり、1つの引用符です。
それが誤ってちょうど私たちだ。
した後、どのようなコード どうするつもりです -
申し訳ありませんが、私はこれを取るつもりです。
どのようなコードが何をするつもりなのはある それは最初に追加するだろう
引用はここにマークします。
そして、それは最後に追加になるだろう 引用符も同様。
>> そしてそれはまた、追加になるだろう 最後の、最後の引用符。
しかし、私はこれらの引用をコメントしてい 外マークので、実行されません。
そして、私はこの引用を終えています こっちマーク。
わかりますか？
あなたは失われていますか？
私は、最後の引用符をコメントすることができます マークとの世話をする
最初の引用符。
>> 観客：そして、ちょうど仕上げ 最初の1。
>> LUCIANOアランゴ：うん。
そして、ちょうど最初のものを仕上げています。
うん、そうだね。
それは私が何ができるかだ。
うん。
そのような他の質問？
それは素晴らしい質問ですね。
いいえ、はい、多分。
うまくいけば、あなたたちは、ソートのようになります あなたはSQLとの勉強より理
そのようなこと。
しかし、あなたを確認してください -
時計にこれらのツールを保つ。
申し訳ありませんが、こちらには、これらのツール。
これらのツールは素晴らしいです。
誰もが疑問を持っている場合、 あなたも私にメールすることができます。
これは私の通常の電子メールである。
そしてこれは、私の仕事のメールである 私は海で作業しているときである。
>> [OK]を、ありがとうございます。
ありがとう、みんな。
あなたが行ってもいいです。
あなたがここに滞在する必要はありません。
拍手しないでください。
それは奇妙なことだ。
[OK]を、ありがとう、みんな。