DDos
VIP Members
-
22/10/2013
-
524
-
2.191 bài viết
Phân tích mã nguồn PHP để tìm lỗ hổng ứng dụng web
Trong bài viết trước mình đã chia sẻ về nguyên tắc hoạt động của các công cụ phân tích mã nguồn PHP để tìm các lỗ hổng có thể tồn tại trong ứng dụng web, cũng như các mã nguồn PHP có thể bị khai thác. Phương pháp phân tích mã nguồn để tìm kiếm lỗ hổng web thường được gọi là thử nghiệm thâm nhập hộp trắng (whitebox). Bởi vì, bạn có thể được cung cấp mã nguồn ứng dụng web của một tổ chức để xem xét chi tiết, kỹ lưỡng độ an toàn của ứng dụng web đó.
Ở bài viết này, mình sẽ giới thiệu với các bạn một công cụ để đơn giản hóa việc tìm kiếm các đoạn mã PHP có thể gây ra các lỗ hổng trong ứng dụng web khi chúng không được kiểm soát chặt chẽ dữ liệu đầu vào từ phía người sử dụng.
Công cụ có tên là progpilot, được viết bằng PHP nhằm mục đích quét các đoạn mã nguồn và hiển thị các đoạn mã có thể bị khai thác tương ứng.
Cách sử dụng công cụ progpilot
1. Tải về công cụ phar-composer bằng lệnh
2. Tải về và cài đặt progpilot bằng lệnh
3. Mở công cụ progpilot
4. Sử dụng công cụ này rất đơn giản. Bạn chỉ cần cung cấp đầu vào là các tệp PHP cần để kiểm tra. Công cụ này bao gồm rất nhiều các rules để phân tích mã nguồn. Tất cả các rules các bạn xem tại đây.
Ví dụ, mình lấy một mã nguồn PHP chứa lỗ hổng web, cụ thể là lỗ hổng SQLi tồn tại trong giá trị cookie.
Kết quả trả về là như dưới đây:
Như các bạn có thể thấy, công cụ đã chỉ đích danh đoạn mã được viết chưa tốt cùng với lỗ hổng tương ứng.
Một ví dụ khác, về một đoạn mã tồn tại lỗ hổng tiêm lệnh.
Ở bài viết này, mình sẽ giới thiệu với các bạn một công cụ để đơn giản hóa việc tìm kiếm các đoạn mã PHP có thể gây ra các lỗ hổng trong ứng dụng web khi chúng không được kiểm soát chặt chẽ dữ liệu đầu vào từ phía người sử dụng.
Công cụ có tên là progpilot, được viết bằng PHP nhằm mục đích quét các đoạn mã nguồn và hiển thị các đoạn mã có thể bị khai thác tương ứng.
Cách sử dụng công cụ progpilot
1. Tải về công cụ phar-composer bằng lệnh
Mã:
wget https://github.com/clue/phar-composer/releases/download/v1.1.0/phar-composer-1.1.0.phar
mv phar-composer-1.1.0.phar /usr/local/bin/phar-composer.phar
2. Tải về và cài đặt progpilot bằng lệnh
Mã:
git clone https://github.com/designsecurity/progpilot
cd progpilot
./build.sh
3. Mở công cụ progpilot
4. Sử dụng công cụ này rất đơn giản. Bạn chỉ cần cung cấp đầu vào là các tệp PHP cần để kiểm tra. Công cụ này bao gồm rất nhiều các rules để phân tích mã nguồn. Tất cả các rules các bạn xem tại đây.
Ví dụ, mình lấy một mã nguồn PHP chứa lỗ hổng web, cụ thể là lỗ hổng SQLi tồn tại trong giá trị cookie.
Kết quả trả về là như dưới đây:
Như các bạn có thể thấy, công cụ đã chỉ đích danh đoạn mã được viết chưa tốt cùng với lỗ hổng tương ứng.
Một ví dụ khác, về một đoạn mã tồn tại lỗ hổng tiêm lệnh.