手机网站优化技巧,wordpress 翻页404,电子购物网站设计,wordpress themeforest一、数据接口分析
主页地址#xff1a;某课网
1、抓包
通过抓包可以发现登录接口是user/login
2、判断是否有加密参数
请求参数是否加密#xff1f; 通过查看“载荷”模块可以发现有一个password加密参数#xff0c;还有一个browser_key这个可以写死不需要关心 请求头…一、数据接口分析
主页地址某课网
1、抓包
通过抓包可以发现登录接口是user/login
2、判断是否有加密参数
请求参数是否加密 通过查看“载荷”模块可以发现有一个password加密参数还有一个browser_key这个可以写死不需要关心 请求头是否加密 无响应是否加密 无cookie是否加密 无
二、加密位置定位
1、看启动器
查看启动器发现里面有一个SSOController.login点进去查看 点进去之后可以发现上方有对password的处理可以怀疑此处就是加密位置 在此处打断点再次点击登录发现可以断住并且window.btoa(e)的结果就是密文所以可以断定此处就是加密位置
三、扣js代码
将定位到的加密位置的代码扣出缺啥补啥。 但是当我扣代码时会发现缺少一些参数以及加密密钥此时我们可以观察抓包发现网站是请求了prelogin接口获取的。 所以我们需要先请求这个prelogin接口获取到这些参数然后使用这些参数对密码进行加密再发包请求登录接口即可 源代码 var K function(a, f) {function e(b) {N b;G Array(N);for (b 0; b G.length; b)G[b] 0;new h;E new h;E.digits[0] 1}function h(b) {this.digits boolean typeof b 1 b ? null : G.slice(0);this.isNeg !1}function u(b) {var c new h(!0);c.digits b.digits.slice(0);c.isNeg b.isNeg;return c}function k(b) {for (var c new h, r b.length, d 0; 0 r; r - 4,d) {for (var a c.digits, O d, g b.substr(Math.max(r - 4, 0), Math.min(r, 4)), e 0, f Math.min(g.length, 4), l 0; l f; l) {e 4;var n g.charCodeAt(l);e | 48 n 57 n ? n - 48 : 65 n 90 n ? 10 n - 65 : 97 n 122 n ? 10 n - 97 : 0}a[O] e}return c}function w(b, c) {if (b.isNeg ! c.isNeg) {c.isNeg !c.isNeg;var r l(b, c);c.isNeg !c.isNeg} else {r new h;for (var d 0, a 0; a b.digits.length; a)d b.digits[a] c.digits[a] d,r.digits[a] d 65535,d Number(65536 d);r.isNeg b.isNeg}return r}function l(b, c) {if (b.isNeg ! c.isNeg) {c.isNeg !c.isNeg;var r w(b, c);c.isNeg !c.isNeg} else {r new h;for (var a, m a 0; m b.digits.length; m)a b.digits[m] - c.digits[m] a,r.digits[m] a 65535,0 r.digits[m] (r.digits[m] 65536),a 0 - Number(0 a);if (-1 a) {for (m a 0; m b.digits.length; m)a 0 - r.digits[m] a,r.digits[m] a 65535,0 r.digits[m] (r.digits[m] 65536),a 0 - Number(0 a);r.isNeg !b.isNeg} elser.isNeg b.isNeg}return r}function n(b) {for (var c b.digits.length - 1; 0 c 0 b.digits[c]; )--c;return c}function v(b) {var c n(b);b b.digits[c];c 16 * (c 1);var a;for (a c; a c - 16 0 (b 32768); --a)b 1;return a}function t(b, c) {for (var a new h, d, m n(b), e n(c), g, f 0; f e; f) {d 0;g f;for (j 0; j m; j,g)d a.digits[g] b.digits[j] * c.digits[f] d,a.digits[g] d 65535,d 16;a.digits[f m 1] d}a.isNeg b.isNeg ! c.isNeg;return a}function p(b, c, a, d, m) {for (m Math.min(c m, b.length); c m; c,d)a[d] b[c]}function y(b, c) {var a Math.floor(c / 16), d new h;p(b.digits, 0, d.digits, a, d.digits.length - a);c % 16;a 16 - c;for (var m d.digits.length - 1, e m - 1; 0 m; --m,--e)d.digits[m] d.digits[m] c 65535 | (d.digits[e] P[c]) a;d.digits[0] d.digits[m] c 65535;d.isNeg b.isNeg;return d}function L(b, a) {var c Math.floor(a / 16), d new h;p(b.digits, c, d.digits, 0, b.digits.length - c);a % 16;c 16 - a;for (var e 0, f e 1; e d.digits.length - 1; e,f)d.digits[e] d.digits[e] a | (d.digits[f] Q[a]) c;d.digits[d.digits.length - 1] a;d.isNeg b.isNeg;return d}function C(a, c) {var b new h;p(a.digits, 0, b.digits, c, b.digits.length - c);return b}function x(a, c) {var b new h;p(a.digits, c, b.digits, 0, b.digits.length - c);return b}function D(a, c) {var b new h;p(a.digits, 0, b.digits, 0, c);return b}function M(a, c) {if (a.isNeg ! c.isNeg)return 1 - 2 * Number(a.isNeg);for (var b a.digits.length - 1; 0 b; --b)if (a.digits[b] ! c.digits[b])return a.isNeg ? 1 - 2 * Number(a.digits[b] c.digits[b]) : 1 - 2 * Number(a.digits[b] c.digits[b]);return 0}function F(a) {this.modulus u(a);this.k n(this.modulus) 1;a new h;a.digits[2 * this.k] 1;var c this.modulus, b v(a), d v(c), e c.isNeg;if (b d)if (a.isNeg) {var f u(E);f.isNeg !c.isNeg;a.isNeg !1;c.isNeg !1;var g l(c, a);a.isNeg !0;c.isNeg e} elsef new h,g u(a);else {f new h;g a;for (var q Math.ceil(d / 16) - 1, k 0; 32768 c.digits[q]; )c y(c, 1),k,d,q Math.ceil(d / 16) - 1;g y(g, k);b Math.ceil((b k) / 16) - 1;for (d C(c, b - q); -1 ! M(g, d); )f.digits[b - q],g l(g, d);for (; b q; --b) {d b g.digits.length ? 0 : g.digits[b];var p b - 1 g.digits.length ? 0 : g.digits[b - 1], t b - 2 g.digits.length ? 0 : g.digits[b - 2], B q c.digits.length ? 0 : c.digits[q], z q - 1 c.digits.length ? 0 : c.digits[q - 1];f.digits[b - q - 1] d B ? 65535 : Math.floor((65536 * d p) / B);for (var A f.digits[b - q - 1] * (65536 * B z), x 4294967296 * d (65536 * p t); A x; )--f.digits[b - q - 1],A f.digits[b - q - 1] * (65536 * B | z),x 4294967296 * d (65536 * p t);t d C(c, b - q - 1);B f.digits[b - q - 1];result new h;p n(t);for (z A 0; z p; z)A result.digits[z] t.digits[z] * B A,result.digits[z] A 65535,A 16;result.digits[1 p] A;g l(g, result);g.isNeg (g w(g, d),--f.digits[b - q - 1])}g L(g, k);f.isNeg a.isNeg ! e;a.isNeg (f e ? w(f, E) : l(f, E),c L(c, k),g l(c, g));0 g.digits[0] 0 n(g) (g.isNeg !1)}a [f, g];this.mu a[0];this.bkplus1 new h;this.bkplus1.digits[this.k 1] 1;this.modulo H;this.multiplyMod I;this.powMod J}function H(a) {var b x(a, this.k - 1);b t(b, this.mu);b x(b, this.k 1);a D(a, this.k 1);b t(b, this.modulus);b D(b, this.k 1);a l(a, b);a.isNeg (a w(a, this.bkplus1));for (b 0 M(a, this.modulus); b; )a l(a, this.modulus),b 0 M(a, this.modulus);return a}function I(a, c) {a t(a, c);return this.modulo(a)}function J(a, c) {var b new h;for (b.digits[0] 1; ; ) {0 ! (c.digits[0] 1) (b this.multiplyMod(b, a));c L(c, 1);if (0 c.digits[0] 0 n(c))break;a this.multiplyMod(a, a)}return b}function K(a) {this.e k(10001);this.d k();this.m k(a);this.chunkSize 128;this.radix 16;this.barrett new F(this.m)}var N, G, E;e(20);(function(a) {var b new h;b.isNeg 0 a;a Math.abs(a);for (var f 0; 0 a; )b.digits[f] a 65535,a 16;return b})(1E15);var P [0, 32768, 49152, 57344, 61440, 63488, 64512, 65024, 65280, 65408, 65472, 65504, 65520, 65528, 65532, 65534, 65535], Q [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535];e(131);return function(a) {var b [], e a.length, d, m , l new K(f);e l.chunkSize - 11 (e l.chunkSize - 11);var g 0;for (d e - 1; g e; )b[d] a.charCodeAt(g),g,d--;for (d l.chunkSize - e % l.chunkSize; 0 d; ) {for (a Math.floor(256 * Math.random()); !a; )a Math.floor(256 * Math.random());b[g] a;g;d--}b[e] 0;b[l.chunkSize - 2] 2;b[l.chunkSize - 1] 0;e b.length;for (g 0; g e; g l.chunkSize) {var q new h;d 0;for (a g; a g l.chunkSize; d)q.digits[d] b[a],q.digits[d] b[a] 8;d l.barrett.powMod(q, l.e);q ;for (a n(d); -1 a; --a) {var k d.digits[a];var p String.fromCharCode(k 255);k String.fromCharCode(k 8 255) p;q k}d q;m d}return m}(a)}function get_pwd(password, w, l, f) {
var e K(w \t l \t password, f);return btoa(e)
}
文章转载自: http://www.morning.yqgny.cn.gov.cn.yqgny.cn http://www.morning.rxkl.cn.gov.cn.rxkl.cn http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn http://www.morning.jxhlx.cn.gov.cn.jxhlx.cn http://www.morning.hwhnx.cn.gov.cn.hwhnx.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.crqpl.cn.gov.cn.crqpl.cn http://www.morning.qyxwy.cn.gov.cn.qyxwy.cn http://www.morning.kmqlf.cn.gov.cn.kmqlf.cn http://www.morning.ssglh.cn.gov.cn.ssglh.cn http://www.morning.nhzps.cn.gov.cn.nhzps.cn http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn http://www.morning.qnzpg.cn.gov.cn.qnzpg.cn http://www.morning.sphft.cn.gov.cn.sphft.cn http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.bgkk.cn.gov.cn.bgkk.cn http://www.morning.ykrg.cn.gov.cn.ykrg.cn http://www.morning.gwdkg.cn.gov.cn.gwdkg.cn http://www.morning.myfwb.cn.gov.cn.myfwb.cn http://www.morning.zrhhb.cn.gov.cn.zrhhb.cn http://www.morning.ghxtk.cn.gov.cn.ghxtk.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.gnhsg.cn.gov.cn.gnhsg.cn http://www.morning.rfzzw.com.gov.cn.rfzzw.com http://www.morning.xxwl1.com.gov.cn.xxwl1.com http://www.morning.hmbtb.cn.gov.cn.hmbtb.cn http://www.morning.gtdf.cn.gov.cn.gtdf.cn http://www.morning.dmtld.cn.gov.cn.dmtld.cn http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn http://www.morning.qzmnr.cn.gov.cn.qzmnr.cn http://www.morning.hnmbq.cn.gov.cn.hnmbq.cn http://www.morning.rqlbp.cn.gov.cn.rqlbp.cn http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn http://www.morning.gwmny.cn.gov.cn.gwmny.cn http://www.morning.kycwt.cn.gov.cn.kycwt.cn http://www.morning.rmxk.cn.gov.cn.rmxk.cn http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn http://www.morning.lsgjf.cn.gov.cn.lsgjf.cn http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn http://www.morning.gnwse.com.gov.cn.gnwse.com http://www.morning.rwqj.cn.gov.cn.rwqj.cn http://www.morning.xqnzn.cn.gov.cn.xqnzn.cn http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn http://www.morning.nzzws.cn.gov.cn.nzzws.cn http://www.morning.rgmls.cn.gov.cn.rgmls.cn http://www.morning.xwbld.cn.gov.cn.xwbld.cn http://www.morning.kzcfr.cn.gov.cn.kzcfr.cn http://www.morning.ypqwm.cn.gov.cn.ypqwm.cn http://www.morning.nyqnk.cn.gov.cn.nyqnk.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.dzzjq.cn.gov.cn.dzzjq.cn http://www.morning.hfxks.cn.gov.cn.hfxks.cn http://www.morning.sxfnf.cn.gov.cn.sxfnf.cn http://www.morning.wlnr.cn.gov.cn.wlnr.cn http://www.morning.mcndn.cn.gov.cn.mcndn.cn http://www.morning.fzwf.cn.gov.cn.fzwf.cn http://www.morning.piekr.com.gov.cn.piekr.com http://www.morning.ldqrd.cn.gov.cn.ldqrd.cn http://www.morning.xjnw.cn.gov.cn.xjnw.cn http://www.morning.bplqh.cn.gov.cn.bplqh.cn http://www.morning.mlgsc.com.gov.cn.mlgsc.com http://www.morning.zwyuan.com.gov.cn.zwyuan.com http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.wdhhz.cn.gov.cn.wdhhz.cn http://www.morning.hrtfz.cn.gov.cn.hrtfz.cn http://www.morning.kflbf.cn.gov.cn.kflbf.cn http://www.morning.fhddr.cn.gov.cn.fhddr.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.cypln.cn.gov.cn.cypln.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn http://www.morning.rtqyy.cn.gov.cn.rtqyy.cn http://www.morning.bpmfz.cn.gov.cn.bpmfz.cn http://www.morning.zmyhn.cn.gov.cn.zmyhn.cn http://www.morning.ltspm.cn.gov.cn.ltspm.cn