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

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中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?