CN104956375A - 基于规则呈现用户界面元素 - Google Patents

基于规则呈现用户界面元素 Download PDF

Info

Publication number
CN104956375A
CN104956375A CN201380071980.8A CN201380071980A CN104956375A CN 104956375 A CN104956375 A CN 104956375A CN 201380071980 A CN201380071980 A CN 201380071980A CN 104956375 A CN104956375 A CN 104956375A
Authority
CN
China
Prior art keywords
user interface
rule
interface element
token
web application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380071980.8A
Other languages
English (en)
Other versions
CN104956375B (zh
Inventor
肖恩·摩根·森普森
基里尔·缅杰列维
菲利普·爱德华·汗默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weifosi Co ltd
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104956375A publication Critical patent/CN104956375A/zh
Application granted granted Critical
Publication of CN104956375B publication Critical patent/CN104956375B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文公开的示例性实施例涉及呈现web应用的部分,该部分的一个或多个用户界面元素基于被更新的规则被加亮。web应用被加载到浏览器布局引擎中。模拟在web应用的用户界面元素上的用户行动,以更新规则。web应用的该部分具有被加亮的一个或多个用户界面元素。

Description

基于规则呈现用户界面元素
背景技术
软件安全测试用于识别在应用(例如Web应用)中的漏洞。基于Web的软件的传统黑盒安全测试通过使用常常被称为扫描器的安全测试应用来工作,该安全测试应用伪装成攻击者。扫描器通过做出HTTP请求并评估HTTP响应或HTTP响应的缺乏,来探索被测试应用(AUT),以便找到AUT在此接受输入的所有URL。AUT在此接受输入的URL可以指AUT的攻击面。扫描器然后基于攻击面和漏洞的可能类别来创建攻击。扫描器应用攻击,以通过评估程序的HTTP响应来诊断漏洞的存在或缺乏。
附图说明
下面的详细描述参考附图,其中:
图1A和图1B是根据各示例的、能够基于规则呈现用户界面元素的系统的框图;
图2是根据一个示例的、用于分析web应用的结构以产生供呈现的可行令牌的计算系统的框图;
图3A和图3B是根据各示例的规则和令牌的框图;
图4A是根据一个示例的、用于呈现与所发现的可行令牌相关联的加亮用户界面元素的用户界面的框图;
图4B是根据一个示例的、用于呈现与所发现的可行令牌相关联的修改的加亮用户界面元素的用户界面的框图;
图4C是根据一个示例的、用于呈现与所发现的可行令牌相关联并基于修改的用户界面元素的加亮用户界面元素的用户界面的框图;
图5是根据一个示例的、用于促使呈现web应用的一部分的流程图,该部分具有基于可行令牌被加亮的用户界面元素;以及
图6是根据一个实施例的、能够促使呈现与可行令牌相关联的加亮用户界面元素的计算系统的框图。
具体实现方式
本文描述的实施例提供用于执行应用(例如web应用)测试的技术。当公司希望知道公司在生产中或将要投入生产的web应用的安全程度时,公司常常使用安全测试解决方案,例如渗透测试解决方案(例如使用扫描器)、模糊测试、脆弱性测试、软件安全测试、网站安全测试、其组合等。公司可能希望使用生产中的应用的复本作为被测试应用(AUT)。
自动动态web应用安全扫描器在攻击AUT之前探索AUT。这个过程可被称为“爬行”。AUT的爬行可通过web应用的超文本标记语言(HTML)的分析以及在web浏览器布局引擎(例如嵌入在web应用扫描器内的web浏览器布局引擎)的受控环境内执行AUT的代码来完成。
随着Web 2.0应用的使用增加,它们的复杂结构阻止了HTML页面分析并使浏览器级处理复杂化。很多Web 2.0应用具有最低限度地自展的HTML代码,其下载主代码(例如JavaScript(JS)代码),其中该主代码直接对浏览器的文档对象模型(DOM)和JS结构、异步JS和XML(AJAX)调用、动态创建的链接、DOM事件等进行操作。有时当JS代码运行时,在应用的寿命期间不获取其它HTML文档。
简化应用的结构以根据一组预定义的规则(其以不同方式处理以特定的方式编写的应用)列出(例如用图表或树状结构表示)可行元素,这可用于有利于有效的爬行。使用这种方法,可为额外的框架(例如jQuery、Dojo等)提供支持,以实现应用的较高质量扫描并发现以前隐藏的应用状态内的漏洞。
为了发现应用攻击面,web应用扫描器模拟在web应用的UI元素上的用户行为。DOM分析器使用如在图3A中进一步详述的规则,来遍历应用的结构并将复杂DOM转换成如在图3B中进一步详述的简明列表可行令牌。在某些示例中,令牌代表DOM元素,其为鼠标或键盘事件或可以用任何其它方式被调用、评估或修改的JS实体的有效目标。因此,发现技术可实际上用于在受控浏览器环境内执行web应用,以研究由浏览器引擎构建的DOM元素。基于UI的爬虫器然后使用规则来识别可行元素并模拟在元素上的用户行动。
然而,该方法可能是有挑战性的。在浏览器内的事件冒泡和传播可阻止对适当的事件目标的检测,这可对爬虫器隐藏一些可行元素。此外,更复杂的操作(例如拖放操作,其使用鼠标按下、鼠标移动、鼠标提升事件序列)所需的用户事件的多步骤序列可能难以检测到观察应用的DOM的静态结构。而且,可能期望一些可行DOM元素在扫描期间被跳过,以避免干扰应用的状态(例如,如果扫描器在扫描、改变密码区段等期间击中注销按钮)。此外,一些DOM元素可导致“失控扫描”——例如日程表用户界面的扫描、在目录站点中的不同物品等。因此,盲目地遵循一般规则以检测可行元素可导致可能太冗长、干扰应用的状态、遗漏重要部分的次最佳的扫描。
因此,提出提供交互式方式以视觉化由扫描器选择的爬行策略的各实施例。此外,该方法允许在完全扫描之前修改这些决策。该方法的一种实现方式可包括消耗爬行定义规则的外部库的浏览器外接附件。这些规则可用于加亮应用的DOM内的被爬虫器识别为可行的那些元素。因为爬虫器由规则指导,因此该加亮与基于爬虫的完全扫描将有的一样准确。
在一个示例中,用户可通过选择被规则遗漏的元素、请求创建用于补充正被使用的规则的现有库的高度特定的规则,来与外接附件交互。此外,用户可引入用户界面排斥,用户界面排斥用于创建阻止爬虫器访问用户想要在扫描期间忽略的元素的规则。
规则被创建的方式可取决于用户选定的选择模型。例如,选择模型可与使用DOM元素的标签、id或类属性一样简单。在另一示例中,它可与使用复杂的TruClient式定位符一样复杂,TruClient式定位符在寻找元素,例如元素的特性、由元素包裹的文本节点的内容(如果有的话)、元素的邻居等的同时,考虑很多不同的因素。通过提供贯穿扫描器视图,可通过提供更好的用户体验来明显提高第一扫描的质量。
在某些示例中,每个规则可包括规则关联谓词或由规则关联谓词组成,规则关联谓词用于检查规则是否应在web应用的特定框架上被激活。在一些示例中,规则可以是JS框架特定的,包括正被使用的JS的版本。在一个示例中,如果规则是活动的,则规则的所有选择器被调用。然后在遍历web应用的DOM和JS结构时使用每个选择器,以返回令牌的列表。在另一示例中,如果规则是活动的,则可基于(例如来自web应用的高速缓存存储器的)web应用的进一步分析来确定选择器。在本文详述进一步的分析。
在一些示例中,选择器是用于识别DOM内感兴趣的元素的技术或机制。在一些示例中,选择器可被构建为用于描述应用的语言,例如级联样式单(CSS)具有内置选择器。在CSS的示例中,“.”可用于选择类,而“#”可用于选择id。使用这种方法,“.role”可用于选择DOM中具有“role.”类的每个元素。在其它示例中,选择器可由规则产生。例如,规则可以写JavaScript或其它脚本/代码,以返回一组选定元素作为令牌。
在某些示例中,令牌代表DOM元素,其为鼠标或键盘事件或可以用任何其它方式被调用、评估或修改的JS实体的有效目标。令牌包括可用于获取元素和对DOM或JS实体允许的一列操作的定位符(例如定位符可以是简单的XPath、TruClient特定的定位符等)。
可识别关联规则,且然后可启用相关联选择器。可接着使用选择器来分析Web应用的DOM,以产生令牌。这扩展了应用的爬行覆盖范围并发现应用内的更短的商业过程路径。令牌可被发送到扫描器以扫描web应用。在扫描期间,令牌可由web应用扫描器使用,来找出相关联DOM对象/JS实体的位置并激活它们。这可用于确定漏洞和关于web应用的其它信息。
图1A和图1B是根据各示例的能够基于规则来呈现UI元素的系统的框图。系统100a、100b包括可用于呈现并提供与利用可行令牌找到的UI元素的交互的部件。相应的系统100a、100b可以是笔记本计算机、桌上型计算机、平台计算系统、无线设备、服务器、工作站或能够引起用户界面元素的呈现的任何其它计算设备或计算设备组。
浏览器布局引擎110可加载web应用。浏览器布局引擎可以是例如web浏览器或被配置成作为扫描器计算系统的部分而工作的修改的浏览器。Web应用的示例包括日程表应用、电子邮件界面、新闻页面、例如流视频、生产率应用等的其它内容资源。
扫描器112可模拟在web应用的用户界面元素上的用户行动。在这个过程期间,文档分析器114可基于规则遍历web应用的结构,并将web应用的复杂DOM转换成一组可行令牌。在图2的描述中进一步详述这个过程。在遍历期间,规则可被更新,如也在图2中进一步详述的。例如,当找到对web应用进行操作的一个框架时,一个或多个规则和/或选择器可被启用/实现。
在一个示例中,一旦为web应用确定了一组令牌和/或规则,就可将信息提供到视觉化模块116。在一个示例中,视觉化模块116可以是扫描器112的部分。视觉化模块116可引起web应用的一部分呈现,其中该部分的一个或多个用户界面元素基于这组可行令牌和/或规则而被加亮。
在一个示例中,可使用一个或多个页面来表示web应用的一部分。此外,在一些示例中,视觉化模块116可被实现为考虑规则和/或令牌的web浏览器插件或修改的web浏览器。视觉化模块116可使用规则/令牌来加亮应用页面的DOM内的被爬虫器识别为可行的那些元素。可经由输入/输出模块134在呈现设备上引起到输出设备142例如投影仪、显示器等的呈现。在一个示例中,插件执行由爬虫器识别为开启以确定要加亮哪些元素的规则。
输入模块可接收选择输入,以选择呈现在网页上的用户界面元素。在一个示例中,用户界面元素未被加亮。规则模块118可产生或修改规则,以能够选择用户界面元素。在一个示例中,可向用户提供能够找到那个用户界面元素的选项。在另一示例中,可向用户提供能够找到其它类似的用户界面元素的选项。使用这个方法,规则可基于与选择的用户界面元素相关联的信息,将与选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌。在一些示例中,信息可包括与选择的用户界面元素和将被启用的其它元素相关联的公共类名。在其它示例中,信息可包括属性、标签、标识符、类等。此外,因为一个或多个信息可被自动确定,因此规则可被自动产生或修改而无需额外的输入。
在另一示例中,选择未加亮的用户界面元素。标记模块122可用于给用于创建规则的用户界面元素加标记。元素信息模块120可接着用于产生关于用户界面元素的信息并促使存储该信息。信息可包括与UI元素相关联的类型、与用户界面元素相关联的访问标识符、与用户界面元素相关联的一个或多个事件处理程序、在文档对象模型内的关系信息(例如父母、孩子、兄弟姊妹等)。
这个信息可接着被提供给开发者以产生或修改规则,和/或用于修改/产生规则而无需开发者输入。也可提供只选择这个UI元素或选择类似的UI元素的选项。在开发者或其他人被分派任务以提供其它信息的情形中,可使用定制输入信息,例如用于选择与用于规则的UI元素相关联的一个或多个所存储的信息的定制信息。因此,规则模块118可产生或修改规则,以基于类型、访问标识符、事件处理程序、关系信息和定制输入信息中的一个或多个来将与选择的UI元素类似的其它用户界面元素转换成其它可行令牌。
在另一情形中,选定用户界面元素中的另一个。这个UI元素可以是加亮用户界面元素之一。规则模块可基于UI元素选择来对规则执行一个或多个任务。在一个情形中,可修改或产生规则以排除UI元素。在另一情形中,可基于该选择来取消选择规则。例如,规则可被设置为不与注销交互、日程表交互、调色板交互等中的一个或多个的令牌交互,或可被设置为不创建注销交互、日程表交互、调色板交互等中的一个或多个的令牌。
使用这些方法,输入模块可接收选择输入,以选择所呈现的网页的用户界面元素。规则模块可使用选择输入作为样本,来创建在扫描期间相应的用户界面元素的显式选择或取消选择的一个或多个规则。如上面提到的,这可通过基于规则产生令牌或不产生令牌来实现。如所提到的,规则可以是非常特定的,例如单个用户界面元素所特定的,或较不特定的,例如与用户界面元素相关联的类所特有的。
在一个示例中,客户端可进行选择。例如,希望测试应用的客户端可注意确保web应用的重要部分被测试。此外,因为这是在整个扫描发生之前,它可节省时间。一次可选择零个、一个或多个UI元素,且可使用各选项之一。规则可被自动更新和提炼或基于额外的输入来更新。
视觉化模块116可基于新的一组规则来重新运行具有加亮UI元素的网页的加载。因此,新的一组UI元素可在被呈现时被加亮。之后,可使用更新的规则和从更新的规则产生的令牌来执行扫描。在一些示例中,以使用新规则和老规则的爬行开始,重新测试web应用。在其它示例中,web应用可仅使用用于产生额外的令牌和/或确定在扫描期间要移除的一个或多个令牌的新规则被重新爬行。扫描器112可接着使用令牌来扫描web应用。
在一个示例中,视觉化模块116与系统的扫描部分分离。因此,在web应用的爬行期间创建/更新的规则库可被保存并发送到视觉化模块116。视觉化模块在对web应用进行操作时可使用规则库。可在web应用的该部分的呈现期间修改/更新规则库。然后,规则库可以以例如配置文件、可扩展标记语言(XML)格式中等保存。规则库可接着被提供到扫描器,以产生令牌并执行扫描。可在视觉化模块116和/或扫描器上实现这些特征中的一个或多个。
处理器130,例如中央处理单元(CPU)或适合于获取并执行指令的微处理器和/或电子电路,可被配置成执行本文描述的模块110、112、114、116、118、120、122中的任一个的功能。在某些情形中,指令和/或例如令牌信息、规则等的其它信息可包括在存储器132或其它存储器中。输入/输出模块134可另外由计算系统100b提供。例如,诸如键盘、传感器、触摸界面、鼠标、麦克风等之类的输入设备140可用于从计算系统100b周围的环境接收输入。此外,例如显示器的输出设备142可用于向用户呈现信息。输出设备的示例包括扬声器、显示设备、放大器等。此外,在某些实施例中,一些部件可用于实现本文所述的其它部件的功能。
模块110-122中的每一个可包括例如硬件设备,硬件设备包括用于实现本文所述的功能的电子电路。此外或作为可选方案,每个模块110-122可被实现为在计算系统100的机器可读存储介质上编码并由处理器130可执行的一系列指令。应注意,在一些实施例中,一些模块被实现为硬件设备,而其它模块被实现为可执行指令。
图2是根据一个示例的用于分析web应用的结构以产生供呈现的可行令牌的计算系统的框图。在这个示例中,计算系统200可包括用于模拟针对web应用204的用户界面元素采取的用户操作的扫描器202。Web应用204可被加载到浏览器布局引擎206中,并由文档分析器208根据一组规则210来分析。视觉化模块250可用于显示在爬行期间在网页上找到的用户令牌。视觉化模块250也可基于用户界面改变激活规则、产生规则、去激活规则、激活排斥规则等。可使用至少一个处理器和存储器来实现计算系统200的一个或多个部件。此外,可利用一个或多个计算机来实现部件中的每一个,或部件中的每一个可在单个计算系统上实现。
扫描器202可将web应用204的定位符或标识符(例如通用资源定位符(URL))发送到浏览器布局引擎206。浏览器布局引擎206可基于URL来加载web应用204。在一些示例中,浏览器布局引擎206可以是web浏览器或被配置成作为计算系统200的部分而工作的修改浏览器。Web应用204的示例包括日程表应用、电子邮件界面、新闻页面、例如流视频、生产率应用等的其它内容资源。
扫描器202可接着模拟在web应用204的用户界面元素上的用户行动。模拟可以是随机的或基于预定义的设置。当文档分析器208遍历web应用204的结构时,模拟可出现。模拟可用于帮助文档分析器208确定一个或多个规则激活,以产生可行令牌。因此,文档分析器208基于规则来遍历web应用204的结构,以将web应用204的复杂DOM转换成一组可行令牌。相应的可行令牌可包括可改变基于web应用204而呈现的用户界面的web应用的一部分。可改变用户界面的web应用的部分的示例可包括键盘事件的目标、点击事件的目标、其它可行元素等。在一些示例中,可行元素可包括JavaScript对象。
在一个示例中,文档分析器208可根据所模拟的行动确定特定类型的框架存在于web应用204上。在一个示例中,框架是其中可通过用户代码选择性地改变提供一般功能的软件以提供专用软件的抽象。这可通过使用所模拟的行动确定与框架相关联的选择器存在而发生。可基于这个方法来确定多个框架。Web框架的示例包括jQuery、YUI Lobrary、Dojo工具箱、MooTools、原型JS框架、Ajax、Web可访问性提议(WAI)——可访问的富互联网应用(ARIA)和Flash。框架可进一步被粒化成版本,因为版本变化可影响能力和相关联的选择器。
可为所识别的每个框架启用一组选择器。在一个示例中,也可启用一些默认选择器。在另一示例中,当识别出框架时,可启用所有相关联选择器。在又一示例中,当与框架相关联的选择器被识别出时,框架被识别出。
而且,可基于关于web应用204可搜索的内容来过滤选择器。例如,知道jQuery存储关于选择器的信息的方式,文档分析器208可通过查询jQuery的高速缓存存储器结构来得到选择器的列表。高速缓存存储器结构可基于jQuery发布来改变。
在一个示例中,为了找到相关联的选择器,文档分析器可评估jQuery.cache[window.document[jQuery.expando]]的JS代码。结果可以是包含DOM元素的选择器的JS对象的阵列,DOM元素是鼠标和/或键盘事件的有效目标。这个示例可基于jQuery 1.6。在jQuery 1.7中,改变内部结构,因此可编写更复杂的JS代码以得到相关联元素。可特别针对特定类型的框架来编写这种类型的代码。在某些示例中,jQuery可被称为框架,且1.6和1.7可被称为框架的版本或类型。当找到特定的框架时,可基于框架的细节针对可行令牌分析web应用204。例如web应用代码的处理的其它方法可用于确定特定框架的存在。而且,文档分析器208的规则可被实现,以自动检测一个或多个框架并获取相关联元素的列表。
当分析web应用204时,确定越来越多的选择器。如所提到的,规则可用于确定一般的、框架特定的或实现方式特定的选择器(例如从高速缓存存储器退出的选择器)。然后文档分析器208可使用令牌化特征来试图找到被激活的选择器的作用和位置。使用选择器,文档分析器208和/或扫描器202可寻找在web应用204上的令牌。如上面提到的,在某些示例中,令牌代表DOM元素,DOM元素为鼠标或键盘事件或可以用任何其它方式被调用、评估或修改的JS实体的有效目标。可为每个选择器找到一组令牌。在一些示例中,这组可以是空的。令牌可包括令牌的定位符和可对令牌执行的/由令牌执行的一个或多个作用或行动。
因此,当被实现时,规则可激活至少一个选择器,且该至少一个选择器可返回至少一个可行令牌。而且,相应的可行令牌可包括相关联定位符和与相应的可行令牌相关联的一组被允许的行动。此外,当文档分析器208确定特定类型的代码在web应用上是可执行的(例如框架的确定)时,文档分析器208可基于特定类型的代码(例如框架)来确定至少一个被允许的行动。这可例如通过启用相关联选择器并接着试图基于选择器找到令牌和元素来发生。
如所示,这组令牌可被发送到视觉化模块250。视觉化模块250可将web应用加载到浏览器布局引擎中。视觉化模块250可接着呈现web应用(例如页面或链接)的一部分,其中该部分的一个或多个用户界面元素基于这组可行令牌和规则而被加亮。这可通过遍历具有在适当地方的规则/令牌的部分并接着基于与在该部分上找到的相应令牌相关联的定位符信息而加亮区段来完成。在一些示例中,视觉化模块250可被实现为在web浏览器上的插件。因此,网页/web应用信息和/或令牌/规则信息可被传送到可远离系统200的其它部件(例如扫描器或文档分析器)的视觉化模块250。
此外,如上面提到的,可接收输入,以通过与一个或多个所示用户界面元素交互来产生或修改规则。在一个示例中,用户界面元素已经被加亮。这个UI元素被选择。选择可用于创建排斥关系,以排除特定的UI元素和/或像那个UI元素一样的UI元素。可选择参数和/或属性,来确定什么UI元素像UI元素一样。
而且,在一个示例中,没有加亮被选择的UI元素。UI元素可基于选择被加亮。当被加亮时,可基于UI元素的分析来创建和/或激活规则。规则也可以是可定制的。例如,规则可以只针对在特定位置上的特定元素,针对任何地方的UI元素,针对共享特定的属性、标签、标识符、特征、类名等的UI元素。
处理器,例如中央处理单元(CPU)或适合于获取并执行指令的微处理器和/或电子电路,可被配置成执行本文描述的任何部件的功能。在某些情形中,指令和/或例如令牌、web应用、规则等的其它信息可包括在存储器中。每个部件可包括例如硬件设备,硬件设备包括用于实现本文所述的功能的电子电路。此外或作为可选方案,每个部件可被实现为在机器可读存储介质上编码并由处理器可执行的一系列指令。应注意,在一些实施例中,一些模块被实现为硬件设备,而其它模块被实现为可执行指令。
图3A和图3B是根据各示例的规则和令牌的框图。图3A示出规则对象300。规则对象300可以是结构、类等。每个规则可与关联谓词302和选择器304相关联。选择器304可包括一组一个或多个选择器306a-306n。选择器304、306a-306n检查DOM并返回可行DOM实体的序列。不是所有选择器306a-306n都需要与单个规则相关联。关联谓词302用于激活或去激活规则。在一个示例中,当文档分析器正在web应用上执行时,从扫描器爬行可用于确定规则是否是相关联的。在一些示例中,指纹可由在web应用上使用的一个或多个框架留下。这可被分析,以确定哪些规则与应用相关联。在其它示例中,扫描器可爬过应用并随机地选择应用上的对象。对象可被分析,以确定规则是否是相关联的。选择器的示例包括CSS选择器306a、JavaScript选择器306b和jQuery选择器306n。在一个示例中,规则可与特定类型的jQuery版本相关联。因此,当将规则考虑为相关联的时,可检查jQuery高速缓存存储器,以确定要启用的选择器。
图3B示出令牌对象350。令牌对象350可以是结构、类等。令牌对象350可包括一个或多个行动352以及定位符354。令牌对象350可定义应该是扫描器的行动目标的DOM实体。位置确定通过例如XPath 360、属性362(例如ARIA)、TruClient 364等的各机制是可能的。操作或行动可基于DOM元素而改变。例如,可行令牌可与鼠标事件356、键盘事件358或其它用户界面改变事件(例如执行JS代码)相关联。
察看浏览器中的正常web应用,可能难以看见什么区域可被爬行或选择。图4A是根据一个示例的、用于呈现与所发现的可行令牌相关联的加亮用户界面元素的用户界面400的框图。附有事件处理程序的元素或以另一方式识别的元素(例如察看特定属性、标签名称等的存在的规则)由工具加亮。
在图4A的示例中,用户界面元素JS按钮(JS BUTTON)402a、402b、设置按钮(SETTINGS BUTTON)402c、注销用户(LOGOFF USER)404、链接(LINK)406a-406n、日程表(CALENDAR)408a、408b、搜索字段(SEARCH FIELD)410a、字段(FIELD)410b、图片(PICTURE)412存在。在这里,粗体用户界面元素404、406a-406n、408a、408b、410a和410b被加亮,这是因为UI元素使用默认的一组规则被发现。然而,如JS按钮402a和设置按钮402c的按钮不被加亮。这些按钮可导致扫描器将遗漏的应用的相当大的部分使用标准规则集。此外,注销用户404和日程表428a、b被加亮。这些UI元素—如果与web应用交互—可将web应用置于不想要的状态中。例如,日程表428a可导致要遍历的无限循环,且注销用户404按钮可限制扫描的结果,因为用户在扫描期间被注销。
图4B是根据一个示例的、用于呈现与所发现的可行令牌相关联的修改的加亮用户界面元素的用户界面的框图。这个用户界面420包括用户界面元素JS按钮(JSBUTTON)422a、422b、设置按钮(SETTINGS BUTTON)422c、注销用户(LOGOFFUSER)424、链接(LINK)426a-426n、日程表(CALENDAR)428a、428b、搜索字段(SEARCH FIELD)430a、字段(FIELD)430b、图片(PICTURE)412。在这里,用户选择注销用户424、JS按钮422a和日程表428a。这些可用于修改用于在爬行中通过创建排除和/或包括新UI元素的规则来产生令牌的这组规则。
在一个示例中,当UI元素例如JS按钮422a遗漏时,规则修改外接附件检测与该UI元素相关联的公共类名的存在。这可被添加到当前规则。例如,用于找到其它UI元素的Jquery选择器规则可被修改,以将那个类名添加在它的搜索中。如上面讨论的其它方法可用于添加/移除UI元素。
图4C是根据一个示例的、用于呈现与所发现的可行令牌相关联并基于修改的用户界面元素的加亮用户界面元素的用户界面的框图。该用户界面440包括用户界面元素JS按钮(JS BUTTON)442a、442b、设置按钮(SETTINGS BUTTON)442c、注销用户(LOGOFF USER)444、链接(LINK)446a-446n、日程表(CALENDAR)448a、448b、搜索字段(SEARCH FIELD)450a、字段(FIELD)450b、图片(PICTURE)412。在这里,加亮被选择的JS按钮442a。此外,因为JS按钮442b和设置按钮442c共享相同的类或由规则使用的其它识别信息,因此每个也可被加亮。而且,日程表448a、448b不被加亮,因为日程表448a被选择并与日程表448b共享相关联规则要找到并排除的识别信息。此外,注销用户424链接被选择且注销用户444被取消选择。然而,规则是与注销功能相关联的UI元素所特有的,因为其它链接446a-446n仍然被加亮。在一个示例中,通过产生UI元素所特有的定位符,规则可以是UI元素所特有的。
可完成选择的额外重复和规则更新,以进一步提炼可以是活跃的规则。此外,用户可点击链路和/或按钮,以转到web应用的其它部分,并也基于那些用户界面元素来更新规则。
图5是根据一个示例的、用于引起web应用的一部分的呈现的方法的流程图,其中用户界面元素基于可行令牌被加亮。方法500的执行可由系统100、200、计算设备600执行,或可利用用于执行方法500的其它适当的部件。此外,用于执行方法500的部件可在多个设备当中扩展。方法500可以以存储在机器可读存储介质(例如存储介质620)上的可执行指令的形式和/或以电子电路的形式来实现。
在方法500期间,web应用被加载到浏览器布局引擎中(502)。扫描器可模拟在web应用的应用界面元素上的用户行动(504)。在模拟期间,可遍历并分析web应用的结构(506)。可遍历Web应用的复杂DOM,以更新用于确定扫描的一组可行令牌的规则。可行令牌可包括可基于web应用来改变用户界面的web应用的一部分。
在508,引起web应用(例如一个网页或多个网页)的一部分的呈现。基于如在图4A-4C中进一步示出的规则来加亮网页的一个或多个用户界面元素。此外或可替代地,这可基于在爬行期间找到的一组可行令牌来完成。可在用于扫描web应用的系统或另一计算系统处(例如在开发者或客户端的计算设备处)引起呈现。
在510,接收选择输入,以选择在该部分(例如网页)上呈现的一个或多个用户界面元素。在一个示例中,用户界面元素不是加亮用户界面元素的部分。在另一示例中,用户界面元素是加亮用户界面元素的部分。
在512,选择的用户界面元素与规则相关联。规则可以是单个元素所特有的或在多个元素上起作用。一些规则可以是排除元素或排除这组元素被令牌化。其它规则可使其它UI元素被识别出并产生相应的其它UI元素的令牌。因此,可使规则基于与选择的用户界面元素相关联的信息来确定与选择的用户界面元素类似的其它用户界面元素是否应转换成其它可行令牌。如上面提到的,信息可包括与用户界面元素相关联的类型、与用户界面元素相关联的访问标识符、与用户界面元素相关联的一个或多个事件处理程序和在DOM内的关系信息(例如父母、孩子等)中的一个或多个。
在一些示例中,可对web应用的其它部分执行方法块508、510和512,和/或再次对web应用的相同部分执行方法块508、510和512,以进一步提炼规则。在514,扫描器可基于规则来遍历web应用的结构,且可执行额外的用户行动,以确定额外的可行令牌。扫描器可接着基于所找到的可行令牌来执行扫描。
图6是根据一个实施例的、能够引起与可行令牌相关联的加亮用户界面元素的呈现的计算系统的框图。计算系统600包括例如处理器610和机器可读存储介质620,机器可读存储介质620包括用于引起交互式界面的呈现以确定产生可行令牌的规则的指令622、624、626、628。计算系统600可以例如是笔记本计算机、平板计算设备、便携式阅读设备或任何其它计算设备。
处理器610可以是至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、至少一个图形处理单元(GPU)、适合于获取并执行存储在机器可读存储介质620中的其它硬件设备或其组合。例如,处理器610可包括位于芯片上的多个核心,包括在多个芯片之间的多个核心、在多个设备之间的多个核心(例如,如果计算设备600包括多个节点设备)或其组合。处理器610可获取、解码和执行指令622、624、626、628,以实现方法500。作为可选方案或除了获取和执行指令以外,处理器610还可包括至少一个集成电路(IC)、其它控制逻辑、其它电子电路或其组合,这些包括用于执行指令622、624、626、628的功能的多个电子部件。
机器可读存储介质620可以是包含或存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。因此,机器可读存储介质可以是非临时性的。此外,机器可读存储介质620可被划分成在多个机器或处理器上执行的单独的部分或存储器。如在本文更详细描述的,机器可读存储介质620可使用用于引起web应用的部分的呈现的一系列可执行指令而被编码,该部分的一个或多个用户界面元素基于用于确定可行令牌的一组规则而被加亮。
网页指令622可用于加载并利用web应用。这可例如在浏览器布局引擎中完成。扫描指令624可被执行,以模拟在web应用的用户界面元素上的用户行动。在模拟期间,分析器指令626可被执行,以基于规则和用户行动遍历web应用的结构,来分析web应用的复杂DOM。这可被促使更新可用于确定一组可行令牌的规则。相应的可行令牌可包括可基于web应用来改变用户界面的web应用的一部分。
视觉化指令628可用于引起web应用的一部分的呈现,其中该部分的一个或多个用户界面元素基于更新的规则而被加亮,以确定可行令牌。可与该呈现交互。在一个示例中,利用选择输入来选择在该部分上呈现的用户界面元素。在这个情形中,选择的UI元素不是加亮用户界面元素的部分。选择的用户界面元素与规则相关联。规则可以是新的或旧的。规则可用于基于与选择的用户界面元素相关联的信息,在扫描期间将与选择的用户界面元素类似的其它用户界面元素转换成可行令牌。如上面提到的,信息可包括下列项中的至少一个:与用户界面元素相关联的类型、与用户界面元素相关联的访问标识符、与用户界面元素相关联的一个或多个事件处理程序、DOM内的关系信息。
呈现和交互可被执行多次,以提炼待使用的规则。然后,扫描指令624可基于规则和额外的用户行动来遍历web应用,以分析复杂DOM来确定可行令牌。这些可行令牌可基于默认规则、更新的规则和/或与UI元素相关联的规则。可以用类似的方式产生/修改多个规则。
使用上面的方法,可以以快速、全面、有效的方式扫描web应用。Web应用可进一步被视觉化,以在扫描结束之前显示使用规则找到什么用户界面元素。然后可更新和/或定制规则。由于界面的简单性,普通用户可点击web应用的、普通用户认为应被包括/排除的部分,且规则可在运行中被发展以捕捉这些UI元素以及类似的元素。

Claims (15)

1.一种系统,包括:
浏览器布局引擎,用于加载web应用;
扫描器,用于模拟在所述web应用的用户界面元素上的用户行动;
文档分析器,用于基于规则遍历所述web应用的结构,并更新用于将所述web应用的复杂文档对象模型转换成一组可行令牌的所述规则;以及
视觉化模块,用于呈现所述web应用的一部分,所述部分的一个或多个用户界面元素基于被更新的规则被加亮。
2.如权利要求1所述的系统,进一步包括:
输入模块,用于接收选择输入,以选择呈现在所述部分上的用户界面元素但不选择被加亮的用户界面元素的部分;
规则模块,用于产生或修改规则,以基于与所选择的用户界面元素相关联的信息,将与所选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌。
3.如权利要求2所述的系统,其中所述规则模块基于所述信息确定公共类名,并确定所述规则包括所述公共类名。
4.如权利要求2所述的系统,其中所述规则模块基于属性、标签、标识符和类中的至少一种来产生或修改所述规则。
5.如权利要求4所述的系统,其中所述规则自动产生而无需额外的规则输入。
6.如权利要求1所述的系统,进一步包括:
输入模块,用于接收选择输入,以选择呈现在所述部分上的用户界面元素但不选择被加亮的用户界面元素的部分;以及
标记模块,用于给用于创建规则的用户界面元素加标记;以及
元素信息模块,用于产生并促使存储与所述用户界面元素相关联的类型、与所述用户界面元素相关联的访问标识符、与所述用户界面元素相关联的一个或多个事件处理程序以及所述文档对象模型内的关系信息。
7.如权利要求6所述的系统,进一步包括:
规则模块,用于产生或修改规则,以基于所述类型、访问标识符、所述一个或多个事件处理程序、所述关系信息以及定制的输入信息,将与所选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌。
8.如权利要求1所述的系统,进一步包括:
输入模块,用于接收选择输入,以选择呈现在所述部分上的用户界面元素;以及
规则模块,用于利用所述选择输入作为样本,来创建在安全扫描期间相应的用户界面元素的显式选择或取消选择的一个或多个规则。
9.如权利要求8所述的系统,其中所述规则被设置为不与注销交互、日程表交互和调色板交互中的至少一种进行交互。
10.一种非临时性机器可读存储介质,用于存储指令,所述指令如果由计算系统的至少一个处理器执行则使所述计算系统:
在浏览器布局引擎中加载web应用;
模拟在所述web应用的用户界面元素上的用户行动;
基于规则和所述用户行动遍历所述web应用的结构,以分析所述web应用的复杂文档对象模型(DOM),来更新用于确定一组可行令牌的规则,其中相应的可行令牌包括所述web应用中的、能改变基于所述web应用而呈现的用户界面的部分web应用;以及
促使呈现所述web应用的一部分,该部分的一个或多个用户界面元素基于被更新的、用于确定所述可行令牌的规则而被加亮。
11.如权利要求10所述的非临时性机器可读存储介质,进一步包括指令,该指令如果由所述至少一个处理器执行则使所述计算系统:
接收选择输入,以选择呈现在所述部分上的用户界面元素但不选择被加亮的用户界面元素的部分;以及
使所选择的用户界面元素与规则相关联,其中所述规则被促使基于与所选择的用户界面元素相关联的信息,将与所选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌。
12.如权利要求11所述的非临时性机器可读存储介质,其中所述信息包括下列至少之一:与所述用户界面元素相关联的类型、与所述用户界面元素相关联的访问标识符、与所述用户界面元素相关联的一个或多个事件处理程序以及所述文档对象模型内的关系信息。
13.如权利要求11所述的非临时性机器可读存储介质,进一步包括指令,该指令如果由所述至少一个处理器执行则使所述计算系统:
基于所述规则和额外的用户行动遍历所述web应用的结构,来分析所述复杂DOM,以确定额外的可行令牌。
14.一种方法,包括:
在浏览器布局引擎中加载web应用;
模拟在所述web应用的用户界面元素上的用户行动;
基于规则和所述用户行动遍历所述web应用的结构,来分析所述web应用的复杂文档对象模型(DOM),以更新用于确定一组可行令牌的规则,其中相应的可行令牌包括所述web应用中的、能改变基于所述web应用而呈现的用户界面的部分web应用;
促使呈现所述web应用的一部分,该部分的一个或多个用户界面元素基于被更新的规则被加亮;
接收选择输入,以选择呈现在所述部分上的用户界面元素;
使所选择的用户界面元素与规则相关联,其中所述规则被促使基于与所选择的用户界面元素相关联的信息,确定是否应将与所选择的用户界面元素类似的其它用户界面元素转换成其它可行令牌;以及
基于所述规则和额外的用户行动遍历所述web应用的结构,来分析所述复杂DOM,以确定额外的可行令牌。
15.如权利要求14所述的方法,其中所述信息包括下列至少之一:与所述用户界面元素相关联的类型、与所述用户界面元素相关联的访问标识符、与所述用户界面元素相关联的一个或多个事件处理程序以及所述文档对象模型内的关系信息。
CN201380071980.8A 2013-02-25 2013-02-25 基于规则呈现用户界面元素 Expired - Fee Related CN104956375B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/027634 WO2014130048A1 (en) 2013-02-25 2013-02-25 Presentation of user interface elements based on rules

Publications (2)

Publication Number Publication Date
CN104956375A true CN104956375A (zh) 2015-09-30
CN104956375B CN104956375B (zh) 2018-04-03

Family

ID=51391672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380071980.8A Expired - Fee Related CN104956375B (zh) 2013-02-25 2013-02-25 基于规则呈现用户界面元素

Country Status (4)

Country Link
US (1) US9910992B2 (zh)
EP (1) EP2959401A4 (zh)
CN (1) CN104956375B (zh)
WO (1) WO2014130048A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121581A (zh) * 2016-10-26 2018-06-05 微软技术授权有限责任公司 自我学习的用户界面
CN111078337A (zh) * 2019-11-27 2020-04-28 用友网络科技股份有限公司 样式调整方法、系统及计算机可读存储介质
CN114416238A (zh) * 2021-12-28 2022-04-29 成都易达数安科技有限公司 一种基于动态布局技术的仪表盘智能配置方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092261A2 (en) * 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
US10152552B2 (en) * 2013-01-29 2018-12-11 Entit Software Llc Analyzing a structure of a web application to produce actionable tokens
CN104956375B (zh) * 2013-02-25 2018-04-03 慧与发展有限责任合伙企业 基于规则呈现用户界面元素
US20150205464A1 (en) * 2014-01-22 2015-07-23 Microsoft Corporation Updating a user interface to a service
US10079831B1 (en) * 2016-03-10 2018-09-18 EMC IP Holding Company LLC Qualified web application security based on web application hierarchy
CN106529286A (zh) * 2016-10-17 2017-03-22 杭州迪普科技股份有限公司 一种行为检测方法和装置
US10956573B2 (en) * 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US10848498B2 (en) 2018-08-13 2020-11-24 Capital One Services, Llc Systems and methods for dynamic granular access permissions
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
CN113254751B (zh) * 2021-06-24 2021-09-21 北森云计算有限公司 一种复杂网页结构化信息精确提取方法、设备及存储介质
CN114063993B (zh) * 2022-01-12 2022-07-26 北京智象信息技术有限公司 一种焦点移动处理方法、系统及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007009210A1 (en) * 2005-07-22 2007-01-25 Cognos Incorporated Rich web application input validation
US20100094860A1 (en) * 2008-10-09 2010-04-15 Google Inc. Indexing online advertisements
US7913163B1 (en) * 2004-09-22 2011-03-22 Google Inc. Determining semantically distinct regions of a document
CN102523288A (zh) * 2011-12-16 2012-06-27 北京视博云科技有限公司 一种为终端设备提供网页服务的系统与方法
CN102918491A (zh) * 2010-06-10 2013-02-06 微软公司 在用户界面内再现不兼容内容

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687874B2 (en) * 1998-10-05 2004-02-03 Nexpress Solutions Llc System for generating and maintaining field service publications
US7054952B1 (en) 1999-12-09 2006-05-30 International Business Machines Corp. Electronic document delivery system employing distributed document object model (DOM) based transcoding and providing interactive javascript support
ATE414943T1 (de) * 2000-03-03 2008-12-15 Ibm System zur bestimmung von schwächen von web- anwendungen
US7895583B2 (en) * 2000-12-22 2011-02-22 Oracle International Corporation Methods and apparatus for grammar-based recognition of user-interface objects in HTML applications
US20030120719A1 (en) * 2001-08-28 2003-06-26 Yepishin Dmitriy V. System, method and computer program product for a user agent for pattern replay
US7975296B2 (en) 2002-02-07 2011-07-05 Oracle International Corporation Automated security threat testing of web pages
US7039899B1 (en) 2002-03-27 2006-05-02 Oracle International Corporation System and method for automatically generating a script for testing software
US7877681B2 (en) 2002-12-05 2011-01-25 Borland Software Corporation Automatic context management for web applications with client side code execution
US7552109B2 (en) 2003-10-15 2009-06-23 International Business Machines Corporation System, method, and service for collaborative focused crawling of documents on a network
US20060070075A1 (en) * 2004-09-03 2006-03-30 Sergei Rodionov Server-recorded macros and web application automation
WO2006058075A2 (en) 2004-11-22 2006-06-01 Truveo, Inc. Method and apparatus for an application crawler
US7369129B2 (en) * 2005-06-13 2008-05-06 Sap Aktiengesellschaft Automated user interface testing
US8201251B2 (en) * 2005-08-12 2012-06-12 Nxp B.V. Software application verification method and system
US8650345B2 (en) 2006-10-30 2014-02-11 Microsoft Corporation Web configurable human input devices
US20080120305A1 (en) 2006-11-17 2008-05-22 Caleb Sima Web application auditing based on sub-application identification
US20080208817A1 (en) * 2006-11-20 2008-08-28 Yapta, Inc. System and Method for Retrieving Data Using Agents in a Distributed Network
TW200825835A (en) 2006-12-13 2008-06-16 Inst Information Industry System and method of detecting web page vulnerability and recording medium thereof
US8510813B2 (en) * 2006-12-15 2013-08-13 Yahoo! Inc. Management of network login identities
US9009829B2 (en) * 2007-06-12 2015-04-14 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for baiting inside attackers
US8494832B2 (en) 2007-06-20 2013-07-23 Sanjeev Krishnan Method and apparatus for software simulation
US20100188335A1 (en) 2007-06-28 2010-07-29 Telefonaktiebolaget L M Ericsson (Publ) Navigation Handling within Web Pages
US8601586B1 (en) 2008-03-24 2013-12-03 Google Inc. Method and system for detecting web application vulnerabilities
CN101572598B (zh) * 2008-04-28 2013-03-06 国际商业机器公司 用于可靠的快速集成的方法和装置
US7922344B2 (en) 2008-09-02 2011-04-12 Avery Dennison Corporation Metallized retroreflective sheeting with increased daytime brightness
JP5424614B2 (ja) 2008-11-07 2014-02-26 キヤノン株式会社 情報処理システム、情報処理装置、Webサーバ、制御方法、及びプログラム
US7962547B2 (en) 2009-01-08 2011-06-14 International Business Machines Corporation Method for server-side logging of client browser state through markup language
US20100211865A1 (en) * 2009-02-19 2010-08-19 Microsoft Corporation Cross-browser page visualization generation
US8555391B1 (en) * 2009-04-25 2013-10-08 Dasient, Inc. Adaptive scanning
US8365290B2 (en) 2009-05-15 2013-01-29 Frederick Young Web application vulnerability scanner
US8332763B2 (en) * 2009-06-09 2012-12-11 Microsoft Corporation Aggregating dynamic visual content
US8924943B2 (en) 2009-07-17 2014-12-30 Ebay Inc. Browser emulator system
US8255384B2 (en) * 2009-09-30 2012-08-28 Fujitsu Limited Client-tier validation of dynamic web applications
US8676966B2 (en) 2009-12-28 2014-03-18 International Business Machines Corporation Detecting and monitoring server side states during web application scanning
US9160737B2 (en) * 2010-02-26 2015-10-13 Microsoft Technology Licensing, Llc Statistical security for anonymous mesh-up oriented online services
CN101808093B (zh) 2010-03-15 2013-08-07 北京安天电子设备有限公司 一种对web安全进行自动化检测的系统和方法
US9104809B2 (en) * 2010-03-24 2015-08-11 Fujitsu Limited Facilitating automated validation of a web application
US20110252405A1 (en) * 2010-04-10 2011-10-13 Ilan Meirman Detecting user interface defects in a software application
US20120017274A1 (en) 2010-07-15 2012-01-19 Mcafee, Inc. Web scanning site map annotation
US20120016991A1 (en) * 2010-07-15 2012-01-19 Lmr Inventions, Llc System and method for managing network resource requests
US8938721B2 (en) * 2010-07-21 2015-01-20 Microsoft Corporation Measuring actual end user performance and availability of web applications
US9021047B2 (en) 2010-07-31 2015-04-28 Unwired Planet, Llc Method and system for delivering embedded objects in a webpage to a user agent using a network device
GB2497018A (en) * 2010-08-10 2013-05-29 Ibm A method and system to automatically testing a web application
KR20120051419A (ko) * 2010-11-12 2012-05-22 삼성전자주식회사 종속형 스타일 시트 규칙 추출 장치 및 방법
US9208054B2 (en) 2011-02-14 2015-12-08 Fujitsu Limited Web service for automated cross-browser compatibility checking of web applications
WO2012166113A1 (en) * 2011-05-31 2012-12-06 Hewlett-Packard Development Company, L.P. Automated security testing
US8683596B2 (en) * 2011-10-28 2014-03-25 International Business Machines Corporation Detection of DOM-based cross-site scripting vulnerabilities
US9391832B1 (en) 2011-12-05 2016-07-12 Menlo Security, Inc. Secure surrogate cloud browsing
US20130227396A1 (en) * 2012-02-24 2013-08-29 Microsoft Corporation Editing content of a primary document and related files
GB201205117D0 (en) * 2012-03-23 2012-05-09 Saasid Ltd Dynamic rendering of a document object model
US8782431B2 (en) * 2012-03-24 2014-07-15 Mach 1 Development, Inc. Digital data authentication and security system
US8752183B1 (en) 2012-07-10 2014-06-10 Hoyt Technologies, Inc. Systems and methods for client-side vulnerability scanning and detection
US8793806B1 (en) * 2012-07-13 2014-07-29 Google Inc. Systems and methods to selectively limit access only to a subset of content, identified in a whitelist, of a library of content
US9317693B2 (en) 2012-10-22 2016-04-19 Rapid7, Llc Systems and methods for advanced dynamic analysis scanning
US10152552B2 (en) * 2013-01-29 2018-12-11 Entit Software Llc Analyzing a structure of a web application to produce actionable tokens
CN104956375B (zh) * 2013-02-25 2018-04-03 慧与发展有限责任合伙企业 基于规则呈现用户界面元素
US9846781B2 (en) * 2013-04-19 2017-12-19 Entit Software Llc Unused parameters of application under test
US9699142B1 (en) 2014-05-07 2017-07-04 Amazon Technologies, Inc. Cross-site scripting defense using document object model template
US10110622B2 (en) * 2015-02-13 2018-10-23 Microsoft Technology Licensing, Llc Security scanner

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7913163B1 (en) * 2004-09-22 2011-03-22 Google Inc. Determining semantically distinct regions of a document
WO2007009210A1 (en) * 2005-07-22 2007-01-25 Cognos Incorporated Rich web application input validation
US20100094860A1 (en) * 2008-10-09 2010-04-15 Google Inc. Indexing online advertisements
CN102918491A (zh) * 2010-06-10 2013-02-06 微软公司 在用户界面内再现不兼容内容
CN102523288A (zh) * 2011-12-16 2012-06-27 北京视博云科技有限公司 一种为终端设备提供网页服务的系统与方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121581A (zh) * 2016-10-26 2018-06-05 微软技术授权有限责任公司 自我学习的用户界面
CN111078337A (zh) * 2019-11-27 2020-04-28 用友网络科技股份有限公司 样式调整方法、系统及计算机可读存储介质
CN111078337B (zh) * 2019-11-27 2023-08-29 用友网络科技股份有限公司 样式调整方法、系统及计算机可读存储介质
CN114416238A (zh) * 2021-12-28 2022-04-29 成都易达数安科技有限公司 一种基于动态布局技术的仪表盘智能配置方法
CN114416238B (zh) * 2021-12-28 2023-08-25 成都易达数安科技有限公司 一种基于动态布局技术的仪表盘智能配置方法

Also Published As

Publication number Publication date
CN104956375B (zh) 2018-04-03
WO2014130048A1 (en) 2014-08-28
US20150356302A1 (en) 2015-12-10
US9910992B2 (en) 2018-03-06
EP2959401A4 (en) 2016-09-28
EP2959401A1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
CN104956375A (zh) 基于规则呈现用户界面元素
CN104956362B (zh) 分析web应用程序的结构
US8856100B2 (en) Displaying browse sequence with search results
CN104391786B (zh) 网页自动化测试系统及其方法
US20130204874A1 (en) Hyper Adapter and Method for Accessing Documents in a Document Base
US20110289407A1 (en) Font recommendation engine
Silva et al. A survey on the tool support for the automatic evaluation of mobile accessibility
US9684718B2 (en) System for searching for a web document
CN108027721B (zh) 用于使用控件来配置通用程序的技术
CN109308254B (zh) 一种测试方法、装置及测试设备
Chen et al. Widget identification: a high-level approach to accessibility
CN110162457A (zh) 用户界面的测试方法、装置、设备及存储介质
US10460019B2 (en) Computer implemented system and method for transforming web content for display on multiple form factors
Watanabe et al. Acceptance tests for validating ARIA requirements in widgets
Mao et al. User behavior pattern mining and reuse across similar Android apps
Swearngin et al. Genie: Input Retargeting on the Web through Command Reverse Engineering
Nguyen et al. Varis: IDE support for embedded client code in PHP web applications
Cunha et al. KLM-GOMS detection of interaction patterns through the execution of unplanned tasks
Yang et al. Developer portraying: A quick approach to understanding developers on OSS platforms
Kiesel et al. WASP: web archiving and search personalized
Watanabe et al. Fona: Quantitative metric to measure focus navigation on rich internet applications
Oliveira pytest Quick Start Guide: Write better Python code with simple and maintainable tests
Bakaev et al. Integration platform for metric-based analysis of web user interfaces
CN112464092A (zh) 一种信息推荐方法、装置、计算机设备和存储介质
Mazinanian et al. Style-Guided Web Application Exploration

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160919

Address after: Texas, USA

Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

Address before: Texas, USA

Applicant before: HEWLETT-PACKARD DEVELOPMENT Co.,L.P.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180612

Address after: California, USA

Patentee after: Antiy Software Co.,Ltd.

Address before: Texas, USA

Patentee before: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Utah, USA

Patentee after: Weifosi Co.,Ltd.

Address before: California, USA

Patentee before: Antiy Software Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180403

CF01 Termination of patent right due to non-payment of annual fee