1日目 見つけて 私のセキュリティホール
- 2007/10/31(水) 00:00:00
日記
けんすうと一緒にワイン飲みながらなんとなく勉強した。30分くらい。
ブロッコリーにチーズかけたナントカって料理がビバ美味しかった。
真夜中の銀座で 「ギークにコンパイルされたい!」 「脆弱性を突かれたい!」 と叫ぶ。
「べにぢょってホントに頭おかしいんだね!」 と何度も言われた。
意外と光栄。むしろ誇らしい。我輩は馬鹿である。名はギーク。うきゃ☆
おうち着いたら朝の4時だった。時間が経つのがあっという間すぐる。
GETとPOSTの違い
□ GET
・ 検索やページング(1 2 3 4 … >>次の10件 ←こんなの) に使う
・ アドレスバーに長ったらしい文字列 (%E3%81%82% ←こんなの) が表示される
・ Page=2 とか of=6 とかの数字を、アドレスバー直打ちで変えられる
■ POST
・ メールフォームや BBS に使う
・ 文字数制限がなく、アドレスバーに表示されない
・ 外から見えたらまずい大事なデータ、例えばmixiログイン時のパスワード等は POST で渡す
静的なページと動的なページ
□ html は静的なページ
・ サーバーは常に決まったデータしか返せない
・ ユーザーサイドで動くので、早い・遅いはブラウザ(PC環境)に依存する
・ それでもサーバーなら・・・サーバーならきっと何とかしてくれない・・・!
■ php は動的なページ
・ ユーザーが何かを入力して、Yes だったらコレ、No だったらコレ、と
もらったデータに対して臨機応変なデータを返せる
・ サーバーサイドで動いてるので、サーバーに負荷がかかる
・ 重くなったりするのは、キャパ以上のユーザーがアクセスしてサーバーがテンパってるから
オブジェクト指向とは?
・ よく分からない
・ どうやら応用がきくらしい
・ ざっくり言うとCSSちっく
と言いますと?
・ htmlで 「h1タグはこのフォント」 とその都度いちいち指定するのではなく、
最初に 「h1タグはこれでいこう!」 と宣言することで、それ以降の作業が省略できる。
変えたいときも、その一箇所を変えるだけで全て変えることができる。トレビアン。
すごいギークとは何がすごいのか
・ へぼギークが100行かかって説明するコードを3行で書ける
・ 何かを実行するときに、最善かつ最短の道を知っている
・ 無駄な指示を繰り返さない。 「さっきも同じことやったじゃん」 という場合は、
何度も同じ説明をせずに一度で済ませる
・ すごいギークはサーバーに余計な負担をかけない。優しい。ヤバイ。話のわかる奴だ。超がんばれ。
理解が間違っている箇所があればご指摘ください。コンパイル上等><
あぁ、日本のどこかに・・・私をコンパイルしてくれる人がいる・・・。
ギークへの旅立ち。幸せをさがしに!
この記事に対するトラックバック
この記事のトラックバックURL
すごいギーク
・ すごいギークはサーバーに余計な負担をかけない。優しい。ヤバイ。話のわかる奴だ。超がんばれ。 ギークなお姉さんは好きですか 1日目 見つけて 私のセキュリティホール
- From: 名言で読む「はてな」 |
- 2007/11/04(日) 13:25:51
これだから私はhackerじゃない
私は自分のことは「プログラマ」だと思っているけど「hacker」とは違うと思っている。 ギークなお姉さんは好きですかより。 ・ へぼギークが100行かかって説明するコードを3行で書け...
- From: おごちゃんの雑文 |
- 2007/11/04(日) 00:50:23
この記事にコメントする
- HOME |



この記事に対するコメント
> GETとPOSTはどっちでも良いですよ
GETとPOSTの(見た目上の)違いは戻るボタンを押したときの挙動ですね。
GETの場合は戻るボタンを押した場合にデータが再度送られます。
POSTだと送るかどうかの確認ダイアログが出ますよね。
コンパイルは無理ですが、
lintくらいなら付き合ってもいいです。
ハカーになろう
べにぢょさん、これどうぞ。
ノシ http://cruel.org/freeware/hacker.html
PHPを選択した時点でgeekになれなくなっちゃうよ!w
Bitchというだけで沢山のコメントが貰えるんですね、こんなKiddyでも:-)
初めの-です。2人目の-の補足ありがとうございます。
さらに補足すると一度ログインした後はそのユーザを追跡するためにcookie等にセッション情報を格納しそれをアクセスの度にサーバに送信するのですが、mixiなどログイン時以外にはhttpsを使用していない場合はセッション情報は平分で流れます。
つまりログイン以降の通信を傍受しセッション情報がわかればそのユーザに成りすましてmixiにログインし、ゴニョゴニョすることができます。
mixiを使用する上で守りたいのがログインのためのパスワードではなくmixiに保存されている情報にあるのだとすれば、セキュリティを確保するためにはすべての通信をhttpsで暗号化する必要があります。
ログイン時だけhttpsを用意してセキュリティはばっちりですとかいってる奴はバッタです。しかしApacheではhttpsにするとhttpで通信するのに比べパフォーマンスが約1000分の1になってしまいます。ニコニコが最近これをしようとして失敗してましたね。そこでまだがんばるのであればSSLアクセラレータといわれるような専用ハードを買わないといけないのですが、これは高い。サーバ証明書もちゃんとしたのを用意しないと、わざわざ暗号化して通信した先が悪い人だったみたいなことを避けられないですし、悩みは尽きないわけです。
コメント2回もしてる俺がきもいのでこの辺で
ギークとキディ
×へぼギークが100行かかって説明するコードを3行で書ける これはどちらかというとスクリプトキディ
べぼキークが100行かかって書くコードを1000行かかって書くが、10倍軽くて速いのがギークかと思います。
チューニングすればするほど、コードは高度に複雑に長くなりますから。とはいえ、コードに長さは関係ないです。 読みやすさと実行スピードのバランスがアートかと思います。
アセンブラを使いこなす ギークの夢ではないでしょうか?
GET/POST
どうもはじめまして。どっからかたどってきたら、けんすうさんの名前があったので。
GET/POSTの違いは、その名の通り、データを取得するか、送るかの違いです。
ログインなんかは、アカウント名とパスワードを送るのでPOST。
グーグルの検索なんかは、キーワードなんかから検索したデータを取ってくるのでGET。
最近は、RESTと言ってURLをリソースに見立てて、それに対してPOST, GET, PUT, DELETEするなってのも流行ってます。
POSTとかGETは見たい奴がサーバに送ってくれるおてがみ(phpタンへの指示)
POST→封書
GET→はがき
はがきだと文字数が限られるし、裏を見れば中身がすぐ見れる。
封書だと見られないと思いきや、悪い郵便やさんが、封を開けて中見てまた封しちゃえば...
だから、パスワードとか電話番号は、httpsっていう鍵付きトランクに入れたほうが良いよ。
オブジェクト指向なご主人様はメイドを調教する方法を知っている。
普通なご主人様とメイドの関係だと、ご主人様が指示する(プログラミング)だけ。
メイドが何人いようと同じ指示を与えれば、どのメイドも同じことをする。
オブジェクト指向なご主人様は、指示する前にメイドに役割を与える。(調教して思い込ませる)
たとえば、お前はメス豚だとかドジッ子だとか。
調教してメイドに指示を出すと、メス豚とドジッ子ではやることが違う。
たとえば、靴をきれいにしろという指示で
メス豚は、舐めてきれいにしようとするし、
ドジッ子は、自分の靴をきれいにしようとする。
役割があるのがいいのは、たとえば新人さんが入ってきたとき。
普通のご主人様は、また一から指示する。
オブジェクト指向なご主人様は、今いるメイドのうちの1人の部下にする。
そうすると今いるメイドの役割をだいたい引き継いでくれるから。
メス豚の部下にすると靴を舐めるメイドに育つ。
ご主人様は、メス豚新人に目隠しって言う役割を与える。
それだけで、新人は靴をきれいにしろって言うと目隠しで靴を舐めてくれる。
わざわざ靴を舐めることから教えなくても良いところが楽。
ところでギークへの旅立ちっていうのはご主人様になることだから
相当な調教上手になるってことだよ。
...僕も調教されたいかも ><
まずは、あなたのメモ絵に乾杯。
コンパイルしてくれる方を探しているようで。見つかると良いですね。
私でさえ、私生活のメモリリークを見つけてフリーしてくれる妻が見つかりました。
そのうち Google氏 がインデックスを貼ってくださるでしょう。 :-)
anonymous
最初の-さんの書き込みにもありますが、情報の秘匿のために POST っていう箇所が一番気になります。
書いてる方のスキルがよく分からないのでもうちょっと補足しとくと、POST で渡したとしてもパケットには平文でデータが入ってるので、経路上のどこかで盗聴を受けた場合にはなす術なく情報が読み取られてしまいます。
mixi のログイン情報くらいならそう大した使い道もないでしょうからあまり神経質になる必要はないかもしれませんが、ショッピングやバンキングのようなクリティカルなシーンでは暗号化によって安全性を確保すべきです。
(実際には mixi にも SSL でのログインフォームがあるようです。)
> htmlは静的なページ
> phpは動的なページ
わかりにくいし違うと思う。phpはページじゃないしwww
↓以下エロゲ風コンパイル
htmlはただの書類。
サーバって言うところに書類置いとくとブラウザ(見たい奴)が取りに来る。
phpタンはサーバの裏にいて書類作ってくれるメイド。
見たい奴が指示するとphpタンは、素直に書類作ってくれる。
ただ、phpタンはみんなでいっぺんに指示されるとオロオロしちゃう(泣)
普通の指示とクロスサイトスクリプティングっていう悪ーい指示との区別もつかないので、
ギークなご主人様(けんすうとか)が教えてあげて立派なメイドに育て上げる
ただのギークは、メイドを働かせるだけ。
すごいギークは、メイドを効率的に働かせて、余った時間でご主人様に御奉仕させることも可能。
ところで、べにじょをコンパイルしたいので僕に電話番号をhttpsなPOSTで教えてくれませんか?
書いたの僕なのでレスしちゃいます!
ご指摘ありがとうございます!
>クロスサイトスクリプションって。何か間違ってますよ。
これはもちろんネタですよ!念のため!
でもこのくらいのミスは多そうなので
優しく指摘してください><
どうでもいいけど、覚えるならちゃんと覚えましょうね。
クロスサイトスクリプションって。何か間違ってますよ。
いまみると
かなりふわふわした説明ばかりで申し訳ないです><
おいらも初心者なので、つっこみ入るとうれしすです。
わくわく。
GETとPOSTはどっちでも良いですよ。ただサーバ側のデータを変更するようなものはPOSTに見たいな軽い約束ごとがあるようなないような。
あとアドレスが長すぎるとサーバに切られる場合があるのでそれの予防とか、
他にはPOSTの場合はパラメータをブラウザがエンコードしてくれたるけどGETだとしてくれたりしてくれなかったりだとか。
大切なデータはGETでもPOSTでも流しちゃダメですよ。確かに他のサイトに飛んだときにREFERERにデータが入らない程度の安心感はありますが…