首先我从VUGen运行它(它是手工构建的):
Action()
{
web_cleanup_cookies();
web_cache_cleanup();
web_url("entrypoint",
"URL=http://e34jbsl00430.devillo.com:8080/entrypoint/",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Mode=HTML",
LAST);
return 0;
}
页面无法打开,并且会在URL中显示sessionid。可能在重定向之后。
在启用FireBug的Firefox中手动执行此操作时,我会收到此请求/响应标头:
Response Headers
Cache-Control no-cache, no-store
Content-Length 0
Date Fri, 19 Apr 2013 13:49:51 GMT
Expires Thu, 01 Jan 1970 00:00:00 GMT
Location http://e34jbsl00430.devillo.com:8080/entrypoint/?0
Pragma no-cache
Server Apache-Coyote/1.1
Set-Cookie ENTRYPOINT_JSESSIONID=WgfuCXmTF7VTCsmhWYvU-WY7; Path=/entrypoint; HttpOnly
X-Frame-Options DENY
Request Headers
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language no,en-gb;q=0.7,en;q=0.3
Connection keep-alive
Cookie ENTRYPOINT_JSESSIONID=DnVj0xzyLaUOKfUEFIP6bpF-
Host e34jbsl00430.devillo.no:8080
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1
然后我使用web_add_header("Cookie","ENTRYPOINT_JSESSIONID=dummy");
运行相同的脚本
它运作得很好。
为什么将这个虚拟标题添加到我的脚本中才能使其工作?
答案 0 :(得分:1)
看起来该应用程序的开发人员为测试目的留下了一个安全漏洞,并且在JSESSION实现后没有关闭它。
看起来这个会话ID“虚拟”始终有效。 尝试关联真实
ENTRYPOINT_JSESSIONID = WgfuCXmTF7VTCsmhWYvU-WY7;
使用
**web_reg_save_param_regexp**("ParamName=pJSESSION","RegExp=JSESSIONID=(.*?);","Ordinal=ALL",SEARCH_FILTERS, "Scope=Cookies",LAST);
并像以前一样传递它,但是
web_add_header("Cookie","ENTRYPOINT_JSESSIONID={pJSESSION}");