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

软件测试之输入数据测试

作者:川石学院 日期:2021-03-15 16:00:15 点击数:

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

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

        测试主要包括以下内容:  SQL 注入测试。  MML 语法注入测试。  命令执行测试。 (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 按钮,执行扫描操作。 预期结果为 pangolin 工具不能获得目标服务器的注入类型和数据库类型。

        (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 命令输出如下内容: \\LDB 的用户账户 ------------------------------------------------------------------------------- _vmware_user_ Administrator ASPNET Guest HelpAssistant IUSR_LDB IWAM_LDB SUPPORT_388945a0 VUSR_LDB VUSR_LDB1 VUSR_LDB2 VUSR_LDB3 VUSR_LDB4 VUSR_LDB5 VUSR_LDB6 假设测试 URL 为http://192.168.1.9/net user,观察返回的信息,返回的信息中不包括类似于系 统命令返回的信息。


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