Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Let daarop dat daar sekere github-kontekste is waarvan die waardes beheer word deur die gebruiker wat die PR skep. As die github-aksie daardie data gebruik om iets uit te voer, kan dit lei tot arbitrêre koderingvoering. Hierdie kontekste eindig tipies met body
, default_branch
, email
, head_ref
, label
, message
, name
, page_name
,ref
, en title
. Byvoorbeeld (lys van hierdie writeup):
- github.event.comment.body
- github.event.issue.body
- github.event.issue.title
- github.head_ref
- github.pull_request.*
- github.*.*.authors.name
- github.*.*.authors.email
Let daarop dat daar minder duidelike bronne van potensieel onbetroubare insette is, soos takname en e-posadresse, wat redelik buigsaam is in terme van hul toegelate inhoud. Byvoorbeeld, zzz";echo${IFS}"hello";#
sou 'n geldige taknaam wees en sou 'n moontlike aanvalsvektor vir 'n teikengit-opslag wees.
'n Skripsie-inspuitingsaanval kan direk binne 'n werkvloei se inline-skrips plaasvind. In die volgende voorbeeld gebruik 'n aksie 'n uitdrukking om die geldigheid van 'n pull request-titel te toets, maar voeg ook die risiko van skripsie-inspuiting by:
- name: Check PR title
run: |
title="${{ github.event.pull_request.title }}"
if [[ $title =~ ^octocat ]]; then
echo "PR title starts with 'octocat'"
exit 0
else
echo "PR title did not start with 'octocat'"
exit 1
fi
Voordat die skripsie uitgevoer word, word die uitdrukkings binne ${{ }}
geëvalueer en dan vervang met die resulterende waardes, wat dit kwesbaar maak vir skelmskripinjeksie.
Om bevele in hierdie werkstroom in te spuit, kan die aanvaller 'n trekversoek skep met 'n titel van a"; ls $GITHUB_WORKSPACE"
In hierdie voorbeeld word die "
karakter gebruik om die title=
"${{ github.event.pull_request.title }}"
verklaring te onderbreek, sodat die ls
bevel op die uitvoerder uitgevoer kan word.
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslagplekke.