钉钉の Bluetooth 打刻システムでは、管理者は通常、特定の打刻範囲を設定し、ユーザーはその範囲内でのみ打刻できます。しかし、最近、可能性のある脆弱性が発見されました:実際の打刻位置は、ユーザーが打刻をクリックした瞬間ではなく、それ以前のある時点で決定されます。この発見は、2 つの実際のシナリオによって検証されました:1 つは、オフィスエリアを離れた後、打刻範囲外での成功した打刻です。もう 1 つは、打刻に失敗した後、ユーザーが打刻機から離れる途中で再試行し、成功した打刻です。これは、DingTalk の打刻位置の取得ロジックにタイミングの問題がある可能性があり、ユーザーが指定されたエリア外で打刻に成功することを許可していることを示しています。
钉钉 Bluetooth 打刻のバグ分析#
通常の打刻フロー:#
- 管理者は特定の打刻範囲を設定します。
- ユーザーはその範囲内でのみ打刻できます。
発見された問題:#
- DingTalk の打刻位置取得ロジックの異常:実際の打刻位置は、ユーザーが打刻をクリックした瞬間ではなく、それ以前のある時点で決まります。
シナリオ再現:#
-
退勤シナリオ:
- 時間:午後 6 時半、退勤。
- 操作:
- パソコンをシャットダウンし、オフィスエリアを離れます。
- 階段の近くに到着したときに DingTalk を開き、打刻のリマインダーポップアップが表示されますが、すぐに打刻しません。
- 続けて、近くのコミュニティエリアまで歩きます。この時点で以前の打刻リマインダーポップアップをクリックします。
- 結果:打刻成功。
- 注意:この時点での位置は打刻範囲外です。
- 対照実験:同僚が同じ位置で手動で打刻を試みましたが、出退勤機に接続できませんでした。
-
再度打刻を試みる:
- 操作:
- 打刻機の前に来て、再度打刻を試みます。
- 顔認識ステージで意図的に顔を見せず、打刻に失敗しましたが、打刻失敗のポップアップが表示されました。
- ポップアップを閉じずに、交差点まで歩きます。
- 交差点でポップアップの「再試行」ボタンをクリックします。
- 結果:打刻成功。
- 位置は指定された打刻範囲内ではありません。
- 操作:
結論:#
- DingTalk の Bluetooth 打刻機能には、位置情報の取得タイミングのバグがある可能性があり、実際の打刻位置とユーザーの操作時間が同期していないため、ユーザーが指定されたエリア外でも打刻に成功することがあります。
この記事は Mix Space からの同期更新であり、xLog にも掲載されています。
元のリンクは https://www.laogou666.com/posts/BUG/dingtalk です。