看看智联招聘是如何被注入恶意脚本

Other 2014-02-25 智联,脚本注入,招聘,安全,攻击

事情得从修改email开始,之前使用别的email地址注册过,但最近需要修改下email地址,让人恼火的是智联的email格式验证貌似不支持自定义域名的邮箱,换句话说也就是只能支持常用邮箱。

无奈搜索脚本发现如下代码:

if (checkRegForm()) {
	var newEmail = $("#email").val();
	var oldEmail = $("#emailOld").val();
	$.ajax({
		url : "http://my.zhaopin.com/v5/handler/ChangeEmailHandler.ashx",
		dataType : 'jsonp',
		jsonp : 'jsoncallback',
		data : {
			"usermaster_id" : $("#uid").val(),
			"emailOld" : oldEmail,
			"email" : newEmail
		},
		success : function(json) {
			switch (json.status) {
				case "0":
					$("#emailOld").val(newEmail);
					$("#emailshow").val(newEmail);
					$("#email1").val(newEmail);
					$("#oldemail").html(newEmail);
					$("#emailtips a").html(newEmail);
					$("#newwid2").hide();
					$("#divMask").remove();
					$.popupDiv({
						title : "邮箱验证",
						url : "http://my.zhaopin.com/myzhaopin/activeEmail.asp?e=" + oldEmail + "&l=" + $("#loginNameOld").val() + "&t=" + Date.parse(new Date()),
						width : 414,
						heigth : 300
					});
					$("#email").val("").parent().addClass("cenclebtn");
					$("#email_info").text("");
					break;
				case "3":
					$("#email_info").html("必填项为空!");
					break;
				case "4":
					$("#email_info").html("email地址未做修改!");
					break;
				case "10008":
				case "10018":
					$("#email_info").html("用户不存在!");
					break;
				case "10028":
					$("#email_info").html("email已存在,请重新输入!");
					break;
				default:
					break;
			}
		},
		error : function() {
			alert("操作异常,请稍后重试!");
		}
	});
}

checkRegForm()应该是验证表单格式,于是绕过它,直接执行以下代码:

var newEmail = "gas@gasdfllasldflasldfas.com";
var oldEmail = "xx@xx.com";
$.ajax({
	url : "http://my.zhaopin.com/v5/handler/ChangeEmailHandler.ashx",
	dataType : 'jsonp',
	jsonp : 'jsoncallback',
	data : {
		"usermaster_id" : $("#uid").val(),
		"emailOld" : oldEmail,
		"email" : newEmail
	},
...

居然通过了?

退出使用gas@gasdfllasldflasldfas.com登录成功,后来又测试了下发现即使不是邮箱格式也能注册成功。

于是开始想到xss脚本注入攻击,于是我尝试修改登录名为

提交服务器,虽然页面脚本报错但居然成功写入服务器,于是进入个人简历时页面alert(33)

个人信息email那一栏的信息:

脚本可以执行,已经成功一半了,于是我又把email修改为如下:

意思是伪造一个图片,并且把cookie通过get的方式发送到服务器,实验成功,通过注入脚本成功把cookie信息推送到指定服务器

说到这里,下一步很多人都知道了,只要服务器端放一个事先注入JS代码的bmp图片那一切都受你控制了。

最后

智联招聘的服务器对于前端提交的数据并没有任何校验,这是非常容易被攻击对象。写这篇文章不是鼓励大家如何去攻击其它站点,而是如何做好站点安全防范,同时也希望智联能及时堵住漏洞,毕竟上面的用户信息成千上万。

PS : 智联招聘已去除前端验证email格式只允许通用邮箱格式的功能,但后台还是没有做提交校验。

文字链接:《看看智联招聘是如何被注入恶意脚本

文章地址:http://www.qttc.net/201402415.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 0

    Hi,你想第一个做沙发么?