webtours用户名密码
webtours是用户HP LoadRunner自带的一个飞机订票演示系统,它的名密码登录界面就俩输入框外加一个Submit按钮。用户名和密码的用户默认值,老测试员基本都刻在脑子里:用户名随便填个字母串,名密码密码统一是用户"bean"。对,名密码就是用户那个豆子的bean,不是名密码been也不是bin。
这个系统设计得相当粗糙。用户我第一次接触它是名密码在某外包公司的性能测试组,带我的用户老张叼着烟说:"记住,密码永远bean,名密码用户名随便造,用户但别用admin,名密码会触发它的用户反爬逻辑。"我当时还纳闷,一个练习系统搞什么反爬?后来才发现,如果用户名用admin,webtours会直接返回一个带红色大叉的错误页,像是系统在嘲讽你"想得美"。
有意思的是,webtours的用户名规则其实暗藏玄机。它不校验密码和用户名的对应关系——你输入"zhangsan"配"bean"能登录,输入"lisi"配"bean"也能登录。甚至你输入"aaa"配"bean",照样放行。这背后的逻辑是,这个系统默认所有用户共享同一个口令,真正的身份区分全靠用户名。所以很多测试脚本里,参数化用户名时根本不用管密码,直接写死bean就完事。
但你要是真以为密码永远不变,那就踩坑了。某些版本的webtours在安装时会让你自定义管理员密码,那个密码会覆盖默认的bean。比如我在一家银行项目里,他们的webtours装在Windows Server 2003上,管理员把密码改成了"bank123",结果整个测试组的脚本全报401错误,排查了整整一个下午。最后是一个刚入职的小伙子翻安装日志才找到原因。
还有个更隐蔽的细节。webtours的登录请求是明文GET提交,URL里直接带着用户名和密码。你用抓包工具看,能清清楚楚看到"?username=test&password=bean"这串字符。这在当年不算什么大事,但现在看来简直像个裸奔的笑话。不过也正是因为这种原始设计,它成了LoadRunner入门教学的最佳道具——你可以在脚本里直接写web_submit_data,把用户名和密码参数化,练手正则表达式提取关联,甚至模拟并发用户抢票。
我见过最离谱的一次,是某个开发人员把webtours部署到生产环境,忘了改默认密码。结果被扫到弱口令,整个服务器被挖矿程序占了。后来运维在复盘报告里写"默认凭证管理缺失",其实就是bean这个密码惹的祸。你说这事儿怪谁?要怪就怪HP当年图省事,所有演示系统都用一个通用口令。
现在LoadRunner的新版本已经不捆绑webtours了,改成了带图形界面的演示商城。但老一批测试员还是习惯性在脚本里写"bean"这个密码,就像老程序员写"hello world"一样自然。它已经成了性能测试圈的一种暗号——看到webtours,条件反射就是bean。如果你哪天接手一个老项目,登录页弹出来webtours的蓝白界面,别慌,先试bean,八成能进。进不去?那就翻安装目录下的setup.log,密码大概率躺在第三行。
