川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

软件测评之输入数据测试

作者:川石学院 日期:2021-09-24 13:44:00 点击数:

  一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就来谈谈关于软件测试中的“输入数据测试”。

对于客户端输入的数据,不能仅仅通过客户端的脚本进行合法性检验,还必须在服务器中对输入的数据进行检验,这样才能真正确保输入数据的合法性。如果仅仅通过客户端的脚本进行检验,是无法起到安全作用的,很容易使用HTTP 代码绕过检验。

软件测评之输入数据测试(图1)

  测试主要包括以下内容:

  1.   SQL 注入测试。

  2.   MML 语法注入测试。

  3.   命令执行测试。

  (1)SQL 注入测试。

  SQL 注入测试主要是针对数据库安全性检验的测试,并不是针对网页代码安全性检验进行测试。这种情况在任何数据库查询环境下都可能存在,常见的数据库包括Oracle、MSSQL、Infomix、DB2、Sybase 等,针对不同的数据库系统,使用的函数有所不同,但从测试的角度来说,一般只需要判断几个最基本的语句即可。SQL 注入测试分为手工注入和自动化注入两种。

  1)手工SQL 注入测试步骤如下(http://192.168.1.9/page.xxx?name=value):

  •   步骤1:确定value 值的类型,如果该值为数字型,即进行步骤2 操作,否则进行步骤4 操作。

  •   步骤2: 在被测参数后加上测试语句“ and 1=1 ”, 在地址栏中输入http://192.168.1.9/page.xxx?name=value and 1=1,观察返回的结果。如果能正确地访问该页面,那么进行下一步操作,否则直接进行步骤4 操作。

  •   步骤3: 在被测参数后加上测试语句“ and 2=3 ”, 在地址栏中输入http://192.168.1.9/page.xxx?name=value and 2=3,观察返回的结果。如果能正确地访问该页面,那么进行下一步操作,否则该参数存在注入漏洞,测试完成。

  •   步骤4: 在被测参数后加上测试语句“'and '1'='1' ”,在地址栏中输入http://192.168.1.9/page.xxx?name=value 'and '1'='1',观察返回的结果。如果能正确地访问该页面,那么进行下一步操作,否则该参数存在注入漏洞,测试完成。

  •   步骤5: 在被测参数后加上测试语句“'and '2'='3' ”,在地址栏中输入http://192.168.1.9/page.xxx?name=value 'and '2'='3',观察返回的结果。如果能正确地访问该页面,说明该参数不存在漏洞,否则该参数存在注入漏洞,测试完成。

  注意:如果存在多个参数,那么需要对每个参数都进行测试。

  2)使用自动化工具也可对SQL 注入进行测试,常用工具为pangolin,测试步骤如下:

  •   步骤1:运行pangolin 工具。

  •   步骤2:在URL 中输入待测试的URL(如http://192.168.1.9/page.xxx?name=value)。

  •   步骤3:单击Check 按钮,执行扫描操作。

  (2)MML 语法注入测试。

  MML(Man-Machine Language,人机语言)实现了人机对话,人机对话是计算机的一种工作方式,多用于电信行业,计算机用户与计算机之间通过控制台或终端显示屏幕,以对话方式进行工作。

  MML 语法也可能存在注入漏洞,MML 语句通过分号(;)可以执行多语句,如命令“DSP CELL:DSPT=BYCELL, CELLID=1111;”,在缺少对输入参数进行严格控制的情况下,攻击者能够执行任意的MML 语句。但是由于在预期结果方面无法给出准确的判断规则,所以测试时无法给出详细的、具体的测试步骤,一般分为以下几步进行测试:

  •   步骤1:找出提交给MML 处理的参数。

  •   步骤2:在参数后面加入分号(;),提交请求。

  •   步骤3:观察返回结果。

  如果结果返回正常,可能就存在该漏洞。但是有一种特殊情况需要注意,如果参数并不是MML执行语句的参数值,结果也可能是正确的,此时就需要测试工程师再进行判断。

  (3)命令执行测试。

  有些页面可以接受类似于文件名的参数用于下载或者显示内容,测试时可以将参数替换成命令进行测试,观察返回的测试结果。

  假设测试的URL 为http://192.168.1.9/test.jsp,可接受参数,并且接受的参数可以是类似于系统命令的字符(如cmd、ls 等)。

  如net user 命令输出如下内容:

软件测评之输入数据测试(图2)

  假设测试URL 为http://192.168.1.9/net user,观察返回的信息,返回的信息中不包括类似于系统命令返回的信息。

今天关于“输入数据测试”的内容就给大家讲解到这里,希望对做这些工作的小伙伴有帮助~欢迎大家每天和我一起学习更多涨薪技能哦。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-09-24 13:44:00
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-09-24 13:44:00
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-09-24 13:44:00
  • 建筑工程专业朱同学成功转行为软件测试人!2021-09-24 13:44:00
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-09-24 13:44:00
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-09-24 13:44:00
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-09-24 13:44:00
  • 文科生转行软件测试照样拿下高薪15K!2021-09-24 13:44:00
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-09-24 13:44:00
  • 毕业1年,迷茫的他最终选择转行软件测试2021-09-24 13:44:00