アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
configure (スコア:2, 興味深い)
・put_ppm()で出力されるデータに情報を埋め込みたい
・put_ppm()を直接弄りたくない(弄るとすぐバレそう)
ということを考えたので、
ppm.cの最初で
#include"config.h"
として、
fwriteを置き換えるマクロを生成するconfigureファイルを用意する、
というのを考えてみました。
./configure && make
すると、識別情報を埋め込むppmライブラリが出来上がるのに、
ppm.cを見ても識別情報を埋め込むようなコードは見当たらない、という。
どうでしょ。
ふだんのハマリ所 (スコア:3, 興味深い)
ファイルごとに違うヘッダを include していたりして「あれ~?」って。
あとは if();{} とかも、やりますねえ。
そういうのが使えるってわけですね。
今回のお題とは関係ありませんが、「セキュリティウォリア」っていう本には、
文字列処理が存在しないのにパスワードが存在するログイン画面プログラム
というのが載っていました。バックドアとして使えるなあ、と感心しました。
見ためは絶対 goto で最後に飛んでしまうんですが、パスワード入力でバッファ
オーバーフローを起こしてやればログインを成功させることができるという。
皆さんの「最高に見付けにくかったバグ」をちょっといじって投稿すれば
ビールがもらえるかもしれませんよ。
Re:ふだんのハマリ所 (スコア:0)
スゴイ表紙 [oreilly.co.jp]のヤツですね。
>「最高に見付けにくかったバグ」をちょっといじって...
Cだったらポインタ関係が良さそう。
デバッグで変数の値追ってたら
全く関係ないforループ中で値が変わっていることがあった。
Re:ふだんのハマリ所 (スコア:1)
スタック周りとか使えませんかね?
> デバッグで変数の値追ってたら
> 全く関係ないforループ中で値が変わっていることがあった。
そうなんですよ、全く関係の無い変数への代入で値が変っちゃって。
変数をstatic宣言するとバグが再現しなくって…
デフォでスタックチェックを外すなよ…(T_T >> BCC4.5