Files
hsmoying 2e766ce234 fix dahua snapshot
fix(dahua): restore independent requests for DigestAuth snapshot

Ingram-master 新版引入 self.session 持久会话以复用 keep-alive,
但 Dahua 设备 HTTP Server 存在奇葩行为:有 cookie 时忽略
Authorization header。

根因:
  verify() 用 self.session.post(RPC2_Login) → session 内部残留 cookie
  exploit() 用同一 self.session.get(snapshot, auth=DigestAuth)
  → 大华设备优先看无效 cookie → 忽略 Digest Auth → 401 无快照

修复:
  1. 3 个 Dahua RPC2_Login POC 的 verify() 回退为独立 requests.post
  2. base._snapshot() 有 auth 时用独立 requests.get,无 auth 保留 session

fix(dahua): restore independent requests for DigestAuth snapshot

Ingram-master introduced self.session to reuse TCP connections via
keep-alive, but Dahua HTTP servers ignore Authorization headers
when a cookie is present.

Root cause:
  verify() posts RPC2_Login via self.session → cookie leaks into session
  exploit() reuses same session for DigestAuth snapshot request
  → server sees stale cookie → ignores Digest Auth → returns 401

Fix:
  1. 3 Dahua RPC2_Login POCs use independent requests.post for verify()
  2. base._snapshot() uses independent requests.get when auth is present,
     keeps self.session for auth-less requests (preserves keep-alive)
2026-10-13 05:22:54 +08:00
..
2023-09-19 21:50:51 +08:00
2026-10-13 05:22:54 +08:00
2023-09-19 21:50:51 +08:00
2023-09-19 21:50:51 +08:00
2025-07-07 22:33:22 +08:00