простая setuid бинарная эксплуатация

2991
MedAli

У меня есть программа setuid, которая выводит файл таким образом:

#include <stdlib.h> #include <stdio.h> int main(void) { system("ls /challenge/binary/binary1/.passwd"); return 0; } 

Что мне нужно, это заставить программу раскрывать содержимое файла вместо простого перечисления его имени. Поэтому я попытался создать псевдоним, чтобы изменить поведение ls следующим образом:

alias ls='cat' 

но все же, это не работает. Не могли бы вы указать мне правильное направление!

0
Почему бы не изменить `system (" ls` на `system (" cat`?) Вы пытаетесь найти способ злоупотребить программой, используя системную команду для выполнения действий, которые она не должна делать? M'vy 10 лет назад 1

2 ответа на вопрос

3
Gilles

Алиасы живут только в оболочке, которая их определила, и systemзапускают новую оболочку. Эта оболочка не будет читать ~/.bashrcили другие файлы, в которых обычно определяются псевдонимы: только интерактивные оболочки. Некоторые оболочки, но не все, читают другой файл, но существует независимый от оболочки способ использования этого.

Команда поиска команд Shell пытается следующие элементы в следующем порядке:

  • Псевдонимов - нет.
  • Функции - нет, по той же причине.
  • Встроенных - нет.
  • Команды в PATH- это должно быть по умолчанию.

Так что работа по обеспечению того, чтобы поиск в lsин $PATHповернет вверх catпрограмму.

0
LawrenceC

Изменить lsна cat.

lsсписок каталогов, он не отображает файлы. catделает это

Нет, это не вопрос! У меня есть скомпилированная версия программы setuid, и я должен изменить поведение программы, чтобы использовать cat вместо ls без необходимости изменения программы setuid MedAli 10 лет назад 0
На самом деле, если честно, ультразвук, Хе ответил на вопрос в письменном виде. Вы не упомянули об отсутствии источника. Действительно, в вопросе, который задал вам _provided_ источник. Вы также не упомянули, что пытаетесь взломать чужую программу. Плохой ультразвук не телепатический. JdeBP 10 лет назад 2
название довольно объяснительно! MedAli 10 лет назад 2

Похожие вопросы