アカウント名:
パスワード:
・ソースを読解・ひたすら逐次実験的に・特別そうな数字に当たりを付けて
自作のUID検索(ランダムID生成、ユニークID生成等)関数の戻り値をエラー処理せずにsudoにぶち込んでたら、何故かroot権限で実行されるケースが起きて、原因調査してみたら、その自作関数がエラーで-1返していたのが発覚した。とか。
エラーで-1か!権限のいる処理なのでrootの状態になってユーザーID変更するが、本来なら指定したIDにならなかった場合、処理されないはずが、指定したIDの-1とエラーの-1が一致するから成功と誤認してユーザーID変更失敗のrootのまま処理されるのか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
4294967295 (スコア:0)
まあ、rootをID0として-1および設定最大値のIDに特殊な権限を与えるって発想は頷けるが、そんなに沢山のユーザがいることを想定しているのかな。不思議な数字だ。
どうやって見つけたんだ (スコア:0)
・ソースを読解
・ひたすら逐次実験的に
・特別そうな数字に当たりを付けて
Re: (スコア:0)
自作のUID検索(ランダムID生成、ユニークID生成等)関数の戻り値をエラー処理せずにsudoにぶち込んでたら、
何故かroot権限で実行されるケースが起きて、原因調査してみたら、その自作関数がエラーで-1返していたのが発覚した。とか。
Re:どうやって見つけたんだ (スコア:0)
エラーで-1か!
権限のいる処理なのでrootの状態になってユーザーID変更するが、
本来なら指定したIDにならなかった場合、処理されないはずが、
指定したIDの-1とエラーの-1が一致するから成功と誤認して
ユーザーID変更失敗のrootのまま処理されるのか?