ここでは虹裏imgのかなり古い過去ログを閲覧することができます。
22/04/05(火)13:43:17 No.913712041
これなんでダメなの?
1 22/04/05(火)13:45:19 No.913712494
true=true
2 22/04/05(火)13:46:44 No.913712789
気軽に全件抽出
3 22/04/05(火)13:46:48 No.913712800
APIでSQL実行してるからお前は馬鹿なんだよ馬鹿小学生からやり直せよ
4 22/04/05(火)13:47:42 No.913713014
>APIでSQL実行してるからお前は馬鹿なんだよ馬鹿小学生からやり直せよ はい…JSからやり直します…
5 22/04/05(火)13:48:03 No.913713075
出所どこなんだろこれ 悪い例ですって作られたサンプルなのかな
6 22/04/05(火)13:49:21 No.913713375
>はい…JSからやり直します… TSするな
7 22/04/05(火)13:50:30 No.913713630
>気軽に全件抽出 想定規模によってはまあそこは別にいい
8 22/04/05(火)13:50:36 No.913713645
自分の使ってるサービスがこんな感じだったら超怖いよね
9 22/04/05(火)13:50:59 No.913713753
クライアントで他のユーザーの情報取得するようなマネはやめろ
10 22/04/05(火)13:51:51 No.913713959
ツッコミの仕方で更にボロが出るから迂闊なことが言えん
11 22/04/05(火)13:51:53 No.913713962
jsのデバッグってどうやるのか知らんけど クライアントサイドで実行するなら全アカウント情報見えちゃうんじゃないの
12 22/04/05(火)13:52:02 No.913713999
俺だって可能なら小学生からやり直して英語とプログラミング学びたい
13 22/04/05(火)13:52:19 No.913714069
"true" === "true"の意図がわからなすぎて怖いんだけど何なの
14 22/04/05(火)13:52:36 No.913714127
true=trueは何のためにやってるの?
15 22/04/05(火)13:54:48 No.913714647
クライアントサイドならブラウザでF12押してブレークポイント設定したら他アカウントの名前見られそう
16 22/04/05(火)13:57:21 No.913715253
パスワード平文でDBに乗っかってない?
17 22/04/05(火)13:57:39 No.913715320
a === “true” みたいな条件式だったのをデバッグ目的か何かで左辺変えただけで済ませてあるとかだと思ってた
18 22/04/05(火)13:58:05 No.913715424
DROP TABLE users
19 22/04/05(火)13:58:20 No.913715469
sqlが非同期に実行されてfor回らずfalseになりそう
20 22/04/05(火)13:58:32 No.913715514
>"true" === "true"の意図がわからなすぎて怖いんだけど何なの ほらif(true)とかデバッグするとき便利だし…
21 22/04/05(火)13:58:51 No.913715599
>パスワード平文でDBに乗っかってない? なにも暗号化せずに突っ込んでるね
22 22/04/05(火)14:00:10 No.913715924
true===trueもヤバいけど パスワードをデータベースに平文で保存してるっぽいのもヤバイ
23 22/04/05(火)14:01:03 No.913716112
クライアントからSQLの平文投げて動かせるのもヤバい
24 22/04/05(火)14:01:06 No.913716123
これcookie書き換えるだけでログイン状態にできない?
25 22/04/05(火)14:01:18 No.913716170
よく見たら*でsql実行してるのもヤバいわ
26 22/04/05(火)14:01:55 No.913716319
>これcookie書き換えるだけでログイン状態にできない? それ思ったけどこれだけだと誰がログインしてるのかも保持できてなくない?
27 22/04/05(火)14:03:19 No.913716604
authentificateUserでやってることは全部サーバサイドでやれ
28 22/04/05(火)14:03:52 No.913716709
たぶんこれの上にある540行もこんな調子なんだろうな…
29 22/04/05(火)14:05:07 No.913717004
apiService.sql叩いたらなんでも実行できるのか?
30 22/04/05(火)14:06:53 No.913717338
もっとコメントいっぱい書こうぜ
31 22/04/05(火)14:07:00 No.913717366
put this in a different file!!!
32 22/04/05(火)14:09:29 No.913717851
>もっとコメントいっぱい書こうぜ ちゃんとtodoコメのこしててえらい!
33 22/04/05(火)14:09:48 No.913717930
>put this in a different file!!! html直書きっすか…
34 22/04/05(火)14:11:28 No.913718265
とりあえずユーザのselectは一瞬で終わらせて他の重要そうなサービスの情報をDBから引っ張るね…
35 22/04/05(火)14:12:04 No.913718396
俺これと同じ経験あるよ
36 22/04/05(火)14:12:29 No.913718486
SQLインジェクションはできないなヨシ!って一瞬思ってしまった…
37 22/04/05(火)14:13:41 No.913718729
多分DBもガバセキュリティなのですでにどこぞのマイニングプロセスが走っていると思われる
38 22/04/05(火)14:13:44 No.913718737
>SQLインジェクションはできないなヨシ!って一瞬思ってしまった… インジェクションする必要もないからな…
39 22/04/05(火)14:15:14 No.913719053
サーバーサイドに書け パスワード平文保管するな それ以外は些細なことなのでヨシ!
40 22/04/05(火)14:16:15 No.913719268
これこそ正にどこから突っ込んでいいのか分からん代物だわ…
41 22/04/05(火)14:17:25 No.913719522
なまじPHPの経験があったとか…?
42 22/04/05(火)14:23:01 No.913720755
世界最悪のログイン処理コードでググれば色々出てくるぞ
43 22/04/05(火)14:23:57 No.913720949
いろいろ出てきちゃダメだろ!
44 22/04/05(火)14:26:37 No.913721505
使ったことない言語だけどやべーこと書かれてるのはわかる
45 22/04/05(火)14:27:22 No.913721651
一応大学のネットワークのログインシステムだそうです はい
46 22/04/05(火)14:29:33 No.913722084
SQLインジェクションって条件とか部分的に指定するものを 変な値を入れることで区切らせたり想定外の挙動をさせるやつだけど これクライアントサイドだからapiService.sqlをコンソール直叩きで任意のSQL打てる
47 22/04/05(火)14:29:48 No.913722155
>"true" === "true"の意図がわからなすぎて怖いんだけど何なの 哲学
48 22/04/05(火)14:30:32 No.913722308
えっこれ実際に書かれて使われたものなの?
49 22/04/05(火)14:30:56 No.913722397
せめてWHEREで引っ張る行数を絞れ 全データ引っ張ってるから転送量とループの負荷がひどい
50 22/04/05(火)14:32:51 No.913722835
全件検索の是正以前の問題である
51 22/04/05(火)14:32:55 No.913722859
ローカルでしか使わんならまあいいだろう
52 22/04/05(火)14:33:13 No.913722930
なんでわざわざ全件引っ張ってから一件一件評価してるの
53 22/04/05(火)14:33:33 No.913722986
drop tableできるかな?
54 22/04/05(火)14:34:15 No.913723132
パラメータ指定にすると変な文字列指定されたら困るじゃん?
55 22/04/05(火)14:34:15 No.913723133
apiService.sqlの実装どうなってるんだろう?まだasync/await無い頃だよね?
56 22/04/05(火)14:35:24 No.913723363
この状態でされる大半のアタック相当の行為はサービス的には仕様通りの動作だから脆弱性と言って良いのかわからん…
57 22/04/05(火)14:35:55 No.913723482
>一応大学のネットワークのログインシステムだそうです >はい ははーん学生にいろいろハックさせるためにいろいろガバガバにしてるんだな …そういうのは情報工学の実験でやれ!
58 22/04/05(火)14:36:19 No.913723576
これデバッグモードでコンソール参照したら全ユーザのパスワードわかっちゃうだろ
59 22/04/05(火)14:37:40 No.913723891
jsは非同期処理だからfor文走らせた直後にfalse返ってくるのでは? それどころじゃないけど
60 22/04/05(火)14:39:27 No.913724272
>jsは非同期処理だからfor文走らせた直後にfalse返ってくるのでは? >それどころじゃないけど それは流石に非同期処理というものを勘違いしてると思う…
61 22/04/05(火)14:39:43 No.913724333
ユーザーテーブルの情報全部丸見えじゃん!
62 22/04/05(火)14:40:14 No.913724416
こういうの理解するためにはアルゴリズムから学んだほうが良いのかな アルゴリズムの絵本とか
63 22/04/05(火)14:40:42 No.913724515
SQLをブラウザから叩けるようにするな
64 22/04/05(火)14:40:53 No.913724547
>こういうの理解するためにはアルゴリズムから学んだほうが良いのかな >アルゴリズムの絵本とか そういう問題かな…
65 22/04/05(火)14:41:23 No.913724642
>こういうの理解するためにはアルゴリズムから学んだほうが良いのかな >アルゴリズムの絵本とか アルゴリズムではないと思う
66 22/04/05(火)14:41:46 No.913724699
非同期は成功/失敗のコールバックを指定するもんだから それがないってことは基本的には同期実行になる
67 22/04/05(火)14:41:51 No.913724721
SQLでいいんじゃないか
68 22/04/05(火)14:43:28 No.913725035
まあ全部平文でやりとりしてるのが一番ヤバいと思う
69 22/04/05(火)14:44:39 No.913725272
>まあ全部平文でやりとりしてるのが一番ヤバいと思う 仮にSSL化したところで何か解決するかなこれ…
70 22/04/05(火)14:46:27 No.913725648
このコードだけでは平文とは言い切れない
71 22/04/05(火)14:46:38 No.913725685
>仮にSSL化したところで何か解決するかなこれ… ごめん言い方悪かったパスワードとかの事
72 22/04/05(火)14:46:44 No.913725696
>それは流石に非同期処理というものを勘違いしてると思う… そうなのか つまり普通に順番通り処理されるのか 専門外なんで指摘助かる
73 22/04/05(火)14:48:44 No.913726107
平文でいれてるのはやばいけどまあDB参照できるひとか適正ならまだいいよ
74 22/04/05(火)14:49:13 No.913726221
間違い探しみたいなもん
75 22/04/05(火)14:50:05 No.913726419
こんなの見たらusersをdeleteしてやりたくなるな…
76 22/04/05(火)14:50:10 No.913726436
間違いだらけで何が本当の間違いなのかわからんな…
77 22/04/05(火)14:50:48 No.913726560
レスしてる中にも信じられないレベルの理解度の「」がちらほら居るな
78 22/04/05(火)14:52:59 No.913727016
>つまり普通に順番通り処理されるのか >専門外なんで指摘助かる JSという言語の環境は非同期処理することを前提に設計されてるのはそうなんだけど その意味は同期的に書けないと言うより重い処理を同期的に書いてはいけないに近い なんなら基本シングルスレッドだから並列処理すら出来ない
79 22/04/05(火)14:55:42 No.913727538
true===true じゃなくて "true"==="true" なのが意味分かんなくて怖い…いや上も意味分かんないけども
80 22/04/05(火)14:56:57 No.913727809
>true===true >じゃなくて >"true"==="true" >なのが意味分かんなくて怖い…いや上も意味分かんないけども なんならtrueだけでいいしそもそもif文もいらないのでは…
81 22/04/05(火)14:57:02 No.913727830
これぐらいのガバガバ具合だと不正アクセスしても捕まらないとかあんのかな
82 22/04/05(火)14:57:54 No.913728024
そもそもこれHTMLに出力されてない? F12で見れない?
83 22/04/05(火)14:59:46 No.913728385
F12で見た上にSQL書き換えまでできそう ブレーク指定すれば1レコード単位に何入ってるかもチェックできるからお得
84 22/04/05(火)15:01:18 No.913728715
>F12で見た上にSQL書き換えまでできそう >ブレーク指定すれば1レコード単位に何入ってるかもチェックできるからお得 改変するまでもなく普通にコンソールで叩けるよ
85 22/04/05(火)15:01:57 No.913728875
フロントエンドでこれをやるのは中々勇者だな
86 22/04/05(火)15:02:12 No.913728936
>これぐらいのガバガバ具合だと不正アクセスしても捕まらないとかあんのかな 鍵が開いてるからって勝手に人の家入るのは違法だぞ
87 22/04/05(火)15:02:56 No.913729118
ブラウザ側で処理してるから他のidが見放題だし別のSQLも実行できるって理解でいい?
88 22/04/05(火)15:04:08 No.913729383
>気軽に全件流出
89 22/04/05(火)15:04:26 No.913729440
まぁ学生の課題なら点数ぐらいはあげるが そうか大学のログインシステムか…
90 22/04/05(火)15:04:35 No.913729479
なんか「」ちゃんがかっこいい事話してる・・・
91 22/04/05(火)15:04:44 No.913729520
DBの種類が特定できれば存在するテーブル一覧ですら引っ張れそう
92 22/04/05(火)15:05:32 No.913729678
ぼく雑魚コーダー ログイン処理はサーバー側の人に全部やらせる
93 22/04/05(火)15:05:55 No.913729769
パスワードをそのまま変数に格納するんだ…
94 22/04/05(火)15:07:46 No.913730182
突っ込みどころが多すぎると釣り待ちに見えてくるやつ
95 22/04/05(火)15:09:51 No.913730662
これはともかくいざログイン周りの処理をイチから書けと言われるとちょっと悩むな 今はもうその辺フレームワーク任せでやっちゃってるから昔どうしてたか覚えてねえ…
96 22/04/05(火)15:10:44 No.913730848
>>これぐらいのガバガバ具合だと不正アクセスしても捕まらないとかあんのかな >鍵が開いてるからって勝手に人の家入るのは違法だぞ 日本警察の手にかかればデバッグコンソール開いて中身除くだけで逮捕できそう …アラートループ事件はひどい話でしたね
97 22/04/05(火)15:11:08 No.913730939
素人にしろ玄人にしろセキュリティ周りは勝手に実装せずにフレームワークに任せたほうが大抵いいからな…
98 22/04/05(火)15:15:33 No.913731850
図書館のWebシステムで一定間隔でアクセスし続けると必ずハングアップするシステムクロールしたらハングアップさせちゃって逮捕された人いたよね