DEV Community

Peppa
Peppa

Posted on

CBJS: SSRF 5

Detail

  • Mục tiêu: Được biết có một server FTP nội bộ, hãy lợi dụng để đọc nội dung file flag.txt ở /flag.txt
  • Khi truy cập vào admin ta sẽ thấy thông tin của server được response Image description

Image description

  • Nhận thấy rằng server có địa chỉ private ip là 192.168.128.4 và có netmask là 255.255.240.0

  • Giờ hãy tìm kiến dải ip nội bộ của mạng này

Địa chỉ ip sẽ gồm có 2 phần: network bits và host bits
Network bits: sẽ xác định địa chỉ ip đó thuộc mạng con (subnet) nào
Host bits: sẽ xác thiết bị (host) nằm trong mạng con đó
Với netmask 255.255.240.0 = 11111111.11111111.11110000.00000000 sẽ có 20 network bits và có 12 host bits. Cho phép tối đa 2^12 - 2 thiết bị
Địa chỉ ip 192.168.128.4 = 1100000.10101000.1000000.00000100
Dải ip khả dụng sẽ nằm trong khoảng địa chỉ mạng (network address) đến địa chỉ boardcast (boardcast address)
Tìm địa chỉ mạng: lấy phép AND giữa ip và netmask = 11000000.10101000.10000000.00000000 = 192.168.128.0
Tìm địa chỉ boardcast: Đảo bit netmask = 00000000.00000000.00001111.11111111 sau đó sử dụng phép OR giữa các bit vừa đảo với địa chỉ ip = 11000000.10101000.10001111.11111111 = 192.168.143.255

  • Vậy dải private ip lúc này sẽ là từ 192.168.128.1 đến 192.168.143.254 vì phải trừ đia 2 địa chỉ là network và boardcast

Địa chỉ mạng: Xác định mạng mà các địa chỉ ip thuộc về
Địa chỉ boardcast: Được sử dụng để gửi dữ liệu cho tất cả các thiết bị trong mạng đó

  • Server ftp có link sẽ là ftp:// Image description

Image description

Image description

Top comments (0)