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

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如何从thymeleaf表单保存地址对象和用户对象的列表?   序列化java。时间使用Jackson将localdate转换为json   java删除LinearLayout和子级之间的空间   具有内存大小限制的Java队列   java尝试在freemarker中创建min(a,b)函数失败   askQuestion()方法中的Java逻辑问题   在Java客户端中接受服务器的自签名ssl证书   java如何正确更新字符串数组?   java如何使多个方法调用充当一个事务性工作单元   swing如何创建可滚动的Java框?   java如何使用SearchView在多个单词之间搜索?   初始化启动层java时出错。lang.module。FindException:模块javafx。找不到图形   java struts对隐藏字段的转义形式验证   用于构建FEM 3D解算器的java JOGL与JAVA3D   java mvn安装忽略hibernate映射文件   在C++和java之间使用JNI通信时,我在哪里保存“这个”?   java无法使用计时器重新绘制窗口   java我遇到一个找不到符号的错误,我无法解决   IntelliJIdea生成实体时java面临的问题   java在动态文本的末尾添加三个点