用于检测易受攻击浏览器的库

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

兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的所有副本或大部分。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java变量始终存储0值。为什么?   如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器?   java将commons DBCP从1.2升级到1.4,我应该害怕吗?   java如何使用分隔符拆分字符串?   java使用数组读取json对象   java在groovy中切片字符串   交换数组java的两个邻域元素   java移动用于确定字符串是否为回文的逻辑   java Android应用程序在一个活动中崩溃   java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹   java复杂条件表达式,用户易用。   java如何仅在表存在时从表中选择值   java I无法将数据从Recyclerview传递到其他活动   java数据结构最佳设计(大数据)   java Android从DatePickerDialogFragment中删除日历视图   java将数据从Firebase获取到片段   数组。sort()在java中运行不正常