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注入:修改JS的功能
POST请求发送:发送自定义POST请求功能
脚本与参数:可以编写自动循环发送的POST或GET请求
常用工具:列举了常用到的BASE64,URLencode,MD5和随机信息的生成。
JS注入在测试中的使用
Javascript主要有用于修改页面中的JS和页面元素
1.修改页面元素
document.getElementById("id").value='123';
复制代码
这种类型的语句对页面参数进行修改,value可以赋值未为任何非法值,如sql注入类型的
' or 1=1 or '
复制代码
将这类的数据可以提交到表单,用于测试是否存在SQL注入的漏洞
2.修改页面中已存在的Javascript
用户可以将注入的JS function的名称写的与页面已经存在的JS名称相同.
这样,新注入的function将会把页面中存在的function覆盖.
若,某个JS是用于提交校验的行为,覆盖后,该校验行为就不在存在了
3.模拟ajax请求
用户模拟一些ajax请求,请求中的内容可以使非法的或是异常的,看服务器给与什么样的响应。
自定义POST请求在测试中的使用
用户可以在这里修改POST请求中所需要的参数。
可以修改部分:
Herf,Cookie,请求头,请求方法,请求地址,请求内容
自动测试脚本的编写
目的自动运行POST请求或GET请求的测试项目,可以循环执行。对应的语法如下:
关键字列表
POST,GET,NewSession,BrowerSession,OUT,INT,STRING,SET,FOR,TO,NEXT
复制代码
基本语法
每行有;分号作为结尾,每个关键字,每行只出现一次
不同字区之间为空格,不能出现两个空格
POST语法
POST url param;
复制代码
Url = 需要访问的url地址
Param= POST 请求需要带的参数
GET语法
GET url;
复制代码
Url = 需要访问的url地址
NewSession语法
NewSession;
复制代码
创建一个新的Session请求
BrowerSession语法
BrowerSession;
复制代码
从喵咪浏览器继承一个Session请求
OUT语法
OUT 1234;
复制代码
输出显示1234
OUT i;
复制代码
输出显示变量i
INT语法
INT i;
复制代码
定义变量i
SET i=10;
复制代码
给i赋值为10
STRING语法
STRING s;
复制代码
定义变量s;
SET s=abcd;
复制代码
给s赋值abcd,注意没有"引号
FOR,TO,NEXT语法
为循环语句
FOR i TO 20;
OUT i;
NEXT i;
复制代码
循环语句
循环主体,可以用GET,POST替换
变量i增加1
ReturnPage语法
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