虹裏img歴史資料館

ここでは虹裏imgのかなり古い過去ログを閲覧することができます。新しいログはこちらにあります

19/05/19(日)14:21:01 ログイ... のスレッド詳細

削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。

画像ファイル名:1558243261117.png 19/05/19(日)14:21:01 No.592427794

ログイン処理貼る

1 19/05/19(日)14:25:25 No.592428818

日本語で頼む

2 19/05/19(日)14:27:49 No.592429392

>日本語で頼む なでしこでもやってろ

3 19/05/19(日)14:31:16 No.592430177

===使ってるあたりにまだ良心を感じる プロのプロじゃないプログラマーはこんな演算子使わない

4 19/05/19(日)14:33:15 No.592430576

真のプロじゃないプログラマーなら受け取ったユーザ名とパスワードをそのままクエリにぶちこむ

5 19/05/19(日)14:33:24 No.592430611

どういう処理してるかわかり易く説明して

6 19/05/19(日)14:34:28 No.592430833

if文の評価の中で変数に代入しないからダメ

7 19/05/19(日)14:34:56 No.592430936

メソッドに副作用がないから綺麗なコード

8 19/05/19(日)14:35:14 No.592430992

まず関係ないユーザ全部取得してる時点でふくんだが

9 19/05/19(日)14:35:38 No.592431070

if("true" === "true")てなんです

10 19/05/19(日)14:35:57 No.592431139

まずログイン処理で複数レコード取ることある?と思ったけど これテーブルから全件selectしてきて全レコード舐めて一致するか見てるのな

11 19/05/19(日)14:36:09 No.592431187

56-58にわざとらしさがある

12 19/05/19(日)14:36:41 No.592431305

フロントサイド側のプログラムらしいな

13 19/05/19(日)14:38:03 No.592431605

>フロントサイド側のプログラムらしいな オオオ イイイ

14 19/05/19(日)14:38:32 No.592431702

パスワード平文保存なんですけお…

15 19/05/19(日)14:38:34 No.592431711

>フロントサイド側のプログラムらしいな scriptタグ見れば一発でわかる話だろ

16 19/05/19(日)14:38:44 No.592431749

これをやるとSQLの中身まっさらにされるよ

17 19/05/19(日)14:38:49 No.592431770

>>フロントサイド側のプログラムらしいな >scriptタグ見れば一発でわかる話だろ node.js…

18 19/05/19(日)14:39:30 No.592431928

>真のプロじゃないプログラマーなら受け取ったユーザ名とパスワードをそのままクエリにぶちこむ これそれより酷いことしてない…?

19 19/05/19(日)14:40:07 No.592432060

これなんなの怖い

20 19/05/19(日)14:40:16 No.592432103

>if("true" === "true")てなんです デバッグ用の分岐が残ったんだと思う

21 19/05/19(日)14:40:33 No.592432155

>これそれより酷いことしてない…? この文脈だと文字列結合でやるに違いないから非効率でもこっちの方がまだ邪悪度は低いと思う

22 19/05/19(日)14:40:45 No.592432192

>node.js… サーバーサイドでなんでscriptタグ使うんだよ

23 19/05/19(日)14:41:31 No.592432359

>>if("true" === "true")てなんです >デバッグ用の分岐が残ったんだと思う あーそんな気もするね

24 19/05/19(日)14:41:54 No.592432437

javascriptはもうjQueryを標準で組み込んでいいんじゃねぇかな

25 19/05/19(日)14:42:15 No.592432516

passwordが平文で保存されているであろうこともポイント高い

26 19/05/19(日)14:42:24 No.592432544

>C言語で頼む

27 19/05/19(日)14:42:28 No.592432559

>javascriptはもうjQueryを標準で組み込んでいいんじゃねぇかな やめてくだち!

28 19/05/19(日)14:42:49 No.592432627

Rubyで頼む

29 19/05/19(日)14:43:37 No.592432801

jQueryとかゴミすぎるだろう… せめて双方向バインディング標準装備なやつくれ

30 19/05/19(日)14:43:38 No.592432807

どうしてwhere句で使えるユーザ名があるのに全件クエリ流すんですか? どうして…

31 19/05/19(日)14:43:51 No.592432860

ログインボタン押されるたびに select * from userなんてやってもいいの? 少なければいいのか

32 19/05/19(日)14:43:54 No.592432871

APIコールでSQL文ぶち込める時点で怖すぎる…

33 19/05/19(日)14:44:12 No.592432932

todoしてもダメじゃねぇかな……

34 19/05/19(日)14:44:28 No.592432998

>これそれより酷いことしてない…? 好きなようにログインできるのと好きなようにDB操作できるのどっちがマシなんだろうか

35 19/05/19(日)14:45:01 No.592433140

せめてパスワードをハッシュ化するとか…あるだろ!

36 19/05/19(日)14:45:04 No.592433160

>>これそれより酷いことしてない…? >好きなようにログインできるのと好きなようにDB操作できるのどっちがマシなんだろうか 好きなようにDB操作もできそうに見えるんですけお

37 19/05/19(日)14:45:11 No.592433186

よくわからんがまあ動いてるからヨシ!

38 19/05/19(日)14:45:19 No.592433213

apiServiceとかいうフロントエンドにsql直発行させられるI/F用意したやつが一番邪悪だと思う

39 19/05/19(日)14:45:27 No.592433250

ご安全に!

40 19/05/19(日)14:45:27 No.592433254

>select * from userなんてやってもいいの? そうだね >少なければいいのか ちょっとまてや

41 19/05/19(日)14:46:01 No.592433366

ほら最近グラフキューエルってやつが流行ってるから似てるしいいかなって

42 19/05/19(日)14:46:02 No.592433369

>この文脈だと文字列結合でやるに違いないから非効率でもこっちの方がまだ邪悪度は低いと思う フロントエンドからsql投げられる時点でもはやどうでも良い感はあるけど 全ユーザデータをフロントエンドに持ってくるよりはインジェクションされようが絞ろうとしてるだけなんぼかマシだと思う…

43 19/05/19(日)14:46:10 No.592433401

delete from *;

44 19/05/19(日)14:46:13 No.592433412

user以外のテーブルも覗けるのでは?

45 19/05/19(日)14:46:35 No.592433508

>少なければいいのか テストのときは少ないからな…

46 19/05/19(日)14:47:05 No.592433617

仕様書にはそこまで書いてなかったしヨシ!

47 19/05/19(日)14:47:22 No.592433682

脆弱性作り込むくらいならクソコードのままでいて

48 19/05/19(日)14:47:29 No.592433704

>ちょっとまてや もしかしてこれやると相手のパソコンに全ユーザーデータいっちゃうの?

49 19/05/19(日)14:47:41 No.592433739

やらかしに反して命名やモジュールは綺麗だしあれかな 問題集のひとつかな?

50 19/05/19(日)14:48:30 No.592433900

>もしかしてこれやると相手のパソコンに全ユーザーデータいっちゃうの? そりゃあもうばっちり

51 19/05/19(日)14:48:41 No.592433947

>やらかしに反して命名やモジュールは綺麗だしあれかな >問題集のひとつかな? 実際に動いていたサービスのコード

52 19/05/19(日)14:48:49 No.592433973

スレ画はイントラネットで稼働していたのが不幸中の幸い 幸いでも無いけど

53 19/05/19(日)14:49:21 No.592434104

あんまJS詳しくないんだけど これChromeのデバッガで547行目にブレークポイントつけたら全ユーザーのパスワードわかっちゃわない?

54 19/05/19(日)14:49:42 No.592434166

うちの会社で動いてる20年モノのイントラのシステムも インジェクションし放題だったよ 流石に全テーブルドロップみたいなお試しは怖くてしてないよ

55 19/05/19(日)14:50:07 No.592434265

>そりゃあもうばっちり なんでクライアント側で直接sqlを動かせるような関数?でいいんだっけがそもそもあるのこれ 何させるためのものだったの

56 19/05/19(日)14:50:09 No.592434272

>これChromeのデバッガで547行目にブレークポイントつけたら全ユーザーのパスワードわかっちゃわない? はい

57 19/05/19(日)14:50:13 No.592434285

こういうのやりたい時ってどこから手をつけて勉強すればいいの?

58 19/05/19(日)14:50:15 No.592434294

学生のとき似たようなことしたのであまりバカにできない

59 19/05/19(日)14:50:23 No.592434328

ログ整理する時にしかプログラミングしないSEだけど一読しただけでおかしいのがわかる ごく小規模で完全にイントラの取り敢えず動けばいいやレベルで身内向けだったらギリギリわかるけどクリック操作してるからWEB画面から打つんでしょ? こんなのイントラと言えどオープン系システムに乗せたら怒られるどころじゃないよ

60 19/05/19(日)14:50:31 No.592434362

SQL面倒だし全件とってフロントで処理しよ…な人間は多い んでDBが遅いとか言うんだから堪らない

61 19/05/19(日)14:50:58 No.592434463

DDL文実行できたりするのかな

62 19/05/19(日)14:51:25 No.592434544

>あんまJS詳しくないんだけど >これChromeのデバッガで547行目にブレークポイントつけたら全ユーザーのパスワードわかっちゃわない? ブレークポイントなんて丁寧なことしなくてもネットワークの通信内容見たら全部json形式かなんかで見られるだろ

63 19/05/19(日)14:51:46 No.592434620

ユーザーテーブル全部抜かれるだけならいいだろ injection許容するってのは権限設定ちゃんとされてないと他のテーブルも自由にCRUDできるってことだぞ OSコマンド発行してサーバの腹の中ごにょごにょするストアド作って走らせることも自由自在だぞ

64 19/05/19(日)14:51:52 No.592434645

当然SSLなんか使ってないだろうしな

65 19/05/19(日)14:52:13 No.592434719

こんなシステムでそうなってるとは思えないけど 一般的にdb上にパスワード保存するときは暗号化してる

66 19/05/19(日)14:52:37 No.592434791

jsが全くわからないけどユーザー情報を暗号化せず全部流し込んでると聞いて素人でもやばいなと思った

67 19/05/19(日)14:52:43 No.592434805

パスワードは暗号化じゃなくてハッシュ化するだろ普通

68 19/05/19(日)14:53:21 No.592434920

>injection許容するってのは権限設定ちゃんとされてないと他のテーブルも自由にCRUDできるってことだぞ >OSコマンド発行してサーバの腹の中ごにょごにょするストアド作って走らせることも自由自在だぞ スレ画の脆弱性はインジェクションですらないと思う ただのDBへの素のインターフェースを公開してるんだから

69 19/05/19(日)14:53:23 No.592434928

apiServiceの存在が邪悪すぎる

70 19/05/19(日)14:53:34 No.592434964

クローズドな環境ならまぁあるかもね 学校の先生管理システムとか

71 19/05/19(日)14:53:43 No.592434995

でもパスワード忘れたから教えろって言われたし… 初期化再設定とか面倒だから教えろって言われたし…

72 19/05/19(日)14:54:12 No.592435076

本当はお塩入れてくれと思うけどもう最近はハッシュ化してれば偉いよ

73 19/05/19(日)14:54:14 No.592435085

これを書くような奴の存在よりこれを止められない上司がカス

74 19/05/19(日)14:54:40 No.592435166

よくわからないけどこの処理ならsql文に変数が何もないからテーブルはいじられないとかにはならないとかでもないのか プログラムこわい

75 19/05/19(日)14:54:47 No.592435186

まず開発者コンソールからapiService.sql叩く 絶対やる

76 19/05/19(日)14:54:52 No.592435204

>一般的にdb上にパスワード保存するときは暗号化してる 良くわからないからfirebaseに任せるね…

77 19/05/19(日)14:55:01 No.592435241

シス管に言っても嫌がられるか目をつけられるだけだし黙ってよってなる結局

78 19/05/19(日)14:55:14 No.592435283

よくわからないから同じ塩を使った

79 19/05/19(日)14:55:24 No.592435308

>本当はお塩入れてくれと思うけどもう最近はハッシュ化してれば偉いよ このシステムだと塩入れてようが何しようがどうとでもなるけどな!

80 19/05/19(日)14:56:00 No.592435428

でもそんな悪いこと考える人とか 10人中3人ぐらいだろ

81 19/05/19(日)14:56:40 No.592435582

>10人中3人ぐらいだろ 多くね

82 19/05/19(日)14:56:45 No.592435604

脆弱性指摘したけどそんなことする奴いないだろって何の対処もされなかった 誰か会社のシステムに破滅的なSQLインジェクションしてくんねぇかな

83 19/05/19(日)14:56:51 No.592435624

usersテーブルにINSERTすることで大人気サービスを装ってサービス終了を延ばすことができる!

84 19/05/19(日)14:57:29 No.592435738

SQLインジェクション!

85 19/05/19(日)14:58:03 No.592435852

>よくわからないけどこの処理ならsql文に変数が何もないからテーブルはいじられないとかにはならないとかでもないのか SQL文をテキストで投げてるだけだから差し替えれる

86 19/05/19(日)14:58:30 No.592435933

sqlインジェクションは定番すぎて逆にwaf入れるだけでほぼ防げたりするのがタチ悪い

87 19/05/19(日)14:58:59 No.592436037

>SQL文をテキストで投げてるだけだから差し替えれる もしかして543行とかで止めて中身書き換えたらやれちゃうのこれ ひどい

88 19/05/19(日)14:59:16 No.592436093

これぐらいの優しい世界が欲しい インフラやブラウザ側で悪意を防いで欲しい

89 19/05/19(日)14:59:44 No.592436188

apiService.sqlが邪悪すぎる・・・

90 19/05/19(日)15:00:53 No.592436450

Accessとかで動いてたシステムを無理やりWebに移植した結果こんな感じになったのかねえ

91 19/05/19(日)15:00:59 No.592436463

インジェクションなんてもうやって来る奴いないだろということで対策をしないというコスト削減

92 19/05/19(日)15:01:21 No.592436530

ログインに何分かかるんだろうな

93 19/05/19(日)15:01:23 No.592436541

>もしかして543行とかで止めて中身書き換えたらやれちゃうのこれ >ひどい むしろapiServiceの中身見たらログインページ使わずに自由なクエリ発行し放題にできるよ

94 19/05/19(日)15:02:26 No.592436766

>むしろapiServiceの中身見たらログインページ使わずに自由なクエリ発行し放題にできるよ そんな事も出来るのか…

95 19/05/19(日)15:02:33 No.592436791

善意で動いてるサービスって割と多いね 文章自動アップロード公開を学習サイトで作ったよって聞いたけどちんこちんこ書き放題だなってシステムだった

96 19/05/19(日)15:02:37 No.592436810

>ログインに何分かかるんだろうな ユーザー数が10000人程度なら1-2秒だと思うよ

97 19/05/19(日)15:02:48 No.592436869

'と"が混在してるからクソ!

98 19/05/19(日)15:02:53 No.592436886

apiServiceのせいでログイン機構が全く意味をなしていない…

99 19/05/19(日)15:03:32 No.592437035

サービスの規模によっては普通に何人か同時ログインしただけでやばそう

100 19/05/19(日)15:03:34 No.592437041

ログインできたとしてcookieにログインフラグが立ってるだけで そいつのユーザーIDとかサーバ側で何一つ把握できないんですが どうしたらいいの

101 19/05/19(日)15:03:42 No.592437077

drop tableできるよね… select * from users;が邪悪すぎる…

102 19/05/19(日)15:03:48 No.592437096

関数名や変数名がシンプルすぎるし何かの教材なのでは?

103 19/05/19(日)15:04:22 No.592437214

>ログインできたとしてcookieにログインフラグが立ってるだけで >そいつのユーザーIDとかサーバ側で何一つ把握できないんですが >どうしたらいいの わからん 誰かがログインした

104 19/05/19(日)15:04:26 No.592437223

俺バカだからこれ何してるのか教えろ

105 19/05/19(日)15:04:33 No.592437252

>select * from users;が邪悪すぎる… 上でも言われてるけどそういう問題じゃないと思う

106 19/05/19(日)15:04:35 No.592437262

ログイン周りとセッション周りはもう自分では実装したくない cognitioに投げる

107 19/05/19(日)15:04:47 No.592437299

ちゃんとインデントしててえらい!

108 19/05/19(日)15:04:53 No.592437320

こんなゴミ今時狙って作らないと逆に作れない

109 19/05/19(日)15:04:54 No.592437328

>どうしたらいいの 毎回クッキー読めばフロント側だけでログイン状態を判断できる!便利!

110 19/05/19(日)15:05:08 No.592437368

ファイルの中身を書き換えるだけでやりたい放題だぜ

111 19/05/19(日)15:05:38 No.592437474

こんな感じの社内勤怠システムで退勤打刻を定時にUpdateするようにして昼くらいに帰宅してたな

112 19/05/19(日)15:06:00 No.592437552

>ログイン周りとセッション周りはもう自分では実装したくない >cognitioに投げる cognitoでAWSの権限周り絞ろうとすると発狂しそうになるんだけど AWS関係ない単なるログイン周りだけなら便利なのかな

113 19/05/19(日)15:06:14 No.592437605

>そいつのユーザーIDとかサーバ側で何一つ把握できないんですが きっとログインマーク表示させるためだけに毎回やるのではないかと メインの認証処理はまた別で走っるとかね

114 19/05/19(日)15:06:18 No.592437625

apiServiceの中身はさすがにわからないか

115 19/05/19(日)15:06:38 No.592437700

「」は賢いなあ

116 19/05/19(日)15:07:44 No.592437928

>apiServiceの中身はさすがにわからないか スレ画内にないというだけでこのページにアクセスできるやつにはわかるぞ

117 19/05/19(日)15:08:31 No.592438095

これ全員善人なら、DBにはSelectしか投げてないので ロックかかることなく、複数人が同時アクセスしても大丈夫だし ログイン状態をクライアントだけで判断させているから DBにはUpsertが飛ばず良かったね!

118 19/05/19(日)15:08:42 No.592438135

実際やらかしてそうなプログラマ「」がいそうなのか

119 19/05/19(日)15:09:17 No.592438276

上か下の行にapiServiceも書いてあるってこと?

120 19/05/19(日)15:09:41 No.592438344

SQL文を引数に取るメソッドなんて どう考えてもDB接続周りの手続きとSQL発行処理してるから このままでもなんでもできるよね

121 19/05/19(日)15:10:14 No.592438468

全員善人ならパスワード自体要らねえんじゃねえかな…

122 19/05/19(日)15:10:39 No.592438555

全ての行につっこみどころあるのが凄い 狙ってやらないと書けないと思う

123 19/05/19(日)15:10:54 No.592438620

参照しかしないので ログインはありません

124 19/05/19(日)15:11:00 No.592438641

>これ全員善人なら、DBにはSelectしか投げてないので 更新処理なくてログインがこれで良いならDB使ってる時点で間違いだよ! basic認証でリストベタ書きするだけで良いよ!

125 19/05/19(日)15:12:12 No.592438885

そもそもこれ自体はなんなの…

126 19/05/19(日)15:13:30 No.592439145

https://qiita.com/YSRKEN/items/0095cf75be3f607b0f98

127 19/05/19(日)15:13:34 No.592439159

>上か下の行にapiServiceも書いてあるってこと? このjsはお手元のブラウザで動くためのものなのでapiServiceもブラウザから読めるどこかに定義されてるのです

128 19/05/19(日)15:15:22 No.592439568

>※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 よかった…

129 19/05/19(日)15:15:48 No.592439663

パスワードを平文で保存しているくらいのことが霞むくらいクソ

130 19/05/19(日)15:16:37 No.592439840

よかった…悪意のあるユーザーなんていなかったんだ…

131 19/05/19(日)15:16:52 No.592439906

SQLかjsの入門書10分くらい読んだだけの中学生でもこれはやばいって気付くと思う

132 19/05/19(日)15:18:16 No.592440215

そりゃ閉じた世界でしか動かせないよな

133 19/05/19(日)15:18:22 No.592440232

>SQLかjsの入門書10分くらい読んだだけの中学生でもこれはやばいって気付くと思う 基礎とか素養ない奴がそれ出来たら流石に天才の部類だわ

134 19/05/19(日)15:18:37 No.592440297

>>※元記事のタイトルに記載されていますが、このコードはイントラネット内で動作していたものです。 >よかった… ジョークとか悪例としてでっち上げられたものじゃない実際に運用されてたってだけでよかったかどうか…

135 19/05/19(日)15:18:56 No.592440373

まずjqueryがクソ

↑Top