22综合牛奶我只喝特仑苏

This commit is contained in:
luzhisheng 2023-04-26 12:37:59 +08:00
parent e7c7f257e7
commit d59f2773e0
3 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,16 @@
# 知识点ja3指纹
## 解题思路
学习以下的文章基本能搞定ja3指纹
1. 深度剖析ja3指纹及突破
https://mp.weixin.qq.com/s?__biz=MzU0MjUwMTA2OQ==&mid=2247484649&idx=1&sn=42eb5319db1ca830ca81d75218e4c0e4&chksm=fb18f54bcc6f7c5de60395d03650aa7c6a30e37407989c604c31ffa1076d071a32afcb0556c4&scene=21#wechat_redirect
2. python完美突破tls/ja3
https://mp.weixin.qq.com/s/GU2AgushvIEtLHtYR7BQzg
3. python完美突破tls/ja3大树乘凉版
https://www.bilibili.com/read/cv17499645/
4. 安装方式
https://github.com/synodriver/pycurl/blob/master/special.markdown
5. python(二)进阶之pycurl
https://www.osgeo.cn/pycurl/quickstart.html

View File

@ -0,0 +1,64 @@
import pycurl
import json
# 打印看下pycurl的版本是否和文章中的一致
print(pycurl.version)
result = 0
def my_func(data):
global result
d = json.loads(data)['data']
for i in d:
result += int(i['value'])
print(result)
headers = [
'Host: www.python-spider.com',
'accept: application/json, text/javascript, */*; q=0.01',
'accept-language: zh-CN,zh;q=0.9',
'content-type: application/x-www-form-urlencoded; charset=UTF-8',
'cookie: 你的cookie',
'origin: https://www.python-spider.com',
'referer: https://www.python-spider.com/challenge/22',
'sec-ch-ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"',
'sec-ch-ua-mobile: ?0',
'sec-ch-ua-platform: "Windows"',
'sec-fetch-dest: empty',
'sec-fetch-mode: cors',
'sec-fetch-site: same-origin',
'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)'
' Chrome/103.0.0.0 Safari/537.36',
'x-requested-with: XMLHttpRequest'
]
curl = pycurl.Curl()
curl.setopt(
curl.SSL_CIPHER_LIST,
'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,'
'TLS_CHACHA20_POLY1305_SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,'
'ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,'
'ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-CHACHA20-POLY1305,'
'ECDHE-RSA-CHACHA20-POLY1305,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES256-SHA,'
'AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA,AES256-SHA'
)
curl.setopt(curl.HTTP_VERSION, curl.CURL_HTTP_VERSION_2_0)
curl.setopt(curl.SSLVERSION, curl.SSLVERSION_TLSv1_2)
curl.setopt(curl.SSL_ENABLE_NPN, 0)
curl.setopt(curl.SSL_ENABLE_ALPS, 1)
curl.setopt(curl.SSL_CERT_COMPRESSION, "brotli")
curl.setopt(pycurl.HTTP2_PSEUDO_HEADERS_ORDER, "masp")
curl.setopt(pycurl.HTTPHEADER, headers)
# my_func是处理数据返回的回调事件
curl.setopt(pycurl.WRITEFUNCTION, my_func)
url = 'https://www.python-spider.com/api/challenge22'
for i in range(1, 101):
data = "page={}".format(i)
curl.setopt(pycurl.POSTFIELDS, data)
curl.setopt(pycurl.URL, url)
curl.perform()
curl.close()

View File

@ -0,0 +1,8 @@
import sys
import os
base = os.path.join(sys.prefix, "lib", "libcurl-impersonate-chrome.so")
with open(base, "rb") as inp, open("/usr/lib/libcurl-impersonate-chrome.so.4", "wb") as out:
data = inp.read()
out.write(data)