Home > Web Application Penetration Testing > Nhận biết lỗi ứng dụng Web thông qua quá trình rà soát mã nguồn(phần 2)

Nhận biết lỗi ứng dụng Web thông qua quá trình rà soát mã nguồn(phần 2)


2) RATS (Rough Auditing Tool for Security)

Công cụ RATS cũng là một trong những công cụ thực hiện rà soát mã nguồn đối với một số ứng dụng được viết bằng các ngôn ngữ như C, C++, Perl, PHP, Python và Ruby do Secure Software Inc phát triển. Có download miễn phí công cụ tại (https://www.fortify.com/ssa-elements/threat-intelligence/rats.html). Cộng cụ này cũng chỉ dựa trên tập các hàm mà có nguy cơ gây ra lỗi bảo mật đối với dụng và nó thực hiện scan với tốc độc đáng nể !!!. Sau khi thực hiện chạy công cụ thì công cụ sẽ đưa ra một danh sách các hàm và vị trí trong mã nguồn, giúp người kiểm tra có thể nhanh chóng tập trung ra soát lại các hàm mà RATS đưa ra, kiểm tra liệu khi sử dụng các hàm đó đã an toàn hay chưa ? Một số tùy chọn trong công cụ RATS

usage: rats [options] [file]…

Options explained:

-d <filename>, –db <filename>, –database <filename>

Specifies a vulnerability database to be loaded.  You may

have multiple -d options and each database specified will

be loaded.

-h, –help      Displays a brief usage summary

-i, –input     Causes a list of function calls that were used which

accept external input to be produced at the end of the

vulnerability report.

-l <lang>, –language <lang>

Force the specified language to be used regardless of

filename extension. Currently valid language names are

“c”, “perl”, “php”, “python” and “ruby”.

-r, –references

Causes references to vulnerable function calls that are not

being used as calls themselves to be reported.

-w <level>, –warning<level>

Sets the warning level.  Valid levels are 1, 2 or 3.

Warning level 1 includes only default and high severity

Level 2 includes medium severity. Level 2 is the default

warning level 3 includes low severity vulnerabilities.

-x              Causes the default vulnerability databases (which are in

the installation data directory, /usr/local/lib by default)

to not be loaded.

-R, –no-recursion

Disable recursion into subdirectories.

–xml       Cause output to be in XML

–html      Cause output to be in HTML

–follow-symlinks

Evaluate and follow symlinks.

3) Spike Php Security Audit Tool

Công cụ spikephpSecAudit do SpikeSource phát triển và hoàn toàn miễn phí (có vẻ dự án bị dừng lại từ năm 2007, nhưng không sao, vẫn còn dùng tốt😀😀 :D). Có thể download tại (http://developer.spikesource.com/projects/phpsecaudit/) Ngoài ra nhóm này cũng có một số dự án hay liên quan, các bạn có thể vào trang web của nhóm này để tham khảo. Thực hiện kiểm tra mã nguồn rất đơn giản, chỉ cần download về giải nén và thực hiện:

php.exe run.php <thư mục chứa mã nguồn hoặc tập tin cần kiểm tra>

4) Graudit

Graudit cũng tương tự như công cụ RATS hỗ trợ rà soát nhiều mã nguồn. Tuy nhiên công cụ này chỉ chạy trên môi trường Linux. Các bạn có thể download tại đây (http://www.justanotherhacker.com/projects/graudit.html)

5) RIPS

Một công cụ tốt nhất về rà soát và đánh giá mã nguồn ứng dụng Web phát triển từ ngôn ngữ PHP. Thông tin chi tiết và download công cụ các bạn có thể truy cập tại đây http://sourceforge.net/projects/rips-scanner/

Sở dĩ nó là công cụ tốt nhất trong việc rà soát mà nguồn bởi vì công cụ RIPS không đơn giản là dựa vào tập nhận diện các hàm có thể xảy ra lỗi như là các công cụ đã giới thiệu RATS, GRAUDIT,AppCodeScan. Cách tiếp cận và kiểm tra mã nguồn dựa trên việc xác định các điểm vào của ứng dụng, từ đó thực hiện kiểm tra đối với những đối số đầu vào này trong mã nguồn ứng dụng (giống như cách tiếp cận mà seamoun đã giới thiệu ở trên)

Ngoài những công cụ trên thì còn rất nhiều công cụ được phát triển nhằm bổ trợ cho việc rà soát mã nguồn. Toàn bộ những công cụ mà seamoun giới thiệu ở trên là miễn phí. Các công cụ thương mại thì seamoun thấy hình ảnh quảng cáo rất đẹp và có nhiều tính năng nhưng không biết nó thế nào ?😀😀😀. Công cụ chỉ vẫn là công cụ nó chỉ giúp cho người kiểm tra một phần nào đó, không thể có một công cụ nào đủ thông minh mà làm thay thế hoàn toàn con người được. Nếu có một công cụ như thế chắc anh em bị đuổi việc hết😀😀😀. Việc kiểm tra mã nguồn đòi hỏi người kiểm tra phải có cách quan sát tinh tế + độ “quái” khi cần thiết.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: