Jika saya ingin menguji kerentanan Path Traversal dalam aplikasi web, URL target biasanya https://example.com/../../path
. Menggunakan metode GET dalam permintaan, URL itu akan dinormalisasi seperti di bawah ini. Akibatnya, ini akan menyebabkan hasil yang tidak diinginkan dalam tes.
r = requests.get('https://example.com/../../path')
print(r.url)
# https://example.com/path
Dengan curl
, kami memiliki opsi untuk mengabaikan normalisasi : --path-as-is
. Jadi, apakah kita memiliki opsi yang setara untuk requests
?
@EDjur Terima kasih atas informasinya. Apakah Anda tahu solusi untuk menyelesaikan ini?
Coba gunakan permintaan yang sudah disiapkan
url = "http://example.com/../something.txt"
s = requests.Session()
req = requests.Request(method='POST' ,url=url, headers=headers, data=data)
prep = req.prepare()
prep.url = url
r = s.send(prep, verify=False)
@akmalhisyam Terima kasih banyak. Ini bekerja dengan baik.
@akmalhisyam benar di sini. Menggunakan alur kerja PreparedRequests biasanya akan menyelesaikan masalah seperti ini jika Anda HARUS secara eksplisit mengatur sesuatu.
Komentar yang paling membantu
Coba gunakan permintaan yang sudah disiapkan