atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • このページの操作履歴
    • このウィキのページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
ヌークレウス配布所@2ch
  • 広告なしオファー
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
広告非表示(β版)
ページ一覧
ヌークレウス配布所@2ch
  • 広告なしオファー
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
ヌークレウス配布所@2ch
広告非表示 広告非表示(β)版 ページ検索 ページ検索 メニュー メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • このページの操作履歴
    • このウィキのページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • ヌークレウス配布所@2ch
  • チラ裏

ヌークレウス配布所@2ch

チラ裏

最終更新:2007年12月09日 22:14

Bot(ページ名リンク)

- view
だれでも歓迎! 編集

チラ裏

NP_EzCommentが無くなっていたので、PHPを触ったこと無いとある名無しがソースを読む。

ソースは ヌークレウス配布所@フォーラム>http://waterimps.s106.xrea.com/forum/viewtopic.php?t=7?のNP_EzComment0.31utf-8.zip。

環境を整える

utf8を読めるエディタじゃないと文字化けする。
debian使いなのでemacsを使うことにする。
emacsにはphpに色づけしてくれる機能を追加できるので追加しておいた。
これでソースがみやすい。

何からやればいいのかもわからない

セキュアなプラグインの作り方のPHPとMySQLのセキュリティ対策−覚書>http://nucleus.mz-style.com/?を読む。

風邪引いて頭いたいので寝る。今日はここまで。



スーパーグローバル変数を探せ

喉が痛くて目が覚めてしまった。

junさんによると
>1. 「$_」で検索をかけて、外部から受け取ったデータ(変数)を確認し、その後どのように使われているかを追跡する。ソースのメンテナンスのことを考え、外部から受け取ったデータ(変数)については、直後にエスケープすることを心がける。
>2. データベース利用時にWHERE節などにおいて変数を直接使う場合や、HTML表示時に<a href></a>や<form></form>内などにおいて変数を直接使う場合、それぞれの変数がエスケープされているかどうかを確認。

エ、2個だけ?( ゚д゚ )
こっちみんなwwww

ソースを「$_」で検索してみる。
…ない。一つの項目が終わってしまったようだ。

結論:NP_Ezcommentにはスーパーグローバル変数を使っていない。
スーパーグローバル変数がなんなのかわからないまま2番の確認へとすすむ。

ここでいったんセーブ。

フォームとか使ってるのにスーパーグローバル変数が無いですよ?

スーパーグローバル変数とは>http://www.google.co.jp/search?q=%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0%E3%81%A8%E3%81%AF?
上から適等に3つ位見たが、フォームで使うと便利だと言うような事が書いてある。
まぁなくてもいけるんだろう。

次。

where節を探せ

>2. データベース利用時にWHERE節などにおいて変数を直接使う場合や、HTML表示時に<a href></a>や<form></form>内などにおいて変数を直接使う場合、それぞれの変数がエスケープされているかどうかを確認。
なのでソースを「where」で検索。2個あった。149行と160行。

149行目
>$q = 'SELECT COUNT(*) as result FROM '.sql_table('comment').' as c WHERE c.citem=' . intval($itemid);

160行目(付近)
>$query = 'SELECT c.cnumber, c.cbody, c.cuser, c.cmember'
> . ' FROM '.sql_table('comment').' as c'
> . ' WHERE c.citem=' . intval($itemid)
> . ' ORDER BY c.ctime ' . $order;

こりゃSQL文だな。
149行目は
sql_table('comment')のcitemと$itemidの等しいものを数える
…かな。よくわからんが。

sql_table>http://www.google.co.jp/search?q=sql_table?でググると、sql_tableはNucleus独自の変数らしい。さらにググる。
NucleusプラグインAPI>http://japan.nucleuscms.org/documentation/devdocs/plugins.html#tables?。これだな。
commentテーブルを使いますよ宣言でいいのかな。

149行目は
コメントテーブルのcitemと$itemidの等しいものを数える
ということになった。

頭いたいので寝る。



$itemidをやっつける

今途中まで調べて書いていたのだが、操作ミスで全部消えた。
ちょっと泣いた。これからはmozexと言うのを使って
エディタでかいてブラウザにうpすることにする。
気を取り直してもう一度かく。

$itemidとは何ぞや。
ググ>http://www.google.co.jp/search?q=$itemid?ってもよくわからん。
NucleusプラグインAPI>http://japan.nucleuscms.org/documentation/devdocs/plugins.html?見ても沢山ありすぎてよくわからん。
なんだこれ。

ここで$itemidが関数showCommentの仮引数と気づいた俺テラ頭ヨスwwww
…おかしい、さっき書いた文だともっと面白いこと書いていたはずなんだが…
ほ、ほんとなんだからね!!11111

147行目はこれだ
>function showComment($limit,$itemid,$itemuri,$trimwidth,$sort){
じゃあ、showCommentはどこから来るのか。ソースを検索する。

83行目にいた。
>$this->showComment($limit,$itemid,$itemuri,$trimwidth,$sort);
ここの$itemidはどこから来るのか。ソースを検索する

61行目にいた。
>$itemid = $item->itemid;
この「->」はなんだろう。
ググった>http://www.google.co.jp/search?q=-%3E?がでてこない。記号は無視されるんだっけ。
矢印の意味がわからん。めし。

ーーーー

チャーハンうめぇ(->と&とdoTemplateVar)

今日はチャーハンを食べた。

どうも->はA->Bで
Aの中の人のBを使うぉうぇっうぇwwww
という意味のようだ。無理してヴィッパー語を使う俺。
もうあなたも若くないんだから…

つまり$itemid = $item -> itemidは
$itemの中の人のitemidを$itemidとすると言う事だな。ややこしい…

じゃあ$itemの外の人はなんだと。当然思うわけだ。
ソースを見ると27行目の
>function doTemplateVar(&$item, $type='', $limit=10){
から来てるんだな。
&ってなんだ!

&はまぁ後回しにしてやろう。
当然doTemplateVarを呼び出している奴がどこかにいるはずだ。
ソースを検索する。…いない。
一方ロシアはグーグル>http://www.google.co.jp/search?q=doTemplateVar?を使った。
また NucleusプラグインAPI>http://japan.nucleuscms.org/documentation/devdocs/plugins.html#templatevars?か!
しかしこれは理解不能。2chのNucleusスレで聞くとしよう。

「&」は参照する記号だと理解した。
つまりNucleus本体から何か参照するものを渡されるんだろう。
それが外の人で、その中の人のitemidを$itemidに代入していじっちゃうよウヒヒって事だな。
今日はここまでにしておいてやろう。

ぎゃー消えやがった!
慌てず騒がずエディタから復活。

コメントが付いてた。
7743サンクス。ちょうどそこまで書いた。
理解が間違っていなかったみたいで安心した。
ちょっと2chでdoTemplateVar聞いてくる。
|ミサッ

doTempleteVarの中の人

しばらく間があいたが再開。風邪は大分良くなった。
日ハム優勝おめでとう。

doTemplateVarを2chで聞いたところ
>582 :Trackback(774):2006/10/26(木) 01:59:48 ID:M8HayRww
> >>580
> get_object_varsとかで全部リスト出来なかったっけ?と言ってみるてst
>
>583 :Trackback(774):2006/10/26(木) 05:41:39 ID:T6vdEGv0
> >>580
> nucleusl/libl/BLOG.php
> にある
> BLOG::getSqlBlog
> BLOG::showUsingQuery
> を読みましょう

nucleus/lib/BLOG.phpの中を見てみると…
> function getSqlBlog($extraQuery, $mode = '')
> {
> if ($mode == '')
> $query = 'SELECT i.inumber as itemid, i.ititle as title, i.ibody as body, m.mname as author, m.mrealname as authorname, i.itime, i.imore as more, m.mnumber as authorid, m.memail as authormail, m.murl as authorurl, c.cname as category, i.icat as catid, i.iclosed as closed';
...
> $query .= ' FROM '.sql_table('item').' as i, '.sql_table('member').' as m, '.sql_table('category').' as c'
おkk
itemidは今のアイテムのinumberっぽい。間違ってたら教えてくれぃ。
これで一通りたどれたのかな。

どこで対策するのがいいのか

変数を取ってきたとき
変数を使うとき
どっちで対策するといいんだ?

また2chで質問してみる。


  • なんか おもろそうな展開だな(笑) 続きに期待! -- toma (2006-10-24 22:46:28)
  • チラ裏だから。160行目(付近)の引用がうまくいかないですょ? -- 774 (2006-10-25 00:02:06)
  • 61行目の「$item-&gt;itemid」の「$item」は27行目のかっこの中の「$item」 -- 7743 (2006-10-25 22:02:50)
  • この意味は、「$item」の中から「itemid」を取り出す -- 7743 (2006-10-25 22:04:20)
  • ホントはもっとややこしい説明があるはず ^^; -- 7743 (2006-10-25 22:04:59)
  • 7743サンクス -- 774 (2006-10-25 22:50:33)@wikiへ

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「チラ裏」をウィキ内検索
LINE
シェア
Tweet
ヌークレウス配布所@2ch
記事メニュー
  • トップページ>http://www16.atwiki.jp/nu_cleusu/?
  • ヌー配フォーラム>http://waterimps.s106.xrea.com/forum/?
  • 現在の状況
  • 確認されている脆弱性
  • ご意見BBS(仮設)
  • 参考リンク



  • セキュアなプラグインの作り方
  • プラグインの使い方


  • forum最新記事
showrss プラグインエラー: RSSが見つからないか、接続エラーです。


  • @wiki FAQ>http://faq.atwiki.jp/?
  • @wiki 初心者講座>http://www1.atwiki.jp/faq/?
  • @wiki マニュアル>http://doc.atwiki.jp/?
  • @wiki 便利ツール >http://atwiki.jp/tools/?
  • @wiki>http://atwiki.jp?


  • rss1.0>http://www16.atwiki.jp/nu_cleusu/rss10.xml?

記事メニュー2

更新履歴

取得中です。
@wikiへ
最近更新されたページ
  • 5076日前

    現在の状況
  • 5444日前

    トップページ
  • 6544日前

    プラグイン
  • 6544日前

    情報交換BBS
  • 6544日前

    MD5
  • 6544日前

    参考リンク
  • 6544日前

    メニュー2
  • 6544日前

    チラ裏
  • 6544日前

    自分で行うサーバーセキュリティチェック
  • 6544日前

    NP_MultiBlogs
もっと見る
最近更新されたページ
  • 5076日前

    現在の状況
  • 5444日前

    トップページ
  • 6544日前

    プラグイン
  • 6544日前

    情報交換BBS
  • 6544日前

    MD5
  • 6544日前

    参考リンク
  • 6544日前

    メニュー2
  • 6544日前

    チラ裏
  • 6544日前

    自分で行うサーバーセキュリティチェック
  • 6544日前

    NP_MultiBlogs
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. 遊戯王DSNTナイトメアトラバドール攻略Wiki@わかな
  2. SDガンダム Gジェネレーションオーバーワールド 攻略Wiki
  3. 20XX @ ウィキ
  4. 役割論理専用wiki 
  5. トリコ総合データベース
  6. モンスター烈伝オレカバトル@wiki
  7. ファイアーエムブレム用語辞典
  8. NIKKEぺでぃあ
  9. 機動戦士ガンダム EXTREME VS. MAXI BOOST ON wiki
  10. ホワイトハッカー研究所
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. MADTOWNGTAまとめwiki
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. ストグラ まとめ @ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. 検索してはいけない言葉 @ ウィキ
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  10. モンスター烈伝オレカバトル2@wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MADTOWNGTAまとめwiki
  2. MadTown GTA (Beta) まとめウィキ
  3. フォートナイト攻略Wiki
  4. 首都圏駅メロwiki
  5. Last Z: Survival Shooter @ ウィキ
  6. まどドラ攻略wiki
  7. 駅のスピーカーwiki
  8. ちいぽけ攻略
  9. ソニックレーシング クロスワールド 攻略@ ウィキ
  10. 魔法少女ノ魔女裁判 攻略・考察Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 【移転】Miss AV 見れない Missav.wsが見れない?!MissAV新URLはどこ?閉鎖・終了してない?missav.ai元気玉って何? - ホワイトハッカー研究所
  2. ブラック・マジシャン・ガール - 遊戯王DSNTナイトメアトラバドール攻略Wiki@わかな
  3. 真崎杏子 - 遊戯王DSNTナイトメアトラバドール攻略Wiki@わかな
  4. ブラック・マジシャン・ガール - アニヲタWiki(仮)
  5. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  6. 参加者一覧 - MADTOWNGTAまとめwiki
  7. 参加者一覧 - ストグラ まとめ @ウィキ
  8. ミッション攻略 - 地球防衛軍6 @ ウィキ
  9. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  10. リリーバイス - NIKKEぺでぃあ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.