探索黑客技术攻防,实战研究与安全创新

导航菜单

双管齐下窃取曲奇客购物网站的用户账户

曲奇客,是国内首家针对高校学生的导购平台,此网站账户与教育网高清云窗视频系统是同步的,可以直接登录。此网站是一个基于ASP脚本编写的导购以及积分兑换网站平台。曾经我发现此网站存在可以直接通过元素修改进行无限制礼品兑换漏洞,此次再次接到此网站邀请进行友好测试,发现不少漏洞和代码编写问题,这些问题在我最近的渗透中多次发现,创新工场下的购物网站也有类似问题,感觉比较有意义,特此写成文字,进行分析与总结。

此网站从外观看相比于其他购物网站并没有特别的差异,映入眼帘的即是商品推荐。我是一个来找茬的,基本上不会欣赏商品,而是直接注册登录,登录处就有bug,对于输入的密码直接显示正确与否,可以爆破利用,下一行的验证码名存实亡,这里不是重点,我觉得爆破是运气加耐力,所以不算漏洞。登录进去,直接找到个人资料处,只有此处可以填写额外代码,经过测试发现收获地址处存在存储型XSS漏洞,如图1,在街道地址处直接填写xss测试代码,点击保存,cookie成功弹出。代码为

:scriptalert(docunt.cookie)/script


A1.png

图1

弹出cookie窗口可以看到字段quqiPwd,此字符串经过MD5解密,发现正是密码,cookie还存在有账户名quqiUser,即邮箱地址。此时,敏锐的嗅觉让我感觉到此处漏洞已经形成。

A2.png

很多web开发者认为收货地址是手动填写,忽略了对XSS的过滤。漏洞既然形成,那么接下来需要加以利用,否则这个漏洞就是NULL,无任何用处。很明显,只有CSRF可以达到写入XSS代码的目的。收货地址处,数据提交没有任何额外验证数据,我直接写如下html代码(网页名称test.html),进行数据的POST提交。

A3.png

图3

触发网页提交失败,看来开发者在CSRF上还是花了功夫的,我并没有气馁,继续测试,利用burpsuite先从HTTP参数Origin开始,发现无影响;Referer有影响,无法成功提交。

基本上算是失败了,用户的Referer无法修改。脑子一定要转得快,这里也将是我认为最有意义的地方,发现网站开发人员并没有验证完整的Referer,而是只验证了提交页面。

正确的Referer:网址/user_center.asp

错误的Referer:http://localhost/test.html

正确的Referer:http://localhost/user_center.asp

这里也应了一个词语,坚持不懈。既然这样就方便了很多,将test.html直接改成user_center.asp运行在IIS+ASP环境下,显示成功。但是alert(document.cookie)被过滤掉了。很奇怪,手动添加不会被过滤,表单提交就被过滤掉。将代码写成scripta=1;alert(document.cookie);/script即可成功,弹出cookie。另外,将代码写成scriptdocument.write(document.cookie);/script,看到如下图4效果,将SRC引入即可将cookie偷走。

A4.png

漏洞修补办法

1)验证完整的Referer,不能局部认证。

2)需要在输入框中过滤js代码,不能只进行简单过滤。

3)在数据提交的时候要多判断几个HTTP参数,保证万无一失。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐