Próbuję zhakować własną aplikację na Androida, która otwiera połączenie SSH z moim komputerem i wysyła polecenia.
Dążę do tego, aby interaktywność tego procesu była jak najmniejsza, aby miał on wrażenie pilota.
Dodałem „przełącznik” sudo, który po aktywacji poprosi o hasło sudo, które następnie uruchomi polecenie x do uruchomienia jako, sudo -S -p '' x
a następnie hasło zostanie wysłane do STDIN.
Problem polega na tym, że jeśli logowanie się nie powiedzie, polecenie będzie czekać na kolejne 2 próby podania hasła, dodając interaktywność, której nie chcę!
Wiem, że można edytować passwd_tries
w sudoers
pliku, ale wolałbym wiedzieć, czy istnieje sposób, aby ustawić to jako argument z sudo czy jest to również środowisko zmienną, która może być ustawiona?
Ktoś wie? Czy jest to niedozwolone ze względów bezpieczeństwa?
Odpowiedzi:
Po przejrzeniu
man sudo
i przejrzeniusudoers
pliku nie widzę żadnego sposobu na osiągnięcie pożądanego zachowania.Możliwe powody: Ze względów
bezpieczeństwa nie można zwiększyć liczby ponownych prób wprowadzenia hasła. Chociaż można było zmniejszyć liczbę ponownych prób podania hasła, wydaje mi się, że nie było to konieczne.
Możliwe rozwiązanie: przy użyciu opcji -S, ponieważ nie działa natychmiast, jeśli hasło jest nieprawidłowe:
źródło
Spróbuj skonfigurować osobne konto użytkownika i skonfiguruj
sudoers
plik, aby udzielić dostępu bez hasła.Alternatywnie, skonfigurować użytkownika, aby mieć
uid
z0
którym skutecznie to drugie konto administratora.Spowoduje to usunięcie dowolnego tajnego hasła z aplikacji na Androida. Naprawdę unikaj przechowywania wspólnych tajemnic, takich jak hasła użytkownika w postaci zwykłego tekstu.
źródło