51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5411|回复: 8
打印 上一主题 下一主题

[原创] 模拟用户如何绕过服务器返回的sessionID?(在线等)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-10-10 18:25:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要测试的一个系统,需要测试登录之后的一个操作,而这个系统都是根据用户登录之后返回的SessionID才能执行登录后的操作,
而模拟用户肯定不能自动生成SessionID的,我用scan方式扫描需要关联的地方,结果显示给我的是两个js脚本路径,也就是在录制代码中并不能看到这个服务器返回的sessionID,可能是通过js脚本取得的吗?
这样该如何骗服务器达到我要测试的操作的目的呢?请教各位呀
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-10-10 19:06:59 | 只看该作者
一如既往“关联”
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-10-10 19:48:57 | 只看该作者
具体如何关联呢?我录制脚本时有一个web_add_cookie("chkcookie='2024646514'")的,就是要关联这个吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-10-10 21:58:52 | 只看该作者
不知道你所说的情况是不是登陆后自动redirect到一个jsp页面,而这个页面的url地址是有一个动态的sessionID的
如果这样的话,可以在登陆之前用web_create_html_param来获取这个sessionID.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-10-11 10:48:23 | 只看该作者
是的,登录之后导向一个页面就是用来显示加载模块的进程,然后再导向一个框架页面的。web_create_html_param是怎么获取sessionID的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-10-11 11:04:05 | 只看该作者
web_create_html_param是不是低版本的用法,我的是8.1版本的,应该用web_reg_save_param 吧,但是这个web_reg_save_param在插入到脚本的哪个地方为好呢?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-11 11:14:33 | 只看该作者
看上面你说的是session下面是cookies,你要取的是哪个值?
我觉得你这个web_add_cookie("chkcookie='2024646514'")可以注释掉。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-10-11 11:39:17 | 只看该作者
嗯,我也看到这个web_add_cookie函数的作用就是如果名字和路径存在创建一个新的cookie值覆盖,如果这个cookie值已过期就删除它。
还有我根据回放的日志发现这个cookie值是客户端用js脚本生成的,
  function checkCookie(){\r\n
Action.c(113):        var tmpcookie = new Date();\r\n
Action.c(113):        chkcookie = (tmpcookie.getTime() + '');\r\n
Action.c(113):        document.cookie = "chkcookie=" + chkcookie + "; path=/";\r\n
Action.c(113):         if (document.cookie.indexOf(chkcookie,0) < 0) {\r\n
Action.c(113):         return false;\r\n
Action.c(113):           }\r\n
Action.c(113):         else {\r\n
Action.c(113):          return true;\r\n
Action.c(113):         }\r\n
Action.c(113):      }\r\n
然后继续查找发现有很多地方都用到了这个cookie值,比如
Action.c(128): t=10291ms: 204-byte response headers for "https://itrade.citics.com.hk:8443/swob_tom/images/zh-hk/langZhTwMO.png" (RelFrameId=1)   [issued at Action.c(153)]
Action.c(153):     HTTP/1.1 200 OK\r\n
Action.c(153):     ETag: W/"469-1191555815000"\r\n
Action.c(153):     Last-Modified: Fri, 05 Oct 2007 03:43:35 GMT\r\n
Action.c(153):     Content-Type: image/png\r\n
Action.c(153):     Content-Length: 469\r\n
Action.c(153):     Date: Wed, 10 Oct 2007 11:04:53 GMT\r\n
Action.c(153):     Server: Apache-Coyote/1.1\r\n
Action.c(153):     \r\n
Action.c(128): t=10372ms: 469-byte response body for "https://itrade.citics.com.hk:8443/swob_tom/images/zh-hk/langZhTwMO.png" (RelFrameId=1)   [issued at Action.c(153)]
Action.c(153): t=10375ms: Request done "https://itrade.citics.com.hk:8443/swob_tom/images/zh-hk/langZhTwMO.png"          [MsgId: MMSG-26000]
Action.c(153): t=10379ms: Already connected to itrade.citics.com.hk:8443          [MsgId: MMSG-26000]
Action.c(144): t=10382ms: 444-byte request headers for "https://itrade.citics.com.hk:8443/swob_tom/announceFrame.html" (RelFrameId=1)   [issued at Action.c(153)]
Action.c(153):     GET /swob_tom/announceFrame.html HTTP/1.1\r\n
Action.c(153):     Referer: https://itrade.citics.com.hk:8443/swob_tom/index.html\r\n
Action.c(153):     User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n
Action.c(153):     Accept-Encoding: gzip, deflate\r\n
Action.c(153):     Accept-Language: zh-tw\r\n
Action.c(153):     Accept: */*\r\n
Action.c(153):     Connection: Keep-Alive\r\n
Action.c(153):     Host: itrade.citics.com.hk:8443\r\n
Action.c(153):     Cookie: popWinNo=1192014283684; JSESSIONID=480E3F029AFD3FB9BE2B447A4F478260; defaultLangua
Action.c(153):     ge=T; chkcookie=1192011806625\r\n
Action.c(153):     \r\n

好像都返回的信息都是在头部中的加入这个值的,那么我该如何在这录制脚本中加入这个联合点呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-10-11 12:52:46 | 只看该作者
这页面和每个请求都带着cookie值的 popWinNo=1192014283684;JSESSIONID=480E3F029AFD3FB9BE2B447A4F478260; defaultLanguage=T; chkcookie=1192011806625,
是不是意味着我这里每次一个用户运行时,都必须参数化递交请求的cookie值,好像不用关联吧,只要我用web_add_cookie("popWinNo={参数化1};JSESSIONID={参数化2};........");

是不是这样就可以绕过服务器吗?

[ 本帖最后由 liusylon 于 2007-10-11 13:00 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-15 00:42 , Processed in 0.073389 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表