Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux
Trong bài viết này chúng ta sẽ giải quyết nhiệm vụ thứ 25 từ trang web pwnable.kr.

thông tin tổ chứcĐặc biệt đối với những người muốn tìm hiểu điều gì đó mới và phát triển trong bất kỳ lĩnh vực thông tin và bảo mật máy tính nào, tôi sẽ viết và nói về các danh mục sau:

  • PWN;
  • mật mã (Crypto);
  • công nghệ mạng (Network);
  • đảo ngược (Kỹ thuật đảo ngược);
  • kỹ thuật giấu tin (Stegano);
  • tìm kiếm và khai thác các lỗ hổng WEB.

Ngoài ra, tôi sẽ chia sẻ kinh nghiệm của mình về điều tra máy tính, phân tích phần mềm độc hại và chương trình cơ sở, các cuộc tấn công vào mạng không dây và mạng cục bộ, tiến hành các cuộc tấn công dồn dập và viết các khai thác.

Để bạn có thể tìm hiểu về các bài viết mới, phần mềm và các thông tin khác, tôi đã tạo kênh trong Telegram и nhóm để thảo luận về bất kỳ vấn đề trong khu IIKB. Ngoài ra các yêu cầu, câu hỏi, đề xuất và khuyến nghị cá nhân của bạn Mình sẽ xem và reply cho mọi người..

Tất cả thông tin chỉ được cung cấp cho mục đích giáo dục. Tác giả của tài liệu này không chịu trách nhiệm về bất kỳ thiệt hại nào gây ra cho bất kỳ ai do sử dụng kiến ​​thức và phương pháp thu được từ việc nghiên cứu tài liệu này.

Giải quyết nhiệm vụ otp

Hãy tiếp tục với phần thứ hai. Tôi sẽ nói ngay rằng nó phức tạp hơn lần đầu tiên, nhưng lần này họ không cung cấp mã nguồn của chương trình. Đừng quên thảo luận tại đây (https://t.me/RalfHackerPublicChat) và tại đây (https://t.me/RalfHackerChannel). Hãy bắt đầu nào.

Bấm vào biểu tượng có chữ ký otp. Chúng tôi được cung cấp một địa chỉ và cổng để kết nối.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Chúng tôi kết nối và nhìn xung quanh máy chủ.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Một lá cờ mà chúng ta không thể đọc được, một chương trình và mã nguồn của nó. Hãy nhìn vào nguồn.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Hãy sắp xếp nó ra. Chương trình lấy mật khẩu làm đối số.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Tiếp theo, 16 byte ngẫu nhiên được lưu trữ trong biến otp.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Một tệp có tên ngẫu nhiên được tạo trong thư mục tmp (8 byte đầu tiên là otp) và 8 byte ngẫu nhiên được ghi vào đó (8 byte thứ hai là otp).

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Vì lý do nào đó, giá trị của tệp đã tạo sẽ được đọc và so sánh với mật khẩu đã nhập.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Đây là nơi mà lỗ hổng xuất hiện. Nó bao gồm việc lưu tạm thời số được tạo vào một tệp. Chúng ta có thể giới hạn kích thước file, ví dụ bằng 0, khi ghi và đọc sẽ so sánh 0 với mật khẩu, cách này có thể thực hiện như sau.

# ulimit -f 0

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Bây giờ hãy chạy chương trình.

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Chúng tôi gặp lỗi. Không thành vấn đề, nó có thể được xử lý bằng cùng một con trăn.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

Giải quyết nhiệm vụ với pwnable.kr 25 - otp. Giới hạn kích thước tệp Linux

Chúng tôi nhận được lá cờ và 100 điểm dễ dàng của chúng tôi. Và chúng ta tiếp tục: trong bài viết tiếp theo, chúng ta sẽ đề cập đến Web. Bạn có thể tham gia cùng chúng tôi tại Telegram.

Nguồn: www.habr.com

Thêm một lời nhận xét