如果您想了解为Web应用程序选择JavaAutomation测试工具和web应用软件需要测试的内容的知识,那么本篇文章将是您的不二之选。我们将深入剖析为Web应用程序选择JavaAutomation测
如果您想了解为Web应用程序选择Java Automation测试工具和web应用软件需要测试的内容的知识,那么本篇文章将是您的不二之选。我们将深入剖析为Web应用程序选择Java Automation测试工具的各个方面,并为您解答web应用软件需要测试的内容的疑在这篇文章中,我们将为您介绍为Web应用程序选择Java Automation测试工具的相关知识,同时也会详细的解释web应用软件需要测试的内容的运用方法,并给出实际的案例分析,希望能帮助到您!
本文目录一览:- 为Web应用程序选择Java Automation测试工具(web应用软件需要测试的内容)
- .NET Web应用程序的安全漏洞测试工具
- .net – 如何使用AutoIt或Windows UI Automation单击应用程序中的按钮
- 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
- c# – 我们应该为Windows应用程序选择Java或.Net技术的哪些因素?
为Web应用程序选择Java Automation测试工具(web应用软件需要测试的内容)
我是Web自动化测试工具的新手。我想自动化我的网络功能测试。
请建议我一些网络自动测试工具。我想使用Java编写自动化测试工具。
我访问了以下站点,以选择一个好的工具,但是由于我不知道,很难为我选择一个合适的工具。 http://java-source.net/open-
source/web-testing-tools
谁能建议我一个很好的网络测试工具?
答案1
小编典典对于Web测试,请使用Selenium(WebDriver)。它可能是
GoogleCode 上用于此目的的最佳工具
****
您可以在Google上找到许多示例,并在
**seleniumhq.org** 上找到文档,
这对初学者很有帮助。
.NET Web应用程序的安全漏洞测试工具
解决方法
Skipfish – 开源自动化Web应用程序扫描程序
http://code.google.com/p/skipfish/
积极发展和维护
GrendelScan – 开源自动Web应用扫描器
http://grendel-scan.com/
Netsparker社区版
http://www.mavitunasecurity.com/communityedition/
免费,限量版的Netsparker
RatProxy
不拦截代理,执行外发现
http://code.google.com/p/ratproxy/
这里有几个让你开始.
最好的方法是进行手动测试,并使用自动化测试来覆盖“低挂水果”场景.
.net – 如何使用AutoIt或Windows UI Automation单击应用程序中的按钮
我正在使用vb.net开发一个Windows窗体应用程序与.NET Framework 4.
我的目标:
>使用Process.Start打开calculator.exe
>使用所有vb.net代码,可以点击5 5 =
我不想使用SendKeys作为一种方法.
经过研究,这个链接提供了一个很好的开端:
本教程(用C#编写)与我正在使用vb.net所做的工作非常相似:
> How to click a button in another application
有人可以提供一个关于如何处理这个问题的指针吗?我真的很感激.
我尝试了两种方法:
> Windows UI Automation
> AutoIt
AutoIt是我使用的,因为它对我的具体应用程序更可靠.
但是,Windows UI也是如此.这里有两个解决方案.
使用Windows UI自动化的步骤:
>使用Spy识别按钮的控制ID
>添加对UIAutomationClient和UIAutomationTypes的引用
>将aeDesktop设置为root ae元素并调用按钮点击
Imports System.Windows.Automation Imports System.Threading Imports System.Diagnostics Public Class Form1 Private aeDesktop As AutomationElement Private aeCalculator As AutomationElement Private ae5Btn As AutomationElement Private aeAddBtn As AutomationElement Private aeEqualsBtn As AutomationElement Private p As Process Private Sub Button1_Click(sender As System.Object,e As System.EventArgs) Handles Button1.Click Try 'Set reference to the root ae element - the desktop aeDesktop = AutomationElement.RootElement 'Launch Calculator application p = Process.Start("C:\Windows\System32\calc.exe") '********** Keep looping while waiting to get the reference to the "Calculator" on Desktop ************************************ Dim numwaits As Integer = 0 Do Debug.WriteLine("Looking for Calculator . . . ") aeCalculator = aeDesktop.FindFirst(TreeScope.Children,New PropertyCondition(AutomationElement.NameProperty,"Calculator")) numwaits += 1 Thread.Sleep(100) Loop While aeCalculator Is nothing AndAlso numwaits < 50 If aeCalculator Is nothing Then Throw New Exception("Failed to find Calculator") Else Debug.WriteLine("Found the Calculator Application!") End If '********************************************************************************************************************************* 'NOTE: In spy++ Controlids are represented as hex (i.e. 00000087) - need to convert these to decimal (i.e. 135) '`5` btn '00000087 ---> 135 Dim btn5hexID As String = "00000087" Dim btn5decimalID As String = Convert.ToInt32("00000087",16).ToString '`+` btn '0000005D ---> 93 Dim btnAddhexID As String = "0000005D" Dim btnAdddecimalID As String = Convert.ToInt32("0000005D",16).ToString '`=` btn '00000079 ---> 121 Dim btnEqualshexID As String = "00000079" Dim btnEqualsdecimalID As String = Convert.ToInt32("00000079",16).ToString 'Set reference for the `5` Button ae5Btn = aeCalculator.FindFirst(TreeScope.Descendants,New PropertyCondition(AutomationElement.AutomationIdProperty,btn5decimalID)) 'Set reference for the `+` Button aeAddBtn = aeCalculator.FindFirst(TreeScope.Descendants,btnAdddecimalID)) 'Set reference for the `=` Button aeEqualsBtn = aeCalculator.FindFirst(TreeScope.Descendants,btnEqualsdecimalID)) 'Manipulate calculator application by using invoke method to click on buttons Dim ipClick5Btn As InvokePattern = DirectCast(ae5Btn.GetCurrentPattern(InvokePattern.Pattern),InvokePattern) Dim ipClickAddBtn As InvokePattern = DirectCast(aeAddBtn.GetCurrentPattern(InvokePattern.Pattern),InvokePattern) Dim ipClickEqualsBtn As InvokePattern = DirectCast(aeEqualsBtn.GetCurrentPattern(InvokePattern.Pattern),InvokePattern) 'Click 5 ipClick5Btn.Invoke() 'Click + ipClickAddBtn.Invoke() 'Click 5 ipClick5Btn.Invoke() 'Click = ipClickEqualsBtn.Invoke() 'Now calculator should display 10 as a result 'Wait two seconds before closing Thread.Sleep(2000) 'Exit Calculator p.CloseMainWindow() Catch ex As Exception 'Handle any exceptions Debug.WriteLine("Fatal error: " & ex.Message) End Try End Sub End Class
使用AutoIt的步骤:
>识别按钮的ClassnameNN
>获取calc.exe的句柄
>使用ControlClick功能点击按钮
如果使用AutoIt选择完整的安装并下载脚本编辑器.粘贴代码,它应该工作.
> Download AutoIt
;Open up Calculator Run('calc.exe') ;Pause execution until Calculator becomes active window WinWaitactive('Calculator') ;Get the handle for Calculator $hWnd = WinGetHandle('Calculator') ;Using the `Finder Tool`,you can drag and drop it onto controls to see all information (i.e. Text,Class,Handle,etc.) ;`ClassnameNN: Button10` is the number 5 ;`ClassnameNN: Button23` is the addition operator (+) ;`ClassnameNN: Button28` is the equals operator (=) ;***** simple operation will perform 5 + 5 = 10 ************** ;click 5 ControlClick($hWnd,"","[CLASSNN:Button10]") ;click + ControlClick($hWnd,"[CLASSNN:Button23]") ;click 5 ControlClick($hWnd,"[CLASSNN:Button10]") ;click = ControlClick($hWnd,"[CLASSNN:Button28]") ;calculator should Now display 10 as a result ;************************************************************ ;Wait 2 seconds to show result Sleep(2000) ;Close Calculator WinClose($hWnd) Exit
感谢您的意见中的所有帮助和建议.它非常有帮助
2019测试指南-web应用程序安全测试(二)指纹Web应用程序
在阳光下没有任何新东西,几乎每一个人们都可能想到开发的Web应用程序已经开发出来了。随着世界各地积极开发和部署的大量免费和开源软件项目,应用程序安全测试很可能面临完全或部分依赖于这些众所周知的应用程序的目标站点(例如Wordpress, phpBB,Mediawiki等)。了解正在测试的Web应用程序组件对测试过程有很大帮助,并且还将大大减少测试期间所需的工作量。这些众所周知的Web应用程序具有已知的HTML标头,cookie和目录结构,可以枚举这些标识符以识别应用程序。
测试目标
确定Web应用程序和版本,以确定已知漏洞以及在测试期间使用的相应漏洞。
如何测试
饼干
识别Web应用程序的一种相对可靠的方法是使用特定于应用程序的cookie。
请考虑以下HTTP请求:
GET / HTTP / 1.1
用户代理:Mozilla / 5.0(Windows NT 6.2; WOW64; rv:31.0)Gecko / 20100101 Firefox / 31.0
接受:text / html,application / xhtml + xml,application / xml; q = 0.9,* /*;q=0.8
接受语言:en-US,en; q = 0.5
''''''Cookie:wp-settings-time-1 = 1406093286; wp-settings-time-2 = 1405988284''''''
DNT:1
连接:keep-alive
主持人:blog.owasp.org
已自动设置cookie CAKEPHP,它提供有关正在使用的框架的信息。常见cookie名称列表显示在Cpmmon应用程序标识符部分中。但是,可以更改cookie的名称。
HTML源代码
此技术基于在HTML页面源代码中查找某些模式。通常,人们可以找到许多信息,这些信息可以帮助测试人员识别特定的Web应用程序。其中一个常见标记是直接导致应用程序泄露的HTML注释。更常见的是,可以找到某些特定于应用程序的路径,即指向特定于应用程序的css和/或js文件夹的链接。最后,特定的脚本变量也可能指向某个应用程序。
从下面的元标记中,可以轻松了解网站及其版本使用的应用程序。注释,特定路径和脚本变量都可以帮助攻击者快速确定应用程序的实例。
<meta name =“generator”content =“WordPress 3.9.2”/>
更频繁地,此类信息放在<head> </ head>标记之间,<meta>标记中或页面末尾。然而,建议检查整个文档,因为它可用于其他目的,例如检查其他有用的注释和隐藏字段。
特定文件和文件夹
除了从HTML源收集的信息之外,还有另一种方法可以极大地帮助攻击者高精度地确定应用程序。每个应用程序在服务器上都有自己的特定文件和文件夹结构。有人指出,人们可以从HTML页面源看到特定的路径,但有时它们没有明确地显示在那里,仍然驻留在服务器上。
为了揭示它们,使用了称为dirbusting的技术。Dirbusting强制目标具有可预测的文件夹和文件名,并监视HTTP响应以计算服务器内容。此信息既可用于查找默认文件,也可用于攻击它们,也可用于对Web应用程序进行指纹识别。Dirbusting可以通过多种方式完成,下面的示例显示了借助于Burp Suite的已定义列表和入侵者功能,对WordPress驱动的目标进行了成功的dirbusting攻击。
我们可以看到,对于一些特定于WordPress的文件夹(例如,/ wp-includes /,/ wp-admin /和/ wp-content /),HTTP响应是403(禁止),302(找到,重定向到wp-login .php)和200(OK)。这是一个很好的指标,目标是WordPress驱动的。同样可以dirbust不同的应用程序插件文件夹及其版本。在下面的屏幕截图中,可以看到Drupal插件的典型CHANGELOG文件,该文件提供有关正在使用的应用程序的信息,并公开了易受攻击的插件版本。
提示:在开始dirbusting之前,建议先检查robots.txt文件。有时也可以在那里找到特定于应用程序的文件夹和其他敏感信息。下面的屏幕截图显示了此类robots.txt文件的示例。
每个特定应用程序的特定文件和文件夹都不同。建议在渗透测试期间安装相应的应用程序,以便更好地了解所呈现的基础结构以及服务器上可能留下的文件。但是,已经存在几个好的文件列表,一个很好的例子是可预测文件/文件夹的FuzzDB单词列表(http://code.google.com/p/fuzzdb/)。
通用应用程序标识符
饼干
亚历克 | phpbb3_ |
WordPress的 | WP-设置 |
1C-的Bitrix | BITRIX_ |
AMPcms | AMP |
Django CMS | Django的 |
DotNetNuke的 | DotNetNukeAnonymous |
E107 | e107_tz |
EPiServer | EPiTrace,EPiServer |
涂鸦CMS | graffitibot |
Hotaru CMS | hotaru_mobile |
ImpressCMS | ICMSession |
编号Indico | MAKACSESSION |
InstantCMS | InstantCMS [LOGDATE] |
Kentico CMS | CMSPreferredCulture |
镆铘 | SN4 [12symb] |
TYPO3 | fe_typo_user |
Dynamicweb | Dynamicweb |
轻子 | LEP [some_numeric_value] +的sessionid |
维克斯 | 域名= .wix.com |
VIVVO | VivvoSessionId |
HTML源代码
应用 | 关键词 |
---|---|
WordPress的 | <meta name =“generator”content =“WordPress 3.9.2”/> |
亚历克 | <body id =“phpbb” |
Mediawiki的 | <meta name =“generator”content =“MediaWiki 1.21.9”/> |
的Joomla | <meta name =“generator”content =“Joomla! - 开源内容管理”/> |
Drupal的 | <meta name =“Generator”content =“Drupal 7(http://drupal.org)”/> |
DotNetNuke的 | DNN平台 - http://www.dnnsoftware.com |
更多信息https://www.owasp.org/index.php/Web-metadata
工具
下面列出了一般和众所周知的工具。还有许多其他实用程序,以及基于框架的指纹识别工具。
WhatWeb
网站:http : //www.morningstarsecurity.com/research/whatweb
目前市场上最好的指纹识别工具之一。包含在默认的Kali Linux版本中。语言:用于指纹识别的Ruby匹配用于:
- 文本字符串(区分大小写)
- 常用表达
- Google Hack数据库查询(有限的关键字集)
- MD5哈希
- URL识别
- HTML标记模式
- 用于被动和激进操作的自定义ruby代码
示例输出显示在下面的屏幕截图中:
BlindElephant
网站:https ://community.qualys.com/community/blindelephant
这个伟大的工具基于静态文件校验和的版本差异原则,从而提供非常高质量的指纹识别。语言:Python
成功指纹的示例输出:
pentester $ python BlindElephant.py http:// my_target drupal
Loaded /Library/Python/2.7/site-packages/blindelephant/dbs/drupal.pkl包含145个版本,478个区分路径和434个版本组。
在http:// my_target
点击drupal版本启动BlindElephant指纹点击http://my_target/CHANGELOG.txt
文件产生不匹配。错误:检索到的文件与已知指纹不匹配。527b085a3717bd691d47713dff74acf4
点击http://my_target/INSTALL.txt
文件无法匹配。错误:检索到的文件与已知指纹不匹配。14dfc133e4101be6f0ef5c64566da4a4
点击http://my_target/misc/drupal.js
基于结果的可能版本
:7.12,7.13,7.14点击http://my_target/MAINTAINERS.txt
文件产生不匹配。错误:检索到的文件与已知指纹不匹配。36b740941a19912f3fdbfcca7caa08ca
点击http://my_target/themes/garland/style.css
基于结果的可能版本:7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9,7.10,7.11,7.12,7.13,7.14
...
指纹识别结果:
7.14
最佳猜测:7.14
Wappalyzer
网站:http:
//wappalyzer.com Wapplyzer是一款Firefox Chrome插件。它仅适用于正则表达式匹配,除了要在浏览器上加载的页面之外不需要任何其他内容。它完全在浏览器级别工作,并以图标的形式给出结果。虽然有时会出现误报,但在浏览页面后立即使用哪些技术构建目标网站的概念非常方便。
插件的示例输出显示在下面的屏幕截图中。
参考
白皮书
- Saumil Shah:“HTTP指纹识别简介” - http://www.net-square.com/httprint_paper.html
- Anant Shrivastava:“Web应用程序指纹” - http://anantshri.info/articles/web_app_finger_printing.html
整治
一般建议是使用上述几种工具并检查日志,以更好地了解攻击者确切地帮助披露Web框架的内容。通过在更改隐藏框架轨道后执行多次扫描,可以实现更高级别的安全性并确保自动扫描无法检测到框架。以下是框架标记位置和一些其他有趣方法的一些具体建议。
HTTP标头
检查配置并禁用或混淆所有披露技术使用信息的HTTP标头。这是一篇关于使用Netscaler进行HTTP-header混淆的有趣文章:http: //grahamhosking.blogspot.ru/2013/07/obfuscating-http-header-using-netscaler.html
饼干
建议通过更改相应的配置文件来更改cookie名称。
HTML源代码
手动检查HTML代码的内容并删除明确指向框架的所有内容。
一般准则:
- 确保没有透露框架的可视标记
- 删除任何不必要的评论(版权,错误信息,特定框架评论)
- 删除META和发电机标签
- 使用公司自己的css或js文件,不要将它们存储在特定于框架的文件夹中
- 如果必须使用默认脚本,请不要在页面上使用默认脚本或对其进行模糊处理。
特定文件和文件夹
一般准则:
- 删除服务器上任何不必要或未使用的文件。这意味着文本文件也公开了有关版本和安装的信息。
- 限制对其他文件的访问,以便在从外部访问时实现404响应。这可以通过修改htaccess文件并在那里添加RewriteCond或RewriteRule来完成。下面介绍两个常见WordPress文件夹的此类限制的示例。
RewriteCond%{REQUEST_URI} /wp-login\.php$ [OR]
RewriteCond%{REQUEST_URI} / wp-admin / $
RewriteRule $ / http:// your_website [R = 404,L]
但是,这些并不是限制访问的唯一方法。为了使该过程自动化,存在某些特定于框架的插件。WordPress的一个例子是StealthLogin(http://wordpress.org/plugins/stealth-login-page)。
其他方法
一般准则:
- 校验和管理这种方法的目的是击败基于校验和的扫描仪,而不是让它们通过哈希来公开文件。通常,校验和管理有两种方法:
- 更改这些文件的放置位置(即将它们移动到另一个文件夹,或重命名现有文件夹)
- 修改内容 - 即使稍微修改也会产生完全不同的哈希值,因此在文件末尾添加单个字节不应该是一个大问题。
- 控制混乱
一个有趣而有效的方法,涉及从其他框架添加虚假文件和文件夹,以欺骗扫描仪和混淆攻击者。但要小心不要覆盖现有的文件和文件夹,并打破当前的框架!
c# – 我们应该为Windows应用程序选择Java或.Net技术的哪些因素?
我知道一件事,为了实现更好,更快的UI开发,Visual Studio可以提供很多帮助.
解决方法
你的程序员已经习惯了什么?您可能需要哪些第三方库,两个平台上都有哪些?
平台独立性对您很重要吗?
LinQ会有优势吗?
如果你是从头开始,平台的成本?
两个平台周围都有强大的社区……
希望这可以帮助…
关于为Web应用程序选择Java Automation测试工具和web应用软件需要测试的内容的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.NET Web应用程序的安全漏洞测试工具、.net – 如何使用AutoIt或Windows UI Automation单击应用程序中的按钮、2019测试指南-web应用程序安全测试(二)指纹Web应用程序、c# – 我们应该为Windows应用程序选择Java或.Net技术的哪些因素?等相关知识的信息别忘了在本站进行查找喔。
本文标签: