내장 장치에서 쉘, 즉 쉘을 얻었 /bin/sh
지만 이는 극히 제한적입니다. ifconfig
, 또는 iptables
, 또는 cat
(예를 들어 cat whateverIwant
cat은 제외)와 같은 특정 인수를 사용하여 몇 가지 명령을 실행할 수 있습니다. /proc/cpuusage
이 셸을 우회하고 모든 명령 또는 종류를 실행할 수 있었습니다. 기본적으로 어떤 명령이라도 실행하려고 할 수 있지만(예 ping
를 들어) sh
그렇게 할 수 있는 권한은 없습니다.
오류: 기존 파일에 쓰려고 합니다.
/bin/sh: cannot create /bin/ping: Text file busy
ping을 실행하려고 합니다.
/bin/sh: Access Denied.
따라서 시나리오는 매우 특정한 쓸모 없는 명령만 실행할 수 있고 파일에 쓰고 파일 이름을 읽을 수 있다는 것입니다(파일을 읽는 것이 아님). 특정 파일, 즉 바이너리를 쓸 수 없다는 점에 유의하십시오. 사용되었지만 새 파일을 쓸 수 있습니다. 코드를 실행하는 데 도움이 될 수 있는 유일한 아이디어는 Windows에서 수행되는 것과 같은 일종의 "dll 하이재킹" 방법을 사용하는 것이지만 이것이 가능한지 여부는 알 수 없습니다.
편집: 추가 정보 -> 장치에는 USB 포트가 2개 있고 FTP 서비스가 있습니다. 텔넷을 사용하여 연결합니다.
답변1
/tmp에서 코드를 실행해 보세요. 여기에서 코드를 가져와서 실행 가능하게 만들고 실행할 수 있습니다.