2022.11.17 反爬虫原理学习笔记

2022.11.17
签名验证爬虫:
由客户端生成一些随机值和不可逆的md5加密字符串,并在发起请求的时候将这些值发送给服务器,服务器使用相同的方式对随机值进行计算以及md5加密,如果服务器端得到的MD5值与前端提交的md5值相等,就代表是正常请求,否则返回403

产生方式:
1.直接在url中提交 例如:http://url&key=提交数值1&key2=提交数值2
2.post提交 例如:

datas = {
    'key1': 提交数值1,
    'key2': 提交数值2,
}


破解方法:

1.观察提交的数值,

2.在源代码的头部中涉及到的javascript文件中查找这个关键字,

3.根据对这个关键字进行操作的函数在py代码中进行复现
4.然后将得出s的数值按照方式上传即可

具体案例:

有道翻译 爬虫

1.观察提交的数值,发现翻译的请求是由https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule这个url发起的,这个url下面还带有许许多多的表单参数,其中salt,sign,lts,是动态变化的

2.在源代码中成功的找到了fanyi.min.js这个关键文件,以sign为关键字在里面查找

,找到了关键函数

function (e, t) { var n = e("./jquery-1.7"); e("./utils"); e("./md5"); var r = function (e) { var t = n.md5(navigator.appVersion), r = "" + (new Date).getTime(), i = r + parseInt(10 * Math.random(), 10); return { ts: r, bv: t, salt: i, sign: n.md5("fanyideskweb" + e + i + "Ygy_4c=r#e#4EX^NUGUc5") } }

3.由此可以看出动态变化的函数的由来,将其在py代码中复现

具体代码:

https://blog.csdn.net/m0_56366541/article/details/127909065?spm=1001.2014.3001.5501

4.按照post请求方式请求结果,成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值