1 :
デフォルトの名無しさん:
重要なはずなのにあまり重要視されない項目。
真っ先に考えなきゃいけない項目なのに後回しされる項目。
もっと考えろよ、お前ら
考えてみた。面倒なので訴えられそうになったら逃げることで解決することに
決めた。
2
屁゜
できるだけchar*を使わずCStringやstd::stringを使う
文字数が制限できるlstrncpy、lstrncatを使う
全てにおいて余分なメモリを確保するようにする(昔は節約が重要だったが今はそうではない)
エラー処理、例外処理は手抜きしない
領域外の書き込みだけでなく領域外の読みにも気をつける
ウインドウメッセージを過信しすぎない
あえて挙げるならこれくらいか?
>>5 理由を伴わずにそんなことを書いている段階でダメすぎ。
自分の作ったプログラムを疑うことからはじめよう
9 :
デフォルトの名無しさん:2005/04/24(日) 23:08:30
SQLインジェクションを防ごうとか
system()はヤバイとか
printf(buf)じゃなくてprintf("%s",buf)にしろとか
みんな興味ないのかな
10 :
デフォルトの名無しさん:2005/04/25(月) 00:27:30
char buf[1024];
GetWindowText(hwnd, buf, sizeof(buf)-1);
と
GetWindowText(hwnd, buf, sizeof(buf));
どっちが正しいのですか
const使え
assert使え
13 :
デフォルトの名無しさん:2005/04/25(月) 03:22:39
char buf[1024]の場合
ASCII文字列だと何文字分入れられるかわかってないだろ
16 :
デフォルトの名無しさん:2005/04/25(月) 22:16:45
CSRFってのはXSSとどう違うんですか
ITmediaの記事を読んでも良く分からんです
char buf[1024];
GetWindowText(hwnd, buf, sizeof(buf));
でいいよ
ASCII文字なら1023文字+\0まで取得可
>>17 それならASCIIとは言えない。どっちにしてもA版APIではバイト数と読み替えればよい。
マルチスタックってどうよ
21 :
デフォルトの名無しさん:2005/12/03(土) 17:02:44
良スレあげ
22 :
デフォルトの名無しさん:2005/12/03(土) 17:07:39
良スレだな
なんだか物すげー感覚が空いてるなw
作ろうというより、個人的には
誰かがオープンソースのプログラムをうp
↓
このスレでセキュリティに関する検討・ソース修正
みたいな流れが好きだ。
今の2chならどんな物も修正が出来るかも・・・
よし俺様がなんでも答えたる。
ただ、あまりにもレベルの高い質問はするなよ。
よく分かんない時はスルーするから。
#define BUFFERSIZE 123
char buf1[BUFFERSIZE] = "const 使えよっつー突っ込みはどうでもいい";
char *buf2 = (char *)malloc(BUFFERSIZE * sizeof(char));
sprintf(buf2, "abc %.*s def", BUFFERSIZE, buf1);
27 :
24:2005/12/03(土) 20:58:29
よくわからんけど、なんでバッファオーバーフローの話ばっかしてんだ?
おまいらCでCGIでも書いてんの?
そうだとしたら尊敬するかも。
しかしスレ違いではない
正直に言うと、
sprintfは使えるんだけど、嫌い。
ファイルストラクタを使ってfprintfで出力させるのが手堅いが・・・
プロでもない漏れの技術じゃムリポ。
>>27 バッファオーバーフローが一番セキュリティの問題点として取り上げられるからじゃん?
ここはWebProg板じゃなかったね。
勘違いしてた
32 :
デフォルトの名無しさん:2005/12/04(日) 23:37:49
int main(int argc, char** argv) {
char buf[80];
sprintf(buf, "%s", argv[1]);
printf(buf);
}
こういう感じのセキュアでないプログラムと
それを破るプログラムの簡単な実例集みたいなのって
どっかにないんすかね?
ま、ポインタの先に定義されてない可変長のデータ突っ込むな!とやれば解決か?
36 :
デフォルトの名無しさん:2005/12/05(月) 04:12:46
セキュアとかってつまんないんだよ。
だから、誰も目を向けないんだよ。
でも大事だから、お金はまわすべきだとおもうけどさ
snprintfって普通に使えないのか?
>>36窓とペンギンを比較してみろ。
>>37 >>35のページに書いてあるけど、sprintfの代用関数として使用できるしオーバーフローはしないっぽい。
39 :
デフォルトの名無しさん:2005/12/05(月) 23:52:19
なんだかんだいって、窓のほうが優れてるよw
_snprintfとか_snprintf_sとか馬鹿じゃね?
普通に作れよ。 >M$
>>39 金取ってんだから当たり前だ。
自慢するほどのことじゃない。
お前だって金とってるだろ!!!!!
JavaでセキュアなDNSサーバーを作ろうと考えているのですが、
参考に出来るようなサイトはあるでしょうか。
ネットワーク板で聞いたらここで聞けと言われました。
44 :
デフォルトの名無しさん:2005/12/07(水) 01:12:55
>>1 > 重要なはずなのにあまり重要視されない項目。
> 真っ先に考えなきゃいけない項目なのに後回しされる項目。
> もっと考えろよ、お前ら
それは、あたかも武器がなくてもアメリカに
勝てると勘違いして旧日本陸軍に支配された大日本帝国だけ。
全てはCOBOLerやC++厨やM$が悪い
45 :
デフォルトの名無しさん:2005/12/07(水) 01:15:07
>>5- 以降へ
そんなにセキュリティに拘りたければC++の使用を辞めて
率直にJavaを使えばいい
<hidden>を使ってデータ転送しない。
コメントは
<!-- -->ではなく%-- --%>を使う。
当たり前
47 :
デフォルトの名無しさん:2005/12/07(水) 01:25:30
接続はtelnet, rsh, rlogin, ftpを使わず
ssh, scp, sftpを使う。
SSLを使って
http://ではなhttps://を使う。
セキュリティ上問題があるCGIを全面的に徹底的に排除する。
当たり前か
48 :
デフォルトの名無しさん:2005/12/07(水) 02:08:08
セキュリティ対策のためにC言語厨/C++厨に対する !警告!
●プリプロセッサを使用禁止しろ!
●定数は必ずconstで押さえろ!
●不変クラスにする必要があるものはできるかぎり不変クラスにしろ!
●実装メソッドがあるクラスの多重継承を禁止しろ!
●グローバル変数、グローバル関数を使用禁止にしろ!
●構造体、共用体の使用を禁止しろ!
●関数ポインタの使用を禁止しろ!
●演算子オーバーロードを使うな!
●typedef使用禁止!
●もしこれらの鉄則を遵守しなければC++厨もC言語厨も
このソフトウェア業界から出て行け!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
さもなければ、氏ねェェェェェェェェェェェェェェェェーーーーーーーーーーーーーーーーーーーーーーーーィ!!!!!
ブシュッ! グザァッ! グウォァ!(C言語厨、C++厨が切り刻まれる効果音)
「うぐぁぁぁぁ!だずげでぐれぇぇぇぇ!がぁぁぁ!…ぐぶっ………」(C言語厨、C++厨が死ぬ直前に発する最後の断末魔)
> ●プリプロセッサを使用禁止しろ!
#include禁止令キタコレ
●typedef使用禁止!
これもかよwwww
>>48はC/C++の高機能について行けなかったjava厨
全般的にセキュリティ対策とは関係ないとしか思えない。
多重継承禁止って・・・MFCは使えねえな。
多重継承って必要?
>>48 C/C++でさえも扱えないJava厨乙。
> ●不変クラスにする必要があるものはできるかぎり不変クラスにしろ!
日本語がおかしいだろ。
Javaのやり過ぎでとうとう日本語も使えなくなってきましたか。( ´,_ゝ`)プッ
>>54 場合によっちゃ必要らしい。
漏れはOOPの経験が浅いからよく分からないが、OOPの経験が深い先輩が、「C++でもJavaでも多重継承が必要だ。」みたいな事を言ってた。
多重継承というか、一つのクラスに複数のインタフェースを実装できる能力がないと困る。
58 :
デフォルトの名無しさん:2005/12/09(金) 01:28:32
某スレでsizeofを使うのはもってのほかだ、非常に危険だと書かれまくってましたが、
sizeofを使わないで安全にサイズを指定するってのはどうやるんでしょうか?
本当はそのスレでカキコした人に聞くのが良いのでしょうがスレ違いらしかったので。
>>58 一律にダメってわけじゃない。自分が担当してる関数内のローカル変数
に使うのに躊躇する理由はない。
配列でもポインタでも動くことが期待されるマクロに使うのが超危険と
いう話だった。
>>49 #includeだけは例外。
っていうか禁止したいのは#ifdefとかの煩わしいものだろ。
そういうスパゲティコード馬鹿生成器なる無駄なものはいらない。
61 :
デフォルトの名無しさん:2005/12/09(金) 07:17:25
>>50 クラス定義できればtypedefなんていらんだろ。
C++をまともにつかいこなしたければ
typedefなど無駄な機能は徹底的に排除すべきだ。
>>51 無駄なプリプロセッサやゴミみたいな余計な機能を
高機能だとはさすがに言うわけにはいかないな。
63 :
デフォルトの名無しさん:2005/12/09(金) 07:19:57
>>55 そんな言い方をしていると
C/C++の、(まるでそろばんのように)無駄な機能を
使いこなせただけで偉くなった、凄いスキルを持っている能力があると
勘違いして自惚れているC言語厨乙って言われるぞw
64 :
デフォルトの名無しさん:2005/12/09(金) 07:27:00
>>55 >
>>48 > C/C++でさえも扱えないJava厨乙。
> > ●不変クラスにする必要があるものはできるかぎり不変クラスにしろ!
> 日本語がおかしいだろ。
> Javaのやり過ぎでとうとう日本語も使えなくなってきましたか。( ´,_ゝ`)プッ
不変クラスはC++でも作ることができることを知らないのか。( ´,_ゝ`)プッ
オブジェクト指向を知らないで聞いたことがない用語を聞くと
すぐ「日本語がおかしい」と言い切るのはまだまだC++を扱えないC言語厨乙だぞ( ´,_ゝ`)プッ
( ´,_ゝ`)プッ ←馬鹿っぽいAAだけど使ってみたぞ( ´,_ゝ`)プッ
>
>>54 > 場合によっちゃ必要らしい。
おいおい、C++を扱えるんだったら「C/C++でさえも扱えないJava厨乙。 」
と言い切る奴がそんな「場合によっちゃ必要らしい。 」なんて言うのは恥ずかしいぞ( ´,_ゝ`)プッ
> 漏れはOOPの経験が浅いからよく分からないが、OOPの経験が深い先輩が、「C++でもJavaでも多重継承が必要だ。」みたいな事を言ってた。
Javaで多重継承ができると思ってるのかC言語厨( ´,_ゝ`)プッ
実装多重継承とインターフェース継承との違いくらい区別つけろよ( ´,_ゝ`)プッ
C/C++/Javaでさえも扱えないC++厨の皮を被ったただのC言語厨乙。 ( ´,_ゝ`)プッ
( ´,_ゝ`)プッ
( ´,_ゝ`)プッ
( ´,_ゝ`)プッ
Java厨乙www
>>61 テンプレートをごちゃごちゃ使うときにはないと不便だよ。
勿論テンプレート使っている時点でまともじゃないとか言うなよ。
#ifdef HOGE_HOGE__
typedef int int32;
#else
typedef long int32;
#endif
これがダメとかぬかされると、笑うしかねえな
>>68 下線が2つ並んだ部分が含まれる識別子は予約されている。
ただしC++の場合。Cなら別にいいけどさ。
まあ、どうでもいいだけどさ
コンパイラがはじめっから定義してるマクロ
という意味合いで書いたんだがな
あと、C++ならlimitsとテンプレートでできるな
typedefはするだろうが
MLでスマートに書けばいいじゃん。
プ リ キ ュ ア プ ロ グ ラ ミ ン グ