版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、安全测试工作规范文件状态草稿V正式发布正在修改当前版本V1.0拟制日期2014-03-04审核日期批准日期深圳市XX有限公司二O四年三月-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页修订历史记录A-增加M-修订D-删除变更版本号日期变更类型(A*M*D)修改人摘要备注V1.32014-03-04M修改文档,按照公司目前实际情况进行调整目录TOC o 1-5 h z HYPERLINK l bookmark6 概述5 HYPERLINK l bookmark8 背景简介5 HYPERLINK l bookmark10 适用读者5 HYPERLINK l bookmark
2、4 适用范围5 HYPERLINK l bookmark14 安全测试在项目整体流程中所处的位置6 HYPERLINK l bookmark16 安全测试在安全风险评估的关系说明6 HYPERLINK l bookmark18 注意事项6 HYPERLINK l bookmark20 测试用例级别说明7 HYPERLINK l bookmark22 Web安全测试方法8 HYPERLINK l bookmark24 安全功能验证8 HYPERLINK l bookmark26 漏洞扫描8 HYPERLINK l bookmark28 模拟攻击实验8 HYPERLINK l bookmark30
3、 侦听技术8 HYPERLINK l bookmark32 Appscan工具介绍9 HYPERLINK l bookmark34 AppScan工作原理9 HYPERLINK l bookmark36 AppScan扫描阶段10 HYPERLINK l bookmark38 AppScan工具使用11AppScan工具测试覆盖项说明错误!未定义书签。 HYPERLINK l bookmark76 测试用例和规范标准19 HYPERLINK l bookmark78 输入数据测试20 HYPERLINK l bookmark80 SQL注入测试20 HYPERLINK l bookmark11
4、8 命令执行测试25 HYPERLINK l bookmark120 跨站脚本攻击测试26 HYPERLINK l bookmark122 GET方式跨站脚本测试28 HYPERLINK l bookmark124 POST方式跨站脚本测试29 HYPERLINK l bookmark126 跨站脚本工具实例解析30 HYPERLINK l bookmark150 权限管理测试32横向测试32 HYPERLINK l bookmark152 纵向测试33 HYPERLINK l bookmark160 服务器信息收集38 HYPERLINK l bookmark162 运行账号权限测试38 H
5、YPERLINK l bookmark164 Web服务器端口扫描38 HYPERLINK l bookmark166 文件、目录测试39 HYPERLINK l bookmark168 工具方式的敏感接口遍历39 HYPERLINK l bookmark112 目录列表测试41 HYPERLINK l bookmark170 文件归档测试43 HYPERLINK l bookmark172 认证测试44 HYPERLINK l bookmark174 验证码测试44 HYPERLINK l bookmark176 认证错误提示45 HYPERLINK l bookmark178 锁定策略测试
6、46 HYPERLINK l bookmark180 认证绕过测试47 HYPERLINK l bookmark182 修复密码测试47 HYPERLINK l bookmark184 不安全的数据传输48 HYPERLINK l bookmark186 强口令策略测试49 HYPERLINK l bookmark188 会话管理测试51 HYPERLINK l bookmark190 身份信息维护方式测试51 HYPERLINK l bookmark192 Cookie存储方式测试51 HYPERLINK l bookmark194 用户注销登陆的方式测试52 HYPERLINK l boo
7、kmark196 注销时会话信息是否清除测试53 HYPERLINK l bookmark198 会话超时时间测试54 HYPERLINK l bookmark200 会话定置测试54 HYPERLINK l bookmark202 文件上传下载测试55 HYPERLINK l bookmark204 文件上传测试55 HYPERLINK l bookmark206 文件下载测试56 HYPERLINK l bookmark208 信息泄漏测试57 HYPERLINK l bookmark210 连接数据库的账号密码加密测试57 HYPERLINK l bookmark212 客户端源代码敏感
8、信息测试58 HYPERLINK l bookmark214 客户端源代码注释测试58 HYPERLINK l bookmark216 异常处理59 HYPERLINK l bookmark230 不安全的存储61 HYPERLINK l bookmark232 逻辑测试61 HYPERLINK l bookmark236 其他62 HYPERLINK l bookmark238 4.11.1Class文件反编译测试62 HYPERLINK l bookmark240 本规范所涉及的测试工具62-内部资料,注意保密-第5页共64页-内部资料,注意保密-第5页共64页1概述1.1背景简介为了规避
9、安全风险、规范代码的安全开发,以及如何系统的进行安全性测试,目前缺少相应的理论和方法支撑。为此,我们制定安全测试规范,本规范可让测试人员针对常见安全漏洞或攻击方式,系统的对被测系统进行快速安全性测试。12适用读者本规范的读者及使用对象主要为测试人员、开发人员等。13适用范围IFi目本规范主要针对基于通用服务器的Web应用系统为例,其他系统也可以参考。如下图例说明了一种典型的基于通用服务器的Web应用系统:客户端IWeb服务器ApacheIISmn!:应用服务器TomcatJBoss数据库服务器OracleSqlserver-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页
10、-内部资料,注意保密-第 页共64页本规范中的方法以攻击性测试为主。除了覆盖业界常见的Web安全测试方法以外,也借鉴了一些业界最佳安全实践。安全测试在项目整体流程中所处的位置一般建议在集成测试前根据产品实现架构及安全需求,完成安全性测试需求分析和测试设计,准备好安全测试用例。在集成版本正式转测试后,即可进行安全测试。如果产品质量不稳定,前期功能性问题较多,则可适当推后安全测试执行。安全测试在安全风险评估的关系说明安全风险是指威胁利用漏洞对目标系统造成安全影响的可能性及严重程度。其中威胁是指可能对目标系统造成损害的潜在原因,包括物理环境威胁、人为威胁等。漏洞也称弱点,是应用系统本身存在的,包括系
11、统实现中的缺陷、配置中的漏洞等。外部威胁利用系统的漏洞达到破坏系统安全运行的目的。本规范所描述的安全测试仅是安全风险评估中的一个活动,对应于安全风险评估过程中的漏洞识别部分,特别是技术性的漏洞识别。完整的安全风险评估过程、概念见GB/T20984-2007信息安全技术信息安全风险评估规范。注意事项安全测试的执行,对于被测系统,或多或少都会存在一些影响(比如性能、垃圾数据),只能在测试环境中进行;不允许在正式环境运行,避免系统存在漏洞导致丢失数据和数据库损坏。本规范最主要目的是为了发现安全漏洞,至于发现一个漏洞以后更深一步的渗透测试在这里不会涉及。例如针对暴力破解测试,我们只给出验证存在暴力破解
12、漏洞的可能,但不会提供暴力破解的方法。本文档中所有提及的测试工具的使用,请遵循公司相关规定。如果是内部试验环境进行测试,可以考虑去除一些防护措施或设备(如防火墙),这样能保证发现问题的全面性。本文档根据最严格的方式对目标进行测试,如果项目系统对安全的要求不高且有自身的安全策略规定时,可以视情况对测试项进行部分测试。例如密码策略测试项中,测试人员可以根据测试目标的密码位数要求进行测试,而不需要完全依照测试项里面规定的位数进行测试。测试用例级别说明一个安全漏洞的风险程度受危害程度和概率的影响,我们定义了如下所示的关系:危害程度一发生概率-二L-高中低高高高中中高中低低中低低表1风险等级界定表本测试
13、规范用例根据上面的定义分为四个测试级别:测试用例级别说明一级基本:漏洞,该类用例涉及可能导致风险程度为咼的安全在任何情况下都必须进行测试。二级重要:该类用例涉及可能导致风险程度为中的安全漏洞,在条件允许(时间、人力充沛)情况下必须进行测试。三级一般:该类用例涉及可能导致风险程度为低的安全漏洞,测试结果可能对其他测试有帮助。测试与否根据业务系统的重要性来判断。四级生僻:该类用例涉及可能导致风险程度为极低的安全漏洞,攻击者只能收集到很少且无关紧要的信息。一般情况下不建议进行测试。表2测试用例级别说明表Web安全测试方法安全功能验证功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:
14、用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,不存在安全漏洞,具体方法可使用黑盒测试方法。漏洞扫描漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的一种安全检测(渗透攻击)行为。漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的
15、防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。模拟攻击实验模拟攻击测试是一组特殊的黑盒测试案例,以模拟攻击来验证软件或信息系统的安全防护能力,可使用冒充、重演、消息篡改、服务拒绝等方法来实现。侦听技术在数据通信或数据交互过程,对数据进行截取分析的过程。目前最为流行的是网络数据包的捕获技术。-内部资料,注意保密-第9页共64页-内部资料,注意保密-第9页共64页Appscan工具介绍Appscan扫描工具只能检测到部分常见的漏洞(如跨站脚本、SQL注入等),不是针对用户代码的,也就是说不能理解业务逻辑,无法对这些漏洞做进一步业务上的判断。往往最严重的安全问
16、题并不是常见的漏洞,而是通过这些漏洞针对业务逻辑和应用的攻击。Web目前分为“应用”和“Web服务”两部分。应用指通常意义上的Web应用,而Web服务是一种面向服务的架构的技术,通过标准的Web协议(如HTTP、XML、SOAP、WSDL)提供服务。AppScan工作原理AppScan工作原理:1、通过搜索(爬行)发现整个Web应用结构。2、根据分析,发送修改的HTTPRequest进行攻击尝试(扫描规则库)。3、通过对于Respond的分析验证是否存在安全漏洞。所以,AppScan的核心是提供一个扫描规则库,然后利用自动化的“探索”技术得到众多的页面和页面参数,进而对这些页面和页面参数进行安
17、全性测试。“扫描规则库”,“探索”,“测试”就构成了AppScan的核心三要素。耒争容-IBMRationalAppScan划牛的褊辑旧扫描工具E帮助H)氏日给ib扫描16語跨手旅套色恶誠件sW妾全性问题.接O完全扫描旧跑试基于URL于如上图,单击“扫描”下面的小三角,可以出现如下的三个选型“完全扫描”、“仅探索”、“仅测试”三个名词,该三个类型为AppScan三个核心要素;AppScan是对网站等Web应用进行安全攻击来检查网站是否存在安全漏洞;对网站来说,一个网站存在的页面,可能成千上万。每个页面也都可能存在-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页多个字段(
18、参数),比如一个登陆界面,至少要输入用户名和密码,就是说一个页面存在两个字段,你提交了用户名密码等登陆信息,网站要有地方接受并且检查是否正确,这就可能存在一个新的检查页面。这里的每个页面的每个参数都可能存在安全漏洞,都是被攻击对象,所以都需要检查。这就存在一个问题,我们来负责来检查一个网站的安全性,这个网站有多少个页面,有多少个参数,页面之间如何跳转,我们可能并不明确,如何知道这些信息?访问一个网站的时候,我们需要知道的最重要的信息是哪个?网站主页地址?从网站地址开始,其他页面都可以链接过去,那么可不可以有种技术,告诉了它网站的入口地址,然后它“顺藤摸瓜”,找出其他的网页和页面参数?所以这就是
19、“爬虫”技术,具体说,是“网站爬虫”,其利用了网页的请求都是用http协议发送的,发送和返回的内容都是统一的语言HTML,那么对HTML语言进行分析,找到里面的参数和链接,纪录并继续发送,最终,找到了这个网站的众多的页面和目录。这个AppScan就提供,这里的术语叫“探索”。在使用AppScan的时候,要配置的第一个就是要检查的网站的地址,配置了以后,AppScan就会利用“探索”技术去发现这个网站存在多少个目录,多少个页面,页面中有哪些参数等,简单说,了解网站的结构。“探索”了解了,测试的目标和范围就大致确定了,然后利用规则库(AppScan的扫描规则库,其类似杀毒软件的病毒库),发送各种发
20、送请求,进行安全攻击,这个过程就是“测试”具体可以检查的安全攻击类型都在里面做好了,我们去使用即可。完全测试就是把上面的两个步骤整合起来,“探索”+“测试”在安全测试过程中,可以先只进行探索,不进行测试,目的是了解被测的网站结构,评估范围;然后选择“仅测试”只对前面探索过的页面进行测试,不对新发现的页面进行测试。“完全测试”就是把两个步骤结合在一起,一边探索,一边测试。AppScan扫描阶段Appscan全面扫描包括两个步骤:探索和测试;1、探索阶段:appscan会通过模仿成web用户单击链接并填写表单字段来探索站点(web应用程序或webserver)这就是探索阶段。探索阶段可以遍历每个U
21、RL路径,并分析后创建测试点。既工具会模仿一个用户对被访问的Web应用或Web服务站点进行探测访问,通过发送请求对站点内的链接与表单域进行访问或填写,以获取相应的站点信息。Appscan分析器将会对自己发送的每一个请求后的响应做出判断,查找出任何可能潜在风险的地方,并针对这些可能会隐含风险的响应,确定将要自动生成的测试用例。但是在探测阶段完成后,这些高危区域是否真的隐含着安全缺陷或应做更好的改良,以及这些隐含的风险是处于什么层度的,是需要在测试执行完成后,才能最终得出决论。2、测试阶段:“测试”期间,appscan会发送它在“探索”阶段创建的成千上万个定制的测试请求,通过你定制好的测试策略分析
22、每个测试的响应,最后根据规则识别应用程序中的安全问题,并排列这些安全问题的风险级别。既Appscan是通过测试策略库中对相应安全隐患的检测规则而生成对应的足够全面而且复杂的测试输入(测试用例)。3、扫描阶段:Appscan才是真正的工作起来,他将会把上个阶段的测试用例产生的服务请求陆续的发送出去。然后再检测分析服务的响应结果,从而判断该测试用例的输入,是否造成了安全隐患或安全问题。然后再通过测试用例生成的策略,找出该安全问题的描述,以及该问题的解决方案,同时还报告相关参数的请求发送以及响应结果。AppScan工具使用扫描如果是第一次启动,屏幕中央将会出现一个“欢迎”对话框。在此对话中,可以点击
23、“入门”链接,查看IBMRationalAppScan的“新手入门帮助文档”,如下图:-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页点击“创建新的扫描”,就可以开始扫描任务,选择“常规扫描”为例,如下图:欢迎Rational.AppScan色打开-门啻建新的扫描欢迎使用AppScan最適的扫罰Q上海移动机法系统广西加系统深圳排污申报-0B1930819排污申-aai9FT启动AppScan时显示i选择扫描类型为:Web应用程序扫描,如下图:输入起始URL,如下图:点击“记录”如下图:选择“测试策略”为缺省值,如下图:策略名称描述电含所有测试,式利端口换听辭憫试除外仪限
24、应用程序包含听有应用秤恤别的测试,但侵人盍利端11侦听器测试陰外.包含听有阜础结构哉别的測试,但佞九盍和瑞11侦听器利试際外.住人式包含所有俭人式測试町寵影啊哌务器忌5tl的制试).包含所有AppSumi攜试.WebService包含所有SOAP相关测此枢傥人式知竭1:!侦听器補试除外艾进的今数旬含谨找功可能性椽离的潸适榊选.在时间有阻时对蚱点评怙可能有用.开发苕稱婆包霑一此血功可葩性罹命的应用槿序河试的栢进企时间有限时.对站点评估可能有用选择启动方式为“启动全面自动扫描”,如下图:rajURL和眼务器査录管理测试隼略矽TL&iiHSRiSli恋己働叙”L电口带DC”=*尸印心石冃:|科4仅使
25、耳自动”癖”匸J1(!)ffiffl手戒柿:盂”-.:!1盘将稍后詛HFi-U诂氐“十世口鹦丘T”L匚Jr十亦去实”J取消选择自动保存,点击“是”如下图:录入该网站的用户名和账号,登录系统后,点击“暂停”按钮,如下图:Q皈业曲如園如血抽_yp_一然后,点击“扫描”按钮下的“继续完全扫描”,等待扫描完成,如下图:文件旧糖壹看凹扫猫工ME翹輒同D直Ukse応号門季訪探泰引離濒细kO完全扫管旧Q(S艇旧基于URI-扫描完成后,显示结果,如下图:如的和fiSiV)扫楚工目丁WftiCH)岂Id扫潜亍町手卿垂占恶惑件测艺风朋亚銘扫蛊专戴P国扫範日亩p丨国砖确静制f兀帼Script应与性sdFi:Fi-i
26、l递轴6“.|!FYl记:tegl;j:-ti.|:jjj;i2七ijLirih:.m:+:戛于URLf用的Ifil用程毎职和惟送注另切/CTEL6L0.53ffllO/(W):L2/h*:h-anh-aiJ可心nclsid:dZTcdWe-srfd-LLreiH45S3SWmilQLLLp:RdpxxqnHruvt召ililabciiHL_jj.44WEQipW1HttihLjTbianhdilfiHdEB-im”i曲u_t:,aJisvaServ-ltt昏歸站肄臨蒯-出“嶄KL*=活Ttnu.:*宀仲ii)田凹蹟追切韶fixJ字制捋主At使于晋站帝家赠)IA呀丽ImwipLe比MfflLA
27、lthjbul4HolXhg4hljj*rfzr:m出轴权*仙.-iLM-didlrdLiJgl-.-HtfHtET-KU(Bk*iMmiw1JfrrfcE4曹选项咔和贈希孫matn.JiBirtcr-|JiidqTolaimfPbfFcfnw*iJOdlaIJ-也J_2U1V331hniLTSITIn:J-li,H:fi生成报告”结果列表UHT-1、在工具栏上,单击“报告”,然后选择“安全报告”上海瞬动执法亲绒-sen-EWRartional必文性旧褊辑电驾巷扫描吕日箱IQ扫描”的暂停跨三工具CD帮助(H)国报告同妄全性问题躍任务应用程f锵据基于UR.L*手动测试E运行结果专憲(3扫描涓度程
28、序用户磔的呱试Q询我的应用程库融引白“*Jht切7/3:8010/(443)J/”-“囱sharkghsi(1)(j-_jlEid:d27cdb6e-4&Bd-llc-9&b?扩展笛(E)PohverToolCP)翻Q”.2、选择模板:管理综合报告、详细报告、修复任务、开发者、QA、站点目录。注:可以通过你所需要的内容,在右侧树中选择你报告所有体现的内容Lff合规一改性培呈廿护宝全报告厅还底基于翹旅告荽埜布局匚疋报旨內答営理摘妾抿告(整平担柱)E匚女兰性叫題bE交倍青求/响应刁户注聲左旳应中莊示验证屏幕快照西询和吃订建议BE:J2F7匚立每一“问题1血”丘换豆=HP修宜忏科F區市冃稈竜錚T扌居
29、7应用稈竜UKL&脚本蜃数&中断槌強団注肆JJavaScrip-.Jcookie3、从最低严重性列表中,选择要包含在报告中的问题最低严重性级别。振告冀型布局模板:定制欖板最低严重性:则试类型:沏每个问题的变体数限制最參娈体:1在每一“问题VRL后换页日&抿告内容臣管理摘要振告(整个扫拥日叵妄全性问题&娈体匡请求/响应Z用户注释Z在响应中显示验证巫屏幕快照日咨询和修订建後.NETJ2EETHF催夏任务日叵应用程库埶据&应用程序UUL&脚本参数団中断糙接JJavaScriptcool;1e4、点击保存报告,自动生成报告;报告提供PDA或WORD格式的保存。-内部资料,注意保密-第 页共64页-内部
30、资料,注意保密-第 页共64页测试用例和规范标准测试用例和规范标准可分为主动模式和被动模式两种。在被动模式中,测试人员尽可能的了解应用逻辑:比如用工具分析所有的HTTP请求及响应,以便测试人员掌握应用程序所有的接入点(包括HTTP头,参数,cookies等);在主动模式中,测试人员试图以黑客的身份来对应用及其系统、后台等进行渗透测试,其可能造成的影响主要是数据破坏、拒绝服务等。一般测试人员需要先熟悉目标系统,即被动模式下的测试,然后再开展进一步的分析,即主动模式下的测试。主动测试会与被测目标进行直接的数据交互,而被动测试不需要,参考以下示意图:初始化被动模式信息获取Web结构获取熟悉业务逻辑数
31、据破坏拒绝服务身份仿冒归档测试主动模式权限测试日志检查参数分析-造成的影响信息泄漏完成备后份台文查件找目录列表会接话口管测理试上传下载逻拒辑绝处服理务认证测试异注信跨暴认常入息站力证处测窃脚破绕理试取本解过越权操作4.1输入数据测试4.1.1SQL注入测试SQL注入是针对一种数据库而言的,而不是针对网页语言。在任何使用了数据库查询环境下都可能存在。常见的数据库包括:MSSQL、Oracle、Informix、Db2、Access、Sybase等。-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的
32、查询字符串,最终达到欺骗服务器执行恶意的SQL命令。SQL注入受到的威胁,(但不限于)以下几种情况:数据泄漏修改现有数据插入新数据任意的文件系统访问A任意的网络访问系统泄漏针对不同的数据库系统使用的一些函数会有所不同,不过从测试是否存在SQL注入的角度考虑,只需要进行几个最基本的判断语句就可以了。编号Web_01测试用例名称手工SQL注入测试测试目的由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而定)甚至可能造成数据修改、删除,从而导致业务中断。因此必须发现所有存在的注入点。用例级别一级测试条件1、Web业务运行正常2、已知待测目标URL,假设为 HYPERLINK /pag
33、e.xxx /page.xxx3、待测目标存在参数输入,假设为name=value执行步骤1、观察参数的值value是否为数字型。如果是数字型进行数字型测试,否则跳到第4步进行字符型测试(例如如果出现a那说明是字符型,如果出现2则将其当做数字型测试)2、将被测参数后加上测试语句“and1=1”,即:地址栏中填入“ HYPERLINK /page.xxx?name=value /page.xxx?name=valueand1=1”,女口果返回正确页面则进行下一步操作,否则跳到第4步。3、将被测参数后加上测试语句“and1=2”(这里以第n个参数为例),其他参数保持不变,即:地址栏中填入 HYPE
34、RLINK /page.xxx /page.xxx?name=valueand1=2”,如果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试4、将被测参数后加上测试语句and1=1”,即:地址栏中填入“ HYPERLINK /page.xxx /page.xxx?name=valueandT=l,女口果返回正确页面则进行下一步操作,否则该参数存在注入漏洞,完成测试5、将被测参数后加上测试语句“and1=2”,即:地址栏中填入“ HYPERLINK /page.xxx /page.xxx?name=valueandT=2,女口果返回正确页面则不存在漏洞,否则该参数存在注入漏洞,完成
35、测试预期结果不存在注入点备注1、页面可能接受多个参数,需对每个参数都进行测试2、如果客户端脚本对输入数据进行合法行校验,阻止非法数据,可以通过方法(通过WebScarab拦截并修改参数值),绕过客户端数据校验。3、POST、AJAX以及隐藏域提交参数也需要测试(方法是通过WebScarab拦截HTTP请求,找到提交的参数并参照上面的方法修改参数值)4、本测试包含了现有最常见的两种测试方法测试结果编号Web_02测试用例名称自动化工具SQL注入测试测试目的由于SQL注入有可能造成信息泄漏,在严重情况下(根据使用的数据库而定)甚至可能造成数据修改、删除,从而导致业务中断。因此必须发现所有存在的注入
36、点。用例级别一级测试条件1、Web业务运行正常2、已知待测目标URL,假设为 HYPERLINK /page.xxx /page.xxx3、待测目标存在参数输入,假设为name=value4、测试用机安装了pangolin测试工具执行步骤1、运行pangolin2、在URL输入框中输入 HYPERLINK /page.xxx2nametvalue /page.xxx2nametvalue3、点击Check按钮执行扫描操作4、观察结果-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页预期结果Pangolin工具不能得到目标服务器的注入类型和数据库类型。备注页面可能接受多个参
37、数,需对每个参数都进行测试测试结果SQL注入实例解析例1:,密码:Demo1234)网站地址, HYPERLINK http:/demo http:/demo.(用户名:jsmith使用下面的代码,登陆系统的管理员用户Username二or1=1-andpassword二demo1234PERSON禹LOnlineBankingLoginUssrnsmasPassrd:AltoroMutualUVAJtaTID.b材沱呵匕LcoLiiit呂Linirn=rveYi已时ir已cgctTen!53我;:TLan:;2Fucti::引(in口料=HelloAdminUserW.kcm*baAJtc-
38、raMutu.lDrdin*.VcfwAcrount口eballsi|*|皿询Poli|EacuritvEtaLsrncartg10l3AJtaroMutualCnc.ThAltoraiMubjiklihpuhhiih-adbyIBMCiarpEirtiDnFarth*nalapurpaa*dFdarnanatrHbingkhafFBclivainai.aFAppScaninda-tckingww匕laphcHkionvulnariihilib:thatyoucunrio-snlciadsndusetxsscanthis-rb-Jte.This=JteIsnotarealbankingsite
39、,Sirnilar巾芒eIF&ny.g出indportyproductsandiorvrbsltasorepurdyKwrrHntpaFKnyland.吐hr*mr=rimpli*JCBlMaavn=LanyriakinrsJLisntoyaurubw口Fthiaiwbaifca.FcrAddiEiE-ialTarmBnF*J.!,eie-toTrmi_Ccpynghk20L3.BMU口rpcfhnn.Qllnghkar*i.BrvBd例2:公司某系统的扫描结果如下:4SQL主入C21)http:/2.2.20T:80S8/plat/pages/platform/newhYcontent/wo
40、rkfolwljiid.ynamic.j5pCl)Olmbh匚同匿闻駆的酉a|科住订注说14*诂求强QL注入htlpLA,2J.2207;80B&WaVpai3e5j,platform/newTih.cani&nt,workfglwL.ImJ&h可fl益負茅帥脚烘黴据库录目和表hmbj下图为扫描工具判断,我们系统存在发出去的请求响应包含了SQLServer错误,表明测试所插入的危险字符渗透了应用程序并到达SQL查询本身;|M何世E息|计曰间0民LJ建取|卅vsh!SHf=s:书刊碾弓老上芋Miirtw謹eraajnSST3&肖sffuimnPOSTjgilaz-/pa(g-5/platrora
41、/newnliJcontent/dtSFolLnKiyajalc:.-spTliahh-TSle-ad96-口即”8.$少-斗.312niMVlTlflt2Dl-l-HT7F/11Daalei*:EXESIDt4I3-2LB4I3ED9-9lfiTQCZOlCTSAD口隘QTd=:匸3;.urar-YETZM;osk丄.pirdl;aaakd.!.&irc.lonxn鳥工-.:;=kT,二牡AalriKT一一1;rxldAZjE-fl.Oii.HE!CX3.UTEri.-DD;.OZ;Iata-TaTli.5)Cemtent-Typt-appLicaEiESi-x-uww-tons-iiTle
42、-Ticaili-d.Fjtferer:Fit旳:ME-E.WEP:吕阳s/platfornunemn/ccziGeTiTiiisaarfcrolvLnclyziBnlc.3si;1e-id5fl-4=-45-HSb-ad74-a57bHLl曲iH-甲:i”F=L-乾异:三r“-i.ih-siini鈕h&4473】-iiBE-qcS-占SL-JT6rf5TLEII匹ah*L七筮Dl=kis:*5的4*剧&”空:”w*ltd=Ml由切含3L5ar4t馆溟:这拥和Hit断342了应用程辰轻魅341苣瞬身壮I应用程朝旻到曲注KTTP/1.15QIdtaxjiaJLSbe-vaf3rccrCilXAE
43、iE-LfiZi.4794.5wrvA;J.1Caclit-COffiDFDl:u-cfiFZlieEiqpirw:Thu,QI-jbd1970ODrdO:DCiTEc-ntfcnt-TvnfcT*xrz./hCEiZ:-rh=i-kEUTra如上图,根据对应的路径,我们找到对应的文件,如下图:0page1anquage=ava*pageEnccdlng=UIF-E*cacem:T5rpe=*i:eH3/h.rrd;charser=UTr-8impert-scaxssboandanplatfc工m,uiziLTOAKeasa-greNotice和dequesc-?ectctribute*二IE
44、_Qff匚crue):regusscbetAtrtsibute彳*33idHisession.getId0)IrtqruestsrtAttrilMJte(ireTitleT,法笹宜柠世p)?requ-3t_=tAttrihutefS冃0巴盘丁ER_FTU曲?true);includE11Le-k/jMge3/ebcm1,aannrrn/headerBsp1*%eju-=5t-setAttritrutc(*CUB.RErT_FROCE5SER,Pjedt-szbewnda-plistformruti1,heLeirActiODHrlper,ijrtShareld();requssl-眈cAcre
45、ibuce(I=EFBJE二IKESAcclaaBeLpErHeplerAatiaiielperftuilLcnE-gEUIiiETiicEill.geuyLGCLCiiHRlpe:;StEinardphh-h.=pleroetUaer?ermiasiDtiaS)getUserI)getDepirtrciLt()r:亡rut直匕匸匚ibuttPcfcQbhq.d亡:pbh);Stringlrbh=equesE.oeE?ararerer(lrhn1);_SrEingsurieisql=new5mngEiLZer(j;331appendk?y-FWZBHnrd已匚日=弓【wsy=TiE3C!,:诅
46、日上丘二匕工口已帀pvar*P_PAj5ETTFO_,,Ai_n!fCEKT!1口gth=,pep,P5=ope=,,Breqoe3ttcdyhack-grsunjltDriiLsparenr;atejct-drc口:ration:nonerimahDtler-rtidKnsopzopzopzopa当前工具判断“lmbh”这个参数有存在SQL注入的风险,存在了5种变体那么,我们可以选择其中一个变体,在浏览器上打开对应的页面,如下图: HYPERLINK 3:8010/plat/pages/platform/newmh/content/workfolwLm 3:8010/plat/pages/p
47、latform/newmh/content/workfolwLmdynamic.jsp?lmbh二b844791e-ad96-4c45-a65b-4d76e857b811%a5%20having%201=1-却旧4iEj苗匹右宫JJliT?碌3M曲止pwVfe血-S上揮樓辽列坯菲gH?P因*去确芒3d&2ik直月:匚買耳*所以,在扫描工具中,会判断可能会导致SQL注入的可能原因,开发人员可以通过工具的提示信息,进行修改;昇SQL注入严重性:高类型:应用程序级别测试WASC威胁分类:吕QL注A.CVE标识:不适用CWE标识:89S安全风险:可能会查看、修改或删除数擔曄条目和表可能原因未对用户输入
48、正确执行危噬宇符清理4.1.2命令执行测试编号Web_03测试用例名称命令执行测试测试目的某些页面可能接受类似于文件名的参数用于下载或者显示内容。-内部资料,注意保密-第 #页共64页-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页用例级别1测试条件1、Web业务运行正常2、已知某页面URL(假设为 HYPERLINK /abc.jsp%ef%bc%89%e6%8e%a5%e6%94%b6%e5%8f%82%e6%95%b0%ef%bc%8c%e4%b8%94%e5%8f%82%e6%95%b0 /abc.jsp)接收参数,且参数中接收类似于系统命令的字符(假设为cmd
49、=ls)执行步骤1、更改参数的值为其他命令,可以尝试以下一些字符串:netuseripconfigcat/etc/passwd2、观察页面返回信息。比如使用netuser命令的话,页面中可能包含类似于如下的字符串:host的用户帐户Administrator预期结果页面的源代码中不包含类似于系统命令的返回信息。备注参考资料4.2跨站脚本攻击测试“跨站点脚本编制”攻击是一种隐私违例,可让攻击者获取合法用户的凭证,并在与特定Web站点交互时假冒这位用户。跨站点脚本编制受到的威胁,(但不限于)以下几种情况:当用户查看基于攻击者提供的内容而动态生成的页面时,他们会不知不觉地执行恶意脚本;在用户的会话c
50、ookie失效之前,攻击者就能接管用户会话;攻击者可以将用户连接到攻击者选择的恶意服务器上;攻击者诱导用户访问由攻击者提供的URL,从而导致在用户的浏览器中执行攻击者选择的脚本或HTML。通过使用这种技术,攻击者可以使用访问过此URL的用户的特权来采取行动,诸如对底层SQL数据库发出查询并查看其结果。E1)通过匚-iti自il或HTTP将5E使用偷来的廖壬向门信息伪装成该舟F白寸锥接发给用户f4在用尸毫不知情的情况下,脚本将闻厂的go。ki已和session信息发送出去User2)用户将嵌入的脚本当做数据发送的浏览器执行脚本后,返回数据在上图中,恶意攻击者(这里使用E表示)通过E-
51、mail或HTTP将某银行的网址链接发给用户(银行用表示),该链接中附加了恶意的脚本(上图步骤一);用户访问发来的链接,进入银行网站,同时,嵌在链接中的脚本被用户的浏览器执行(上图步骤二、三);用户在银行网站的所有操作,包括用户的cookie和session信息,都被脚本收集到,并且在用户毫不知情的情况下发送给恶意攻击者(上图步骤四);恶意攻击者使用偷来的session信息,伪装成该用户,进入银行网站,进行非法活动(上图步骤五)。因此,只要Web应用中,有可被恶意攻击者利用执行脚本的地方,都存在极大的安全隐患。黑客们如果可以让用户执行他们提供的脚本,就可以从用户正在浏览的域中偷到他的个人信息、
52、可以完全修改用户看到的页面内容、跟踪用户在浏览器中的每一个动作,甚至利用用户浏览器的缺陷完全控制用户的机器。-内部资料,注意保密-第 #页共64页-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页4.2.1GET方式跨站脚本测试编号Web_XSS_01测试用例名称GET方式跨站脚本测试测试目的由于跨站脚本会导致会话被劫持、敏感信息泄漏、账户被盗,严重时甚至造成数据修改、删除,从而导致业务中断,因此需检测跨站脚本是否存在用例级别一级测试条件1、Web业务运行正常2、已知待测目标URL,假设为 HYPERLINK /page.xxx /page.xxx3、待测目标存在参数输入
53、,假设为name=value4、在某种情况下,用户输入被重新显示在网页上,包括名字、帐号、检索结果等等(说明目标网站服务器并没有对用户提交数据检测)执行步骤1、在输入的参数后逐条添加以下语句,以第一条为例,输入/page.xxx?name=scriptalert(123456)/script只要其中一条弹出显示123456的告警框,就说明存在跨站漏洞,记录漏洞,停止测试。2、如果没有弹出显示123456的告警框,则在返回的页面上单击鼠标右键,选择“查看源文件”3、查找网页源文件中是否包含完整的字符串scriptalert(123456)/script,则不管有没有弹出显示123456的告警框,
54、都表明存在跨站脚本漏洞。由于有些HTML元素(比如textarea或”)会影响脚本的执行,所以不一定能够正确弹出123456告警框,需要根据返回网页源文件的内容,构造value的值,比如多行文本输入框:/textareascriptalert(123456)/script文本输入框:scriptalert(123456)/scriptXscriptalert(123456)/scriptscriptalert(123456)/script/titlescriptalert(123456)/script-scriptalert(123456)/scriptimgjavascript:alert(
55、123456)/imgscripscripttalert(123456)/scrip/scriptt/divScriptalert(123456)/script预期结果不存在跨站脚本漏洞备注需要对页面上所有可以提交参数的地方进行测试。具体跨站脚本的测试语句根据实际情况的不同而不同,这里列出了一些最常见构造语句。AppScan可以找出扫描到的页面的绝大部分跨站脚本漏洞,但对没有扫描到的网页就无能为力了。测试结果422POST方式跨站脚本测试编号Web_XSS_02测试用例名称POST方式跨站脚本测试测试目的由于跨站脚本会导致会话被劫持、敏感信息泄漏、账户被盗,严重时甚至造成数据修改、删除,从而导
56、致业务中断,因此需检测跨站脚本是否存在用例级别一级测试条件1、Web业务运行正常2、已知待测目标URL,假设为 HYPERLINK /page.xxx /page.xxx3、待测目标以POST方式提交参数,显示为表单方式4、在某种情况下,用户输入被重新显示在网页上,包括名字、帐号、检索结果等等(说明目标网站服务器并没有对用户提交数据检测)执行步骤1、在POST表单中逐条输入以下语句,只要其中一条弹出显示123456的对话框,就说明存在跨站漏洞,记录漏洞,停止测试。scriptalert(123456)/scriptimgjavascript:alert(123456);/img2、如果没有弹出
57、显示123456的告警框,则在返回的页面上单击鼠标右键,选择“查看源文件”-内部资料,注意保密-第 页共64页-内部资料,注意保密-第 页共64页3、查找网页源文件中是否包含完整的字符串scriptalert(123456)/script,则不管有没有弹出显示123456的告警框,都表明存在跨站脚本漏洞。由于有些HTML元素(比如textarea或”)会影响脚本的执行,所以不一定能够正确弹出123456告警框,需要根据返回网页源文件的内容,构造value的值,比如/textareascriptalert(123456)/scriptscriptalert(123456)/scriptscrip
58、talert(123456)/script/titlescriptalert(123456)/script一scriptalert(123456)/scriptimgjavascript:alert(123456)/imgscripscripttalert(123456)/scrip/scriptt/divScriptalert(123456)/script预期结果不会弹出显示123456的对话框。备注需要对页面上所有可以提交参数的地方进行测试。测试结果4.2.3跨站脚本工具实例解析例:公司某系统的扫描结果如下(获取cookie信息):0睛站直脚不镰制C2T5)跨站点脚本騙制CV弟盛虫胞评甘P
59、3f耳車I临时I_Kttp:/0T:80B8/plat(1)PplatURL:h11|D.07803ElJplal祭Cat冷竝隣:譽譚鵜踴囂黑器弟昶轡酬樂用户.炳枕客响应中首馆包含所注砒瞻Appscan。如杲T方的用恙快席显示了注期瘁所产生的强出Sf口的按愼KfflS应用裡序易賀到“聘版瞬瘁霸.刑攻苛。如杲不是诵执行罠下抿作以竖吐斓汨:,打开”第孑昭应”送好了羊击”在T1觅器中昼示“然后童百是否合出现弹出関I1。诵汀力一哪I丁魁mrr:til.加乂一r俟貝有(制注入魄揪讲去试耳帧號誘ITTT喷器中右程卑击査右目代玛另存也2;椅童原胡Mit响应中啓瞬1本的有克!性a下图为扫描工具判断,我们系统开
60、发代码中可能出现下面的代码语句(具体可以打开对应的文件查看),这种代码可能会让黑客进行跨站点攻击;惊始测试响应丈P,您询可丽面不存在或拜融生异韋.4P,廿divld=m3g-3cle=dlapl7:nene:raddLnj:5Eix;mararLn:5MfpxOpx5s)k;toactarouml-color:fCaEifT:Lext-align:left;borde-z-:dshedIps;/pLat/1,-Xsc-r-iptSalertjS14=1a)/script测iitiT血申成躺羯林.:.且一旦在用户齐曉器申询页面,轨合出行此I啊“弦意味看应用程席易站睛站点I殍澜制攻击。、”已捋路径
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程EPC合同模板
- 公司采购合同会签制度
- 单位采购员轮岗制度
- 医院社工采购管理制度
- 急救类设备快速采购制度
- 副食品采购奖惩制度
- 办公设备采购制度及流程
- 学校食品采购验收制度
- 2026年山东省青岛市青岛大学附中自主招生化学模拟试卷(3月份)(含答案)
- 交通运输实验指导书 课件 第3章 道路交通基础实验实训
- 人教统编版六年级语文下册第二单元《习作:写作品梗概》公开课教学课件
- 2026年3月山东济南轨道交通集团运营有限公司社会招聘备考题库附参考答案详解(典型题)
- 2026内蒙古环投集团社会招聘17人笔试备考试题及答案解析
- 2026年高考物理二轮复习:专题16 热学(复习讲义)(全国适用)(原卷版)
- TSG 08-2026 特种设备使用管理规则
- 2026年安徽粮食工程职业学院单招职业技能考试题库附答案详细解析
- DBJ-T36-073-2026 江西省装配式建筑评价标准
- 2026年全国教育工作会议精神学习传达与贯彻落实指南
- 劳务工奖惩制度
- 投资项目《项目建议书》《可性研究报告》等编制服务方案投标文件(技术方案)
- 5.1《阿Q正传》课件+2025-2026学年统编版高二语文选择性必修下册
评论
0/150
提交评论