cuốn sách gpt4 ai đã làm

Thực hành chiến đấu: Đăng nhập mô phỏng gửi thư

In lại Tác giả: Sahara Thời gian cập nhật: 2024-11-13 14:44:01 59 4
mua khóa gpt4 Nike

tình huống có vấn đề

Bạn bè trong nhóm nhầm lẫn gặp phải sự cố này. Sau khi đăng nhập vào trang web Mailivery, biểu mẫu đã gửi (địa chỉ email và mật khẩu cũng chính xác), tiêu đề yêu cầu, v.v. đều ổn. ? Than ôi, hãy hành động khi đến lúc phải hành động. Hãy để tôi xem điều gì sẽ xảy ra! .

  • url: https://app.mailivery.io/login

Ảnh chụp màn hình_20241113133726

Phân tích tham số đăng nhập

Rõ ràng, bạn cần: email (có xác minh email) và mật khẩu.

Mở công cụ dành cho nhà phát triển, nhập email và mật khẩu của bạn để đăng nhập và xem các yêu cầu cũng như phương thức của giao diện đăng nhập:

Ảnh chụp màn hình_20241113133929

URL yêu cầu: https://app.mailivery.io/login Phương thức yêu cầu: POST Mã trạng thái: Đã tìm thấy 302

302? ! Chuyển hướng? Sau khi đăng nhập không thành công, bạn được chuyển hướng đến trang web đăng nhập và được yêu cầu đăng nhập lại. Kiểm tra trực quan cho thấy các dự án front-end và back-end không bị tách biệt (Aba Aba). Nếu đăng nhập thành công, cookie được đặt khi đăng nhập thành công chắc chắn sẽ được chuyển hướng đến trang chủ hoặc bảng chính liên quan.

Kiểm tra tiêu đề gửi giao diện đăng nhập:

POST /đăng nhập HTTP/1.1 Chấp nhận: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed- Exchange;v=b3;q=0.7 Mã hóa chấp nhận: gzip, deflate, br, zstd Ngôn ngữ chấp nhận: zh-CN,zh;q=0.9 Kiểm soát bộ đệm: không có bộ đệm Kết nối: duy trì Độ dài nội dung: 341 Loại nội dung: application/x-www-form-urlencoded Cookie: XSRF-TOKEN=Bỏ qua mailivery_session=Bỏ qua; ; ...... DNT: 1 Máy chủ: app.mailivery.io Xuất xứ: https://app.mailivery.io Pragma: không có bộ đệm Người giới thiệu: https://app.mailivery.io/login Sec-Fetch-Dest: document Sec-Fetch-Mode: điều hướng Sec-Fetch-Site: cùng nguồn gốc Sec-Fetch-User: ?1 Yêu cầu nâng cấp-không an toàn: 1 người dùng -Tác nhân: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/130.0.0.0 Safari/537.36 sec-ch-ua: "Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99" sec- ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows"

Không có tham số mã hóa, emm..., nó thực sự trông rất đơn giản. Lưu ý rằng Loại nội dung là application/x-www-form-urlencoded.

Chúng ta hãy xem các thông số đã gửi:

_token=lCsu2Ruuw33uHlHkRlKwZG3C2tw7TQBjUoTo1yjz&trả_user_Khe2xqZLA4Tkq3py=&gửi ed_in_seconds=eyJpdiI6IjJ4OXdFK3ZPZklKUnNadXVtRTk0L3c9PSIsInZhbHVlIjoiNHg5NzJmUjM3Un lDOU1tanlnUHpWdz09IiwibWFjIjoiMDYxYmRkODU0YmY1ZjY0MDk4OWMzNmM5YWU5MjNmZDM4NTg5NzQ1M mM3MzBjNzQ3YjYxNTg0MjliYjFjYzM3OCIsInRhZyI6IiJ9&email=xxx%40foxmail.com&password=123

Hãy nhìn vào định dạng:

_token: lCsu2Ruuw33uHlHkRlKwZG3C2tw7TQBjUoTo1yjz đã trả_user_Khe2xqZLA4Tkq3py: đã gửi_in_giây: eyJpdiI6IjJ4OXdFK3ZPZklKUnNadXVtRTk0L3c9PSIsInZhbHVlIjoiNHg5NzJmUjM3UnlDOU1tanlnUHpWdz09IiwibWFjIjoi MDYxYmRkODU0YmY1ZjY0MDk4OWMzNmM5YWU5MjNmZDM4NTg5NzQ1MmM3MzBjNzQ3YjYxNTg0MjliYjFjYzM3OCIsInRhZyI6IiJ9 email: xxx%40foxmail.com mật khẩu: 123

Đối với việc gửi biểu mẫu, có ít nhiều tham số xác minh, chẳng hạn như ở đây: _token, pay_user_Khe2xqZLA4Tkq3py, submit_in_seconds.

Sau nhiều lần gửi đăng nhập, người ta nhận thấy rằng các giá trị của _token và submit_in_seconds đang thay đổi và những gì đã thay đổi trong pay_user_Khe2xqZLA4Tkq3py là phần sau pay_user_. Và các tham số này có liên quan đến cookie của cửa sổ, nếu không nhất quán sẽ xảy ra lỗi 416 khiến trang hết hạn. Có vẻ như đây là một điểm chống leo. Hãy nhớ những gì tôi đã nói, trang web này không được tách biệt khỏi mặt trước và mặt sau, vì vậy các tham số này phải được ẩn trong biểu mẫu. Tìm kiếm phần tử để phân biệt submit_in_seconds.

Ảnh chụp màn hình_20241113135213

Rất tốt, bạn có thể xem nguồn gốc của ba tham số của chúng tôi, hãy xem:

Truy cập trang web đăng nhập (GET) và nhận được ba tham số Cookie được đặt trong tiêu đề phản hồi tại thời điểm này không có hiệu lực đăng nhập. Trang web đăng nhập (POST) mang ba tham số và chuyển hướng dựa trên kết quả: Nếu đăng nhập thất bại, Cookie. được đặt trong tiêu đề phản hồi tại thời điểm này. Việc mang cookie yêu cầu chúng tôi tiếp tục đăng nhập. Nếu đăng nhập thành công, cookie được đặt trong tiêu đề phản hồi tại thời điểm này sẽ có hiệu ứng đăng nhập. đi thẳng đến trang chủ.

Tiếp theo, triển khai nó bằng Python và tạo login.py và Dashboard.py.

login.py thực hiện giao diện đăng nhập:

yêu cầu nhập url = "https://app.mailivery.io/login" _token = '' pay_user = '' submit_in_seconds = '' email = 'xxx%40163.com' mật khẩu = 'xxxxxxx' payload=f'_token={ _token}&{pay_user}=&submit_in_seconds={submit_in_seconds}&email={email}&password={password}' headers = { 'Chấp nhận': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed- Exchange;v=b3;q=0.7', 'Ngôn ngữ chấp nhận': 'zh-CN,zh;q=0.9', 'Máy chủ': 'app.mailivery.io', 'Xuất xứ': 'https://app.mailivery.io', 'Người giới thiệu': 'https://app.mailivery.io/login', 'Sec-Fetch-Dest': 'tài liệu', 'Chế độ tìm nạp giây': 'điều hướng', 'Trang web tìm nạp giây': 'cùng nguồn gốc', 'Người dùng tìm nạp giây': '?1', 'Yêu cầu nâng cấp-không an toàn': '1', 'Tác nhân người dùng': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/130.0.0.0 Safari/537.36', 'sec-ch-ua': '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows "', 'Bánh quy': 'XSRF-TOKEN=eyJpdiI6Ikk1WjFjMFRsdVhKdzBuMjBWamNVVEE9PSIsInZhbHVlIjoiblAzS0ZBOEUyK1lXWGV0 ZXhuT1Y5MldLc290d2ZzL0E3dTQxT3BDMmNGR3d6aG0vamhUekozeVFCUVVVczRJSWxxQTM1ZGpvOU5KTm11bFp4N EsvWGlObUJ6V1A3WWc1WFJXcUlPYWYzYTgrSGNMZ2VtM0s1R0tGUlJ4Z0ZMSy8iLCJtYWMiOiI2NGUxYmNhMjEwMm E3ZDNmOTc4OTcxMWVlZGY3ODIyNDZhODBiYzUxZjVhMWE2YWZkMWVhOGM2YjA4MmQzYmY0IiwidGFnIjoiIn0%3D; mailivery_session=eyJpdiI6IjVwL1QwUHNhMTlTdGUyZ0ozUzY3aGc9PSIsInZhbHVlIjoiYlNuSXI2d2tKWjMr YjFpVmx1Ym5uTEVOUGhXZjFKRGhVV1VMeXRHQ1BpRWFsV0ZnYVFkNDd4Vm9wdXY1ZelqVWpVL2xhSytNdnBDYS9NNHR BWmNzRDF4ZjJtWFhPTHFJRFBLVnNYSmFPMW9HSkEweVVpQTZZVjhJU2k5WSswR0oilLCJtYWMiOiJkYzg0ZmY2ODEwZ mEyMzczNzU5NGU4YzMwYjA2MDRlZTc0ZWJiNDc4ZDBhMDU4OTgyM2E3NDMzZDM3NmRmNTcxIiwidGFnIjoiIn0%3D', 'Loại nội dung': 'application/x-www-form-urlencoded', 'Kết nối': 'keep-alive' } reply = request.request("POST", url, headers=headers, data=payload, allow_redirects= Sai, proxy={ 'http': Không, 'https': Không }) print(response.headers) print(response.status_code)

Lưu ý rằng tôi đã nói rằng cookie có liên quan chặt chẽ với ba tham số. Các cookie trên được GET thu được trên trang đăng nhập và ba tham số đều giống nhau.

Tôi đã bỏ qua các giá trị của ba tham số. Cần đặc biệt chú ý: khi yêu cầu, tốt nhất nên đặt giá trị của allow_redirects thành Sai, vì lớp cơ bản chuyển hướng khác với trình duyệt. Đúng, bạn sẽ thấy rằng cookie của bạn luôn không hợp lệ. Bởi vì quá trình chuyển hướng sau xảy ra:

Khi email mật khẩu đúng: đăng nhập -> bảng điều khiển -> đăng nhập Khi email mật khẩu không chính xác thông tin nhập chưa được xác định: đăng nhập -> Trang hết hạn

Tại sao cuối cùng tôi phải đăng nhập lại?

Cookie hoặc ba tham số số lượng chưa sẵn có trong phần hỗ trợ phụ.

Chúng tôi chỉ cần lấy Set-Cookie giá trị trong tiêu đề phản hồi trước khi chuyển sang trang tổng quan, tức là XSRF-TOKEN và mailivery_session.

Vì vậy, chúng tôi đã liên tục sử dụng chuyển hướng cho các yêu cầu.

Tiếp theo, hãy xem tệp Dashboard.py, chủ yếu để kiểm tra xem việc lấy cookie có hợp lệ hay không:

yêu cầu url nhập = "https://app.mailivery.io/campaign/dashboard" payload={} xsrf_token = 'xxx' mailivery_session = 'xxx' headers = { 'Cookie': f'XSRF-TOKEN={xsrf_token} ;mailivery_session={mailivery_session}', 'Tác nhân người dùng': 'Mozilla/5.0 (Windows NT 10.0; Win64; ': 'tiếp tục tồn tại' } phản hồi = request.request("GET", url, headers=headers, data=payload, proxy={ ' http': Không, 'https': Không }) print(response.text)

Đầy đủ bộ mô phỏng

Cookie ban đầu, sau đó đăng nhập dựa trên email và mật khẩu, sau đó truy cập trang tổng quan bằng cookie.

  1. Việc lấy thông tin này tự động rất đơn giản, thông qua cú pháp phân tích etree trong lxml và cookie được lấy thông tin phản hồi tiêu đề request.

  2. If mật khẩu đăng nhập Sau đó, thông tin đăng nhập cũng rất đơn giản. nhập đúng, bạn sẽ nhận được hợp lệ cookie.

  3. Cuối cùng, valid cookie đăng nhập được lấy từ cấp độ trước đó.

Cookie không hợp lệ !

Với một thay đổi, nếu có vấn đề với các biểu mẫu tham số và cookie cấm đầu thu thập tự động, 416 sẽ được phản hồi theo yêu cầu. Sẽ phản hồi với 200. 200 có thiết yếu nhất phải là điều tốt không? đến trang tổng quan thì nó phải là 302! lại, ví dụ 3 giây? Tất cả đều có thể. và thử cho đến khi xảy ra lỗi 302.

Mã hoàn chỉnh không được cung cấp, bạn chỉ cần tự mình tìm nó ~.

Nếu bạn muốn biết thêm về chiến đấu thực tế: Đăng nhập mô phỏng qua thư, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết viết liên quan.

59 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress