1、登录
2、进去卷中心
3、得到券列表
4、领券【大致路径:/freeGetCoupon.html?key=xxxx】【权限原因,这里就不上模拟了,只提供思路】
1、找到登录js,分析登录请求【在登录页面<script type="text/javascript" src="/new/misc/js/login2015.js"></script>
里面】【当然也可以直接分析网络请求,都差不多】
贴一部分js源码:
//登陆操作
function loginSubmit(callback) {
var loginUrl = "../uc/loginService";
var uuid = $("#uuid").val();
$.ajax({
url: loginUrl + "?uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random()+"&version=2015",
type: "POST",
dataType: "text",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: $("#formlogin").serialize(),
error: function () {
showMesInfo("网络超时,请稍后再试","error");
},
success: function (result) {...}
}
});
}
登录地址即:https://passport.jd.com/uc/loginService
2、url猜想:
https://passport.jd.com/uc/loginService?uuid=f703e647-9cd3-4ead-9573-0ae929dbf9ef<ype=logout&r=0.6494495067449563&version=2015&loginname=xxx&nloginpwd=xxx&loginpwd=aaaa&eid=5b6ce162e7d840f29a42f19afa88e24d1525869319&fp=a303fef3b9dd71226a6845216d8932bf&_t=_ntcGjXq&XzeobRqeoU=JGNZO&chkRememberMe=on
访问这个会报一个错误:【大致的意思是:请刷新页面后重新提交(其实就是验证失败)】
({"username":"\u8bf7\u5237\u65b0\u9875\u9762\u540e\u91cd\u65b0\u63d0\u4ea4","_t":"_ntijDOz"})
3、那么继续往下找看看是否有其他参数错误,最后我才发现原来是_t参数,每次登陆后_t参数会发生改变,ok,改变一下_t的值,bingo!现在已经提示账号密码错误了。(返回如下)
({"pwd":"\u8d26\u6237\u540d\u4e0e\u5bc6\u7801\u4e0d\u5339\u914d\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165","_t":"_ntwERQb"})【账户名与密码不匹配,请重新输入】
4、登录成功后的效果:
({"success":"http://www.jd.com"})
【如果刷的太频繁,请使用代理或者解析验证码,参数名称就是authcode,放在url后面就行了】【自己去解析验证码】
2、进去卷中心
3、得到券列表
4、领券【大致路径:/freeGetCoupon.html?key=xxxx】【权限原因,这里就不上模拟了,只提供思路】
1、找到登录js,分析登录请求【在登录页面<script type="text/javascript" src="/new/misc/js/login2015.js"></script>
里面】【当然也可以直接分析网络请求,都差不多】
贴一部分js源码:
//登陆操作
function loginSubmit(callback) {
var loginUrl = "../uc/loginService";
var uuid = $("#uuid").val();
$.ajax({
url: loginUrl + "?uuid=" + uuid + "&" + location.search.substring(1) + "&r=" + Math.random()+"&version=2015",
type: "POST",
dataType: "text",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: $("#formlogin").serialize(),
error: function () {
showMesInfo("网络超时,请稍后再试","error");
},
success: function (result) {...}
}
});
}
登录地址即:https://passport.jd.com/uc/loginService
2、url猜想:
https://passport.jd.com/uc/loginService?uuid=f703e647-9cd3-4ead-9573-0ae929dbf9ef<ype=logout&r=0.6494495067449563&version=2015&loginname=xxx&nloginpwd=xxx&loginpwd=aaaa&eid=5b6ce162e7d840f29a42f19afa88e24d1525869319&fp=a303fef3b9dd71226a6845216d8932bf&_t=_ntcGjXq&XzeobRqeoU=JGNZO&chkRememberMe=on
访问这个会报一个错误:【大致的意思是:请刷新页面后重新提交(其实就是验证失败)】
({"username":"\u8bf7\u5237\u65b0\u9875\u9762\u540e\u91cd\u65b0\u63d0\u4ea4","_t":"_ntijDOz"})
3、那么继续往下找看看是否有其他参数错误,最后我才发现原来是_t参数,每次登陆后_t参数会发生改变,ok,改变一下_t的值,bingo!现在已经提示账号密码错误了。(返回如下)
({"pwd":"\u8d26\u6237\u540d\u4e0e\u5bc6\u7801\u4e0d\u5339\u914d\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165","_t":"_ntwERQb"})【账户名与密码不匹配,请重新输入】
4、登录成功后的效果:
({"success":"http://www.jd.com"})
【如果刷的太频繁,请使用代理或者解析验证码,参数名称就是authcode,放在url后面就行了】【自己去解析验证码】