51Testing软件测试论坛

标题: 喵咪浏览器在Web安全领域的测试(一) [打印本页]

作者: cedar    时间: 2013-2-25 17:02
标题: 喵咪浏览器在Web安全领域的测试(一)
本帖最后由 cedar 于 2013-2-26 12:57 编辑

概述
喵喵咪咪工作室制作了喵咪浏览器主要用于Web安全测试领域
现在中国测试行业的安全测试现状
在网络上跟一些人交流了下关于安全性测试的问题.
发现在阶段大部份测试人员在进行安全性测试过程中, 还仅仅是使用工具对Web应用进行安全性扫描.
现在很多安全性扫描的工具都做的非常强大.扫描也比较全面.操作简单,仅仅按几个按钮后.只要等一段时间.就可以完成测试.并把测试结果罗列出来
但仔细想想,这些结果就是我们测试人员所需要的么?
其实,在扫描完,得出这些测试结果后,我们都会有这样的疑问.为什么会有SQL注入,为什么会有跨站攻击.为什么我平时用的时候,没有留意到这些安全漏洞呢?
很多的问题都会产生.原因是什么?
是因为,我们在测试过程中,完全是按照开发人员所提供的操作流程,信息提示进行测试和操作的.
比如:输入身份证号码中,输入了20位的数字,页面就会提示,输入身份证不合法,让用户重新输入.
测试人员会按照Web页面的思路继续进行操作.并没有考虑到页面的提示信息仅仅是浏览器所发出的,并不是Web应用程序所提示的.
Javascript的异常判断,限制了测试人员的操作行为.
又比如,在测试页面登录中,测试人员常常会问,为什么我没发现这个登录有SQL注入.因为,在用户输入特殊字符的时候,页面程序将其过滤掉了.
但所有的这些并不是后台的Web的处理过程.
测试工具目的
综上所述,安全性测试在现阶段中完全是测试工具的自动行为,缺乏人为介入的手工性测试.
而对于手工性的安全测试,缺乏测试工具的辅助. 因此,开发了该工具,来完成测试人员手动的安全性测试.
测试工具介绍
主要功能为修改页面存在的JS数据。
发送自定义的POST请求。
界面为左侧的显示区域和右侧的用户测试区域:
[attach]83815[/attach]
程序启动后,可以在左侧的浏览器区域输入URL,并进行访问。若当页面存在POST的请求时会出现提示对话框,如下图:
[attach]83816[/attach]
用户可以对POST请求发送的信息进行编辑。编辑后按确定发送,或取消不发送。


页面打开后:
右侧的用户测试区,对应着:



JS注入在测试中的使用
Javascript主要有用于修改页面中的JS和页面元素
1.修改页面元素
  1. document.getElementById("id").value='123';
复制代码

这种类型的语句对页面参数进行修改,value可以赋值未为任何非法值,如sql注入类型的
  1. ' or 1=1 or '
复制代码

将这类的数据可以提交到表单,用于测试是否存在SQL注入的漏洞

2.修改页面中已存在的Javascript
用户可以将注入的JS function的名称写的与页面已经存在的JS名称相同.
这样,新注入的function将会把页面中存在的function覆盖.
若,某个JS是用于提交校验的行为,覆盖后,该校验行为就不在存在了

3.模拟ajax请求
用户模拟一些ajax请求,请求中的内容可以使非法的或是异常的,看服务器给与什么样的响应。

自定义POST请求在测试中的使用
用户可以在这里修改POST请求中所需要的参数。
可以修改部分:
Herf,Cookie,请求头,请求方法,请求地址,请求内容

自动测试脚本的编写
目的自动运行POST请求或GET请求的测试项目,可以循环执行。对应的语法如下:
关键字列表
  1. POST,GET,NewSession,BrowerSession,OUT,INT,STRING,SET,FOR,TO,NEXT
复制代码

基本语法
每行有;分号作为结尾,每个关键字,每行只出现一次
不同字区之间为空格,不能出现两个空格

POST语法
  1. POST url param;
复制代码


Url = 需要访问的url地址
Param= POST 请求需要带的参数

GET语法
  1. GET url;
复制代码


Url = 需要访问的url地址


NewSession语法
  1. NewSession;
复制代码
创建一个新的Session请求


BrowerSession语法
  1. BrowerSession;
复制代码

从喵咪浏览器继承一个Session请求
OUT语法
  1. OUT 1234;
复制代码
输出显示1234

  1. OUT i;
复制代码

输出显示变量i


INT语法
  1. INT i;
复制代码
定义变量i
  1. SET i=10;
复制代码

给i赋值为10


STRING语法
  1. STRING s;
复制代码

定义变量s;
  1. SET s=abcd;
复制代码

给s赋值abcd,注意没有"引号

FOR,TO,NEXT语法
为循环语句
  1. FOR i TO 20;
  2. OUT i;
  3. NEXT i;
复制代码

循环语句
循环主体,可以用GET,POST替换
变量i增加1

ReturnPage语法
  1. ReturnPage;
复制代码

显示上一次POST或GET请求的返回页面;
程序下载和安装

下载安装地址:http://211.99.249.32/CatExplorer/publish.htm

结束语

这个工具并不能说彻底的开发编写完成,很多功能还十分的简陋。
自动脚本的编写也不那么正规化。
实际上后续的工作主要是:
作者: 天士    时间: 2013-6-5 11:34
这个好用吗?
作者: 福翔霖Nf    时间: 2013-8-4 01:17
好贴,一定不要放过,顶












度假社(http://www.dujiashe.com/)提供国内外酒店预订,酒店报价查询,提供数十万家酒店、宾馆、客栈、连锁酒店、高端酒店、精品酒店的实时比价服务。
作者: msnshow    时间: 2013-8-11 11:56
看看怎么样,有点意思
作者: chen408381950    时间: 2013-10-12 14:25
怎么还要注册码。能发一个给我吗?408381950@qq.com
作者: 超世绝伦    时间: 2013-12-5 16:08
有意思
作者: sa1twater    时间: 2014-1-3 16:02
好东西啊,谢谢
作者: cedar    时间: 2014-2-14 15:57
该浏览器已经停止更新,注册码发放,请不要再与我联系.谢谢各位.
作者: xinlingcheng    时间: 2014-3-11 14:10
怎么还要注册码。能发一个给我吗?
chen408381950 发表于 2013-10-12 14:25


你好,请问你找到了注册码不?可以分享下不?
作者: Miss_love    时间: 2014-3-12 11:58
看看
作者: auto_tester    时间: 2014-5-22 12:37
xiexie 分享!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2