用于检测易受攻击浏览器的库
browser_vulnerabilities的Python项目详细描述
这个小库检测易受攻击的操作系统和浏览器 基于浏览器用户代理字符串。不包括活动支票。
from browser_vulnerabilities import BrowserVulnerability ua1 = 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0' ua2 = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0' bv = BrowserVulnerability(ua1) print bv.vulnerabilities() # {'priority': 'recommended', 'readable_version': 'Firefox older than 27.0', # 'name': 'Firefox', 'version__smaller': '27.0'} bv = BrowserVulnerability(ua2) print bv.vulnerabilities() # False
在browser_vulnerabilities/data.py文件中提供最小数据库。数据库是手动更新的。 标准的顺序很重要。最重要、最严格的标准应该放在第一位。匹配被中止 在第一次击中时。
必需关键字:
- platform/flavor/name:前两个用于操作系统,而name用于浏览器(httpagentparser的功能)
- priority:
- “强制”-需要用户操作,操作应被拒绝或通过消息延迟。
- “推荐”-强烈建议更新,但不是强制性的。
- “可选”-只有当用户请求更多信息时,才应向用户显示警告。
可选关键字:
- version__smaller:大于此值的任何版本都与规则不匹配。
- version__larger:小于此值的任何版本都与规则不匹配。
- version__extra:已编译re以进行其他检查。
- vuln:指向相关网站的链接,描述漏洞/为什么特定更新很重要。
- readable_name:用户可读的产品名称
- version:警告的用户可读版本标准
许可证
根据麻省理工学院许可证获得许可:
版权所有(c)2014 Olli Jarvaolli@jarva.fi
兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:
上述版权公告及本许可公告须包括在 软件的所有副本或大部分。
本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。