昨天分析了京东post登陆过程中遇到的参数,其中有两个参数是需要分析的,一个是nloginpwd、一个是authcode,nloginpwd已经分析了他的加密方式,RSA加密,留了一个人复杂的参数authcode,并猜想这个参数和验证相关。
今天跟进了一下,进一步落实这个参数确实和验证相关,是滑块验证通过后服务器返回的一个字符串validate的值就等于authcode
而validate的值是来自下面的这个请求
d: 0dj005mmwqFWKU10x02T0000102101002k105102000h107101000f109101000i107101000g107101000h106101000h107000000h109000000g108000000h10a000000h108000000g108000000h108000000h106000000g106000000h107000000h104000000h103000000g101000000h101000000h101000000h101000000o10100000241010000011101101000d101000001E1010000014101000003x101000001f1010000015101000002K101000000g101101005e101000000i101000000g101000000g101000000h101000000H1010000008101000000x101000000m101000000F101000000v101000000c101000000o101000000k000101000h101000000h101000000q101000000K101000002p000101000~101000000d1010000017101101000c101000000g101000000k102000000e101000000h102101000g101000000h102000000g101000000i102000000g103000000g101000000i101000000g101000000h101000000h101000000g101000000F101000000o101000000j101000000x002000002y003000000m002000000g002000000h003000000g001000000i003000000g001000000h003000000h003000000g003000000i003000000f003000000i003000000h003000000h001000000f003000000j002000000g002000000g001000000h002000000h001000000h001000000g000001000h001001000g002000000h002000000h001000000g002000000g003001000h002000000i003000000h001001000g002000000g002000000i002000000g001000000g001001000i001000000z101000003L101000000e101000000q101000000j101000000i101000000N1010000014101000007x101000000q101000000M101000000c101000000v101000000x101000000j101000000k101000000t101000000B101000000g101000000k101000000j101000000r101000000s101000000w101000000N1010000008101000000r101000000o101000000g101000000o101000000G101000008w1010000009001000001V002000000f004000000f003000000f005000000h003000000h002000000h003001000g004001000h002000000g003000000h003001000h005000000h003001000g005001000i003000000g004001000g002000000h003000000h002002000h001000000g001000000h101000004J101000000h101000000h101000000h101000000o1010000008101000000E101000000O101000000m102000000m101000000m000000004Nc: 46dc15b94c544579a928601f961b52d5w: 278appId: 1604ebb2287scene: loginproduct: click-bind-suspende: QVNRWK7IV5KEEVWG7KFOUF5WLVWIPSTKKBR74XB5QAVFWOHZTSC5LNXWJFO2GZJ37DN7KCBSUJCX6WPJSQCP3Q4C2Es: 436092799850651800o: 183284961111callback: jsonp_09418859233258243
d:应该是拖动滑块的轨迹相关
appID:html是页面中的一个参数
s:是加载js文件中的sessionID
o:输入的账号
scene:一个固定字段
product:一个固定字段
c:是来自一个get请求中的challenge参数
要得到该参数又要发出一个get请求携带下面参数:
appId: 1604ebb2287scene: loginproduct: click-bind-suspende: QVNRWK7IV5KEEVWG7KFOUF5WLVWIPSTKKBR74XB5QAVFWOHZTSC5LNXWJFO2GZJ37DN7KCBSUJCX6WPJSQCP3Q4C2Ecallback: jsonp_05819908093612078
e:e参数是在请求challenge参数时候携带的参数,都是e,值相同。
到现在我们就清楚了获得authcode参数所要携带的几个字段来源,这几个字段中还需继续深入的是d(鼠标轨迹生成)、e
找了好久也没看到e从哪里生成的,然后在打开一个页面在试试,结果发现e的值没有改变,那我们可以把e作为一个固定值试试,是可以得到challenge参数的,剩下就只有轨迹参数的来源分析了。
轨迹参数准备在破解登陆验证的时候在继续深入,现在就到这里了;post登陆的authcode参数,目前考虑下面两个方式:正常情况不会出现滑块验证,那么我们可以用抓包的固定值试试,或者直接传一个空字符试试,目前尚未验证。
ID:Python之战
|作|者|公(zhong)号:python之战
专注Python,专注于网络爬虫、RPA的学习-践行-总结
喜欢研究和分享技术瓶颈,欢迎关注
独学而无友,则孤陋而寡闻!