每篇一问:有一种奇怪的东西,他能载的动万吨重物,却载不起一粒沙子。它是什么?
1、关联技术的原理关联技术能够做的事就是帮助我们把服务器返回的内容保存下来,之后修改相关的信息,使客户端去能够通过“欺骗”的技术骗取服务器的信任。例如对服务器返回的sessionid做处理的过程,通过收集sessionid信息,修改提交sessionid信息,来满足服务器的验证;关联的实现是通过一个关联函数来实现的web_reg_save_param()
2、自动关联技术流程
点击Vuser->Scan Script. for Correlations或者使用快捷键Ctrl+F8
自动关联技术的原理是根据同一个脚本两次运行的服务器返回比较来自动查找变化的部分
(1)录制好后的脚本要先运行一次,发现通过不了(登录窗口使用了sessionid技术)
(2)按Ctrl+F8或vuser->Scan
script. for correlations查找不同的脚本位置
(3)点击右下角的Correlate将这个数据生成关联
(4)在原脚本中生成了web_reg_save_param函数的参数"WCSParam_Diff1"
// [WCSPARAM WCSParam_Diff1 40 106166.337545565ftzAQDApQiHfDcHzfpfifQcf]
Parameter {WCSParam_Diff1} created by Correlation Studio
web_reg_save_param(
"WCSParam_Diff1",
"LB=userSession value=",
"RB=>",
"Ord=1",
"IgnoreRedirections=Yes",
"Search=Body",
"RelFrameId=1",
LAST );
(5)再次运行脚本,发现顺利通过了(客户端使用关联技术伪装了sessionid欺骗了服务器)
3、手动关联技术流程
点击Insert->New step->web_reg_save_param()输入关联函数的信息
手动关联技术的原理是通过添加一个关联函数web_reg_save_param()
(1)录制一个脚本(访问首页脚本)
Action()
{
web_url("WebTours",
"URL=http://127.0.0.1:1080/WebTours/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
return 0;
}
(2)选择Insert->New step->Add
step->web_reg_save_param
(3)给web_reg_save_param函数输入一些信息
(4)在原脚本中生成了web_reg_save_param函数的参数"temp"
web_reg_save_param("temp",
"LB=Version4.0 -",
"RB=.NET
2.0",
"Ord=1",
"Search=NoResource",
LAST);
(5)运行一下刚关联好的脚本,发现运行通过了(客户端使用关联技术伪装了sessionid欺骗了服务器)
4、一边录制一边关联技术流程即创建规则
点击Tools->Recording Option->Correlation或者使用快捷键Ctrl+F7->Correlation
一边录制一边关联技术的原理是录制某些系统时,会得到一些自动的关联函数,这就是这种方式的好处,自己定义一个新的规则来实现一次边录制边关联的功能。
(1)点击(Ctrl+F7->Correlation或Tools->Recording
Option->Correlation)
(2)点击New
Application新建一个application_1的应用,点击New Rule新建规则Rule_5
(3)新建一个脚本(File->New),录制登陆框,回放脚本,顺利通过(客户端使用关联技术伪装了sessionid欺骗了服务器)
每篇一答:海水
零测试