最近对网站自动登录感兴趣,拿5173下手,
登录网址:
https://passport.5173.com/?returnUrl=http%3a%2f%2fuser.5173.com%2fdefault.aspx
登录提交的POST数据如下:
"userName=hihihi123&password=bc3383ae9488e0291bc4deaf202f2f49&passpod=&captcha=&category=&__validationToken__=9261bcd5f5dc451098f9b8b68e6cfe0a&__validationDna__=".
要做自动登录就必须知道password和__validationToken__的来源,这两个很诡异,通过抓包,并未发现一样的文本.而且password是每次不一样.
用IE8+自带的开发人员工具调试脚本,如下:
1.查找到ajax POST的代码, 对提交前的代码进行分析,能找到password变量,但无法跟踪赋值这个变量的代码.这个能像OD一样对这个变量修改时进行下断点吗?
或者有没有什么调试技巧,还望指教?
2.__validationToken__ 这个变量更加没有思路,只发现在主页面的html代码中发现其是个隐藏的input
<script type="text/javascript">
$(function() {
var submitting = false;
var _tips = $("#loginTips");
var errMsg = '';
if(errMsg) {
_tips.html(errMsg).show();
$(".tips-ask").show();
}
if($.cookie("resultDescription")!=null) {
_tips.html($.cookie("resultDescription")).show();
$("#txtName").val($.cookie("userName"));
$.cookie("resultDescription", null);
$.cookie("userName", null);
$(".tips-username").show();//显示忘记用户名
$(".tips-ask").show();
}
if(!$.fost || !$.fost.security) {
_tips.html("网速缓慢,请刷新页面").show();
return;
}
var _form = $("#loginForm");
var _submit = $("#btnSubmit");
var _asp = $("#asp");
var _agreement = $("#agreement");
function showTips(msg, loginEnabled) {
_tips.html(msg).show();
if(loginEnabled) {
_submit.attr("disabled", "");
_asp.attr("class", "btnlink_b_small");
$("#asp_text").html("登 录");
$("#asp_ico").hide();
submitting = false;
}
}
[COLOR="Red"] /////每次刷新登录页面会进入到这里,但这个下断点后,不会进入某个函数,看上去是变量,
/////但感觉应该是这里产生的password,而且每次stoken/ekey/vkey/pkey值不一样[/COLOR]
var _securityObject = {
passwordControlId: "txtPass",
passwordHash: true, passwordFill: false,
width:268,height:34,
stoken: "4a14f096742e4015ad3d2507288ceeff",
ekey: "emmh4u",
vkey: "jccv6l",
pkey: "570r0e",
[COLOR="red"] onsubmit: function(tpm, password) { //////点击登录后,会断到这里,但此时password的值已经有了[/COLOR]
if(submitting) {
return false;
}
var _userName = $("#txtName");
if(!_userName.val()) {
_tips.html("请输入用户名").show();
_userName.focus();
return false;
}
$.cookie("userName",$("#txtName").val());
[COLOR="red"] var _password = $("#txtPass"); ////这个是密码框的ID,_password取到的就是输入的密码[/COLOR]
if(!password) {
_tips.html("请输入密码").show();
_password.focus();
return false;
}
if(!_agreement.attr("checked")) {
_tips.html("很抱歉,请阅读并同意5173用户服务协议。").show();
_agreement.focus();
return false;
}
var _pospod = $("#pospod");
if(!_pospod.is(":hidden")) {
var _podPaw = $("#txtPodPaw");
if(!_podPaw.val()) {
_tips.html("请输入密宝").show();
_podPaw.focus();
return false;
}
}
var capchaResult = $.Capcha.validateCapchaClient();
if (capchaResult!="") {
_tips.html(capchaResult).show();
return false;
}
_tips.html("").hide();
[COLOR="red"] _password.val(password); ////提交的时候,这个password是加密的,从何而来???[/COLOR]
_submit.attr("disabled", "disabled");
_asp.attr("class", "btnlink_g_small unhover c9");
$("#asp_text").html("加载中");
$("#asp_ico").show();
submitting = true;
[COLOR="red"] $.ajax({ type: 'POST', url: _form.action, data: _form.serialize(), /////POST数据[/COLOR]
success: function(data) {
if(!data) {
showTips("有未知错误发生(1)。", true);
return;
}
if(data.charAt(0) == "{" && data.charAt(data.length-1) == "}") {
eval("var result = " + data);
if(result.ResultNo != 0) {
if(result.ResultData && result.ResultData.SecurityResultNo == -99 && _captcha.length == 0) {
window.location.href = window.location.href;
return;
}
$.cookie("resultDescription", result.ResultDescription);
window.location.href = "?returnUrl=http%3a%2f%2fuser.5173.com%2fdefault.aspx";
if ($.Capcha.needCapcha) {
$.Capcha.updateCapcha();
}
$(".tips-ask").show();
return;
}
showTips("有未知错误发生(2)。", true);
return;
}
$("#ajaxDisplayer").html(data).show();
},
timeout: 60000,
error: function(xhr, status) {
if (status == "timeout")
showTips("服务器响应超时,请刷新页面重试。", true);
else
showTips("服务器内部错误,请重试。(" + status + ")", true);
}
});
return false;
}
};
$.fost.security.showBroker(_securityObject);
_submit.attr("disabled", "");
_asp.attr("class", "btnlink_b_small");
_asp.click(function() {
_submit.parents("form").submit();
});
});
function MonitorLogin(monitorType) {
try {
__utmTrackEvent(encodeURIComponent("用户登录"),encodeURIComponent("登录页"),encodeURIComponent(monitorType));
} catch (e) { }
}
</script>
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课