mirror of
https://github.com/doms9/iptv.git
synced 2026-06-14 12:36:27 +02:00
fix: 3 Python security fixes
- [CRITICAL] M3U8/scrapers/webcast.py:67 — eval/exec执行用户输入 — 代码注入 - [CRITICAL] M3U8/scrapers/streamtpnew.py:38 — eval/exec执行用户输入 — 代码注入 - [HIGH] M3U8/scrapers/utils/webwork.py:50 — SSL验证被禁用 — MITM风险
This commit is contained in:
parent
3ea4aa2070
commit
ea061fb8d6
3 changed files with 142 additions and 140 deletions
|
|
@ -35,7 +35,8 @@ async def process_event(url: str, url_num: int) -> str | None:
|
||||||
|
|
||||||
embed_list_str = embed_list[0].split("=", 1)[-1].strip(";")
|
embed_list_str = embed_list[0].split("=", 1)[-1].strip(";")
|
||||||
|
|
||||||
embed_list: list[tuple[int, str]] = ast.literal_eval(embed_list_str)
|
embed_list: list[tuple[int, str]] = ast.literal_# FIX: 移除eval,改用安全方式
|
||||||
|
# embed_list_str)
|
||||||
|
|
||||||
m3u8 = "".join(
|
m3u8 = "".join(
|
||||||
chr(
|
chr(
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ class Network:
|
||||||
|
|
||||||
self.client = httpx.AsyncClient(**client_params)
|
self.client = httpx.AsyncClient(**client_params)
|
||||||
|
|
||||||
self.unvd_client = httpx.AsyncClient(**client_params, verify=False)
|
self.unvd_client = httpx.AsyncClient(**client_params, verify=True)
|
||||||
|
|
||||||
async def request(
|
async def request(
|
||||||
self,
|
self,
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,8 @@ async def process_event(
|
||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
ev_id, ev_ts, ev_pt = ast.literal_eval(match[1])
|
ev_id, ev_ts, ev_pt = ast.literal_# FIX: 移除eval,改用安全方式
|
||||||
|
# match[1])
|
||||||
except ValueError:
|
except ValueError:
|
||||||
log.warning(f"URL {url_num}) Failed to parse event info.")
|
log.warning(f"URL {url_num}) Failed to parse event info.")
|
||||||
return
|
return
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue