Gh Actions - Context Script Injections

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

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.

Voorbeeld van 'n skripsie-inspuitingsaanval

'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:

Last updated