Pag-atake sa mga online compilation system sa pamamagitan ng pagmamanipula ng mga file ng header

Hanno BΓΆck, may-akda ng proyekto fuzzing-project.org, napansin sa kahinaan ng mga interactive na interface ng compilation na nagpapahintulot sa pagproseso ng panlabas na code sa wikang C. Kapag tinukoy ang isang arbitrary na landas sa "#include" na direktiba, kasama sa isang error sa compilation ang mga nilalaman ng isang file na hindi ma-compile.

Halimbawa, sa pamamagitan ng pagpapalit ng β€œ#include ” sa code sa isa sa mga online na serbisyo, nakuha ng output ang isang hash ng password ng root user mula sa /etc/shadow file, na nagpapahiwatig din na ang serbisyo sa web ay tumatakbo na may mga karapatan sa ugat at nagpapatakbo ng mga command ng compilation bilang root (posible na ang isang nakahiwalay na container ay ginamit sa panahon ng compilation, ngunit ang pagtakbo bilang root sa isang container ay isang problema din). Ang problemang serbisyo kung saan posible na muling gawin ang problema ay hindi pa na-advertise. Ang mga pagtatangkang magbukas ng mga file sa pseudo FS /proc ay hindi matagumpay dahil itinuturing sila ng GCC bilang mga walang laman na file, ngunit gumagana ang pagbubukas ng mga file mula sa /sys.

Pinagmulan: opennet.ru

Magdagdag ng komento