转载地址:https://mp.weixin.qq.com/s?__biz=Mzg5NzY2MzA5MQ==&mid=2247487083&idx=1&sn=eef9a0e9f37a9d320beb5c77d2e81f2c&chksm=c06f2777f718ae61527781d953d21e5b13a78e943936a24c2bf7eb43e185de88cfedad97a24b&scene=178&cur_album_id=1996451898278608899#rd
如有侵权,请及时联系我立即删除!
详情请关注微信公众号: K哥爬虫
感谢K哥爬虫
教学贴,学习爬虫不迷路
链接:http://spider.wangluozhe.com/challenge/3
简介:
目标:采集100页的全部数字,并计算所有数据加和。请抠出源码进行计算!
逆向参数
逆向的目标主要是翻页接口_signature
参数,调用的加密方法仍然是 window.get_sign()
通过搜索找到加密函数位置
继续跟进,会发现是一个颜文字的 AAEncode 混淆:
解密混淆方式
1.使用在线工具直接解密,比如:http://www.atoolbox.net/Tool.php?Id=703
2.AAEncode 的代码通常是一个自执行方法(IIFE),去掉代码最后面的(‘_’)后,放到浏览器里面去直接执行就可以看到源码
点击解密函数
,通过浏览器在线调试加密函数
var CryptoJS = require('crypto-js')
function anonymous() {
function encryptByDES(message, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.ciphertext.toString();
}
try {
var message = 'http://spider.wangluozhe.com/challenge/3';
// var tmp = window.DeviceMotionEvent;
message = message + '|' + Date.parse(new Date()).toString();
var key = Date.parse(new Date()).toString();
return encryptByDES(message, key);
} catch (e) {
var message = '1234567890abcdefghijklmnopqrstuvwxyz';
var key = Date.parse(new Date()).toString() + '123';
return encryptByDES(message, key);
}
}
// console.log(cryptoJs.enc.Utf8.parse("abcdefg"))
console.log(anonymous())
网友评论