PHP

xmoovStream@動画サイトへの道

PHP

xmoovStreamというPHP とFlashの動画配信フレームワークがあります。 それを使って自宅の動画を閲覧できるようにしたいのです。と、いうわけで、とりあえずxmoovStreamが対応しているフォーマットの動画を使ってテスト。 ましろ色シンフォニーのプロモーショ…

これからの予定@

2〜3日に1回ほどのペースで記事にしていく(1エントリー完結で) PHPサイバーテロの技法→購入。 WEBDBなどの技術系雑誌も購入。 <OpenSocialアプリ> 友達IDを回帰取得したい。 ソフトウェア開発技術者の勉強もはじめた

Webアプリ関連 用語集&わからなかったことまとめ@PHP

PHP

サニタイズ ブラウザに出力する文字列に悪意のあるコードが仕込まれても良いように対策すること。 HTML出力用サニタイズとSQL用サニタイズがある。 HTTP リファラー あるサイトへのリンク元アドレス。どこのサイトから来たのがわかる。CSRF対策に使われるが…

Web攻撃2@Web技術

DNS Spoofing DNSを動的に変更することでセキュリティ制限を破る攻撃 FalshやJavaアプレットの通信先ドメイン制限が破れる →結果的に攻撃対象者のWebサーバーや限定されたネットワーク内のWebサーバーの情報が盗まれる可能性がある。 攻撃対象に罠サイト(サ…

(コラム)304NotModifiedがよく返ってくる件@HTTP技術

PHP

304NotModifiedってリソースの変更がないのでクライアントからキャッシュを表示してください。という意味なのですが、ふと疑問に思ったことがあります「リソースの変更がない事をどうやってhttpdが判別しているのか」 「キャッシュの内容を変更しなくてよい…

HTTPリクエスト・レスポンスヘッダ@PHP技術

PHP

telnetでHTTP通信する過程でHTTPについて調べていたのですが、 記事が大きくなったので別枠を設けました。 参考記事 HTTPリクエストヘッダ http://itpro.nikkeibp.co.jp/article/COLUMN/20080516/302045/?ST=oss&P=1 HTTPレスポンス http://itpro.nikkeibp.c…

(コラム)クッキーの行き来を観察してみよう@PHP技術

PHP

クッキーがどのように行き来しているのか、観察してみますwikipedia →http://ja.wikipedia.org/wiki/HTTP_cookie Cookieについて http://www.studyinghttp.net/cookies#Cookie wiresharkで観察してみました。 PHPでsetcookie()関数を使用するとレスポンスヘ…

手動でHTTP通信をしてみよう2@PHP技術

PHP

先のHTTPを手動で動かしてみようのエントリーで [TCP segment of a reassembled PDU]と表記されたパケットですが、 TCPで分割されたパケットでした。 テキストファイルをアップロードしたら分割されていました。 下の情報サイトの通りになってた。理解度が深…

手動でHTTP通信をしてみよう@PHP技術

PHP

手動でHTTP通信をしてみよう。 ということで、パケットキャプチャしながらtelnetでHTTP通信をしてみました。 HTTPでindex.htmlを表示してみよう まず、DocumentRootに適当なindex.htmlを生成してロードしたいと思います。 [xxxxxx@xxxxx ~]# telnet 192.168.…

エラーハンドリング@PHP技術

PHP

※前回と同じく、主の理解していない部分が多く含まれています。 また、解はありませんので了承ください前回エラーハンドリングについて書いたのですが、そもそもユーザー定義メッセージとエラーレベルとは関係ないとの指摘をいただいたので、考え直してみま…

エラーログの扱い方を考える@PHP技術

PHP

※この記事は主の勘違いとよくわかってないところが含まれています。 PHPではデバッグ機能が備わっていて、エラーが発生するとブラウザへ出力されます。 開発をする時にはこの機能は便利なのですが、運用段階では問題になることがあります。 開発段階と運用段…

リソースの場所を考えてみる@PHP技術

PHP

先のファイルアップロード攻撃の対策について、画像掲示板が作れないという指摘を受けましたので、改めて考えてみました。ファイルアップロード攻撃では、公開フォルダをDocumentRoot下に置いてあり、アクセスされて直接閲覧されるのを防ぐためにランダムに…

暗号化について調べてみた@PHP技術

PHP

セッションハイジャックに関連して調べていくうちに、暗号化形式について気になったので調べてみました。 できればコード上で適切な暗号化形式を選べるようになりたい。まず、暗号化形式には大まかに2つ形式があって〜公開鍵・秘密鍵の話はわかっている前提…

セッション管理という概念について@PHP技術

PHP

前回、セッションハイジャックの回で誤った解釈をしつつ進んでいるので、改めてセッション管理について考えたいと思います。まず、前回の課題として、 PHPにおけるセッション変数保持の仕組み Cookieに限らないセッション保持の仕組み を理解することです。…

Webセキュリティを考える上で、気を付けること

PHP

ブラックリストよりもホワイトリスト 入力値を信用しない。UIで制限していても。 入力値を表示などに利用する場合はサニタイズ 入力値をSQLに組み込む場合は無力化。PDOが有効 ヘッダは改ざん可能を前提に考える Cookieに大切な(アカウントなどの)情報を入れ…

スパムメール踏み台攻撃@PHP技術

PHP

スパムメール踏み台攻撃とは、メールフォームを使用しているサイトの中で、フォームから送信メールアドレスを指定できる場合、リクエストを偽装することでスパムメールを送る攻撃です。 スパムメール踏み台攻撃 攻撃側 メールフォームの宛先をhiddenで送って…

セッションハイジャック@PHP技術

PHP

注意 ※この記事は、主の勘違いしている情報も含まれています。 セッションハイジャック攻撃とは、不正なセッションキーを自分ではない利用者に使わせたり、逆に他の利用者のセッションキーを盗み出す攻撃のことです。セッションハイジャックを行うと、対象者…

ファイルアップロード攻撃@PHP技術

PHP

ファイルアップロード攻撃です。 ファイルをアップロードさせた後、アップロードしたファイルを踏んでのPHPコードやJavascriptを実行させる攻撃です。 この攻撃の脅威は、 アップロードしたいファイルにスクリプトを仕込んで置く 転送したファイルを”システ…

外部コマンド実行攻撃@PHP技術

PHP

外部コマンド実行攻撃についてです。 前期のeval攻撃と似たような攻撃手法ですが、防御が違うので別枠で設けてます。 さて、外部コマンド実行攻撃とは、PHP側にリクエストをもとにしたプログラム実行系コマンドが存在する場合、リクエストを実行系コマンドの…

eval利用攻撃@PHP技術

PHP

eval利用攻撃とは、命名こそeval関数っぽいですが、 要するにPHPコードを利用した攻撃のことです。 URL内にPHPコードを直接含ませることで、内部処理中に任意のPHPコードを実行できる可能性があります。これもインクルード攻撃同様にrootを取られる可能性が…

インクルード攻撃@PHP技術

PHP

インクルード攻撃です。 インクルード攻撃とは、GETなどの値からファイルを読み込ませるコードがの脆弱性をついた攻撃です。サイト内外から任意のファイルを読み込ませることができ、サイト情報(設定など)の情報が出力されてしまうことがあります。また、…

リクエスト分割攻撃@PHP技術

PHP

リクエスト分割攻撃です。 リクエスト分割攻撃とはHTTPリクエストに改行を含ませることでHTTPのリクエストを自在に操る攻撃です。 リクエスト分割 攻撃側 リクエスト分割攻撃はHTTPリクエストをURLエンコードした改行を含ませることでヘッダを複数記述でき、…

変数汚染攻撃@PHP技術

PHP

変数汚染攻撃です。 これは、register_globalが有効になっていた場合に、内部変数の値を書き換えることが得きる問題です。 セッションの値を変えたり、設定ファイルを変数から取得していた場合、設定ファイルの読み込み先を変えたりできるため、危険な脆弱性…

Directory Traversal@PHP技術

PHP

Directory Traversal攻撃です。 Directory Traversal攻撃とは、ディレクトリを遡ってサイトの意図としていないファイルへアクセスすることです。 Directory Traversal攻撃側 ディレクトリを遡るということは、URLに以下のような記述が成功してしまいます。 h…

ヌルバイト攻撃@PHP技術

PHP

ヌルバイト攻撃についてです。 ヌルバイト攻撃とは、関数によってNULLの扱いが違うことを利用するもしくはNULLを使用することで、チェック機構を潜り抜ける攻撃です ヌルバイト攻撃側 いつもの掲示板で攻撃してみます。 今回、掲示板の方にはGETでdata_file…

CSRF@PHP技術

PHP

CSRF攻撃についてです。 CSRF攻撃とは、サイトにJSを仕込んでリダイレクトさせることでユーザーの意図にかかわらず操作(掲示板に書き込みなど)させる攻撃です。 初めて知った攻撃手法です。 CSRF攻撃側 まず、先の掲示板を使います。 攻撃対象は掲示板の削除…

サイト攻撃 SQL Injection@PHP技術

PHP

さて、次はSQLInjectionです。SQLInjectionとは、フォームのテキスト入力などにSQLを書くことでサイトの意図としないデータベース操作を行う攻撃手法です。 前期のXSSやScriptInsertionよりは成功しづらいですが、成功するとダメージが大きい特徴を持ってい…

サイト攻撃 XSS@PHP技術

PHP

さて、次はXSSです。 XSSとはブラウザやメールのリンクにスクリプトを仕込んでおいて、別のサイトを踏ませることで情報を盗み出すなどの攻撃を行う仕組みのことです。 2-3 XSS攻撃側 では、攻撃してみます。 htmlのリンクに以下のコードを含ませます。 http:…

サイト攻撃 Script Insertion @PHP技術

PHP

こんばんはー C言語もひと段落し、PHP技術へ移っていきます。 ここからは、PHPサイバーテロの技法という本を使って実際に試していきながら学習していきます。では、1章は概要でした。 Webアプリの脆弱性はどこにでもある。 脆弱性を知ることはコード文法のす…

これからの予定@シューティング

2〜3日に1回ほどのペースで記事にしていく(1エントリー完結で) PHPサイバーテロの技法→購入。発送待ち WEBDBなどの技術系雑誌も購入済み。 <OpenSocialアプリ> 友達IDを回帰取得したい。 <シューティング> プレイヤー情報保持(機種選択・スコア ゲー…