Javascript Injection

Chuyên đề thảo luận về Security Testing.
Forum rules
Chuyên đề này chỉ thảo luận về Security Testing.
Để có kết quả nhanh, các bạn nên search trước khi tạo chủ đề mới.
Post Reply
tvn1
Jr. Tester
Posts: 67
Joined: Fri 26 Jul, 2013 12:32 am
Contact:

Javascript Injection

Post by tvn1 »

Javascript là 1 công nghệ được sử dụng rộng rãi trong website hoặc các ứng dụng web. Javascript được có thể được dùng cho tất cả những function hữu ích cũng chính điều đó một số vấn đề về bổ sung an ninh cần được nghĩ đến và thực hiện. Javascript không chỉ dùng cho mục đích tốt mà nó cũng có thể cho mục đích độc hại.

Sử dụng Javascript có thể modified và thay đổi thông tin trong 1 form. Nó không chỉ sử dụng để thay đổi hình thức thẻ input mà còn là cookie đang được set trong trình duyệt và bất kì giá trị nào khác trong trang web hoặc ứng dụng web. Bất kì loại hình xử lý parameter nào mà bạn muốn thực hiện cũng có thể là Javascript Injection.

Để thực hiện bất kì javascript trong session hiện tại, người dùng sẽ nhập vào lệnh Javascript cụ thể trong thanh địa chỉ của trình duyệt http://, tất cả các lệnh javascript phải bắt đầu với javascript: thẻ tiếp theo bất kỳ lệnh javascript sẽ được thực hiện. Tất cả các javascript được kết thúc bằng một dấu ";" vì thế người dùng có thể nhập nhiều lệnh javascript, miễn là mỗi lệnh kết thúc với ";"



tvn1
Jr. Tester
Posts: 67
Joined: Fri 26 Jul, 2013 12:32 am
Contact:

Re: Javascript Injection

Post by tvn1 »

Dùng Javascript có thể modify được setting của cookie hiện hành. Điều này có thế thực hiện với các lệnh Javascript cơ bản. Để view được các nội dung của cookie hiện tại dùng lệnh Javascript sau(nhớ đặt lệnh này trong thanh địa chỉ URL của trình duyệt)
javascript:alert(document.cookie);

Lệnh này có thể popup 1 danh sách các cookie hiện tại. Một malicious user có thể dùng javascript để thay đổi các giá trị trong cookie. Ví dụ: Web bạn đang test có cookie được cấp quyền là true, bạn login thành công và vượt qua việc kiểm tra việc cấp quyền đó. Để change giá trị cookie malicious user sẽ thực thi 1 lệnh javascript từ url trên trình duyệt như sau:
javascript:void(document.cookie="authorization=true");

Điều này sẽ làm cho parameter trong cookie hiện tại authorization=false được change thành authorization=true, cái mà malicious user không thể có quyền ngày từ đầu. Malicious user phải đi đường vòng để kiểm tra đặc quyền và lấy những nội dung nhạy cảm. Như các bạn có thể tưởng tượng, điều này gây ra vấn đề nghiêm trọng trong leo thang đặc quyền, nếu malicious user tiêm Javascript để đi đường vòng trong process cấp quyền chính xác.

Nếu bạn đang thử nghiệm tiêm JavaScript và muốn xem các tập tin cookie đã bị thay đổi bạn sẽ thực hiện một lệnh tương tự như sau, trừ trường hợp bạn muốn thay thế các tên cookie và giá trị so với cookie mà bạn mong muốn để kiểm tra. Bắt đầu với lệnh javascript để thay đổi các tập tin cookie và sau đó dính vào chức năng cảnh báo javascript để xem những gì các cookie đã được thay đổi để. Ví dụ
javascript:void(document.cookie="authorization=true");javascript:alert(document.cookie);


Bây giờ bạn có thể nhìn thấy các thông số cookie mới trong hộp popup.



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Javascript Injection

Post by tvn »

Moi cac ban tham khao xss testcase (mo ta cac truong hop co the xay ra do javascript)



Post Reply

Return to “Security Testing - Kiểm thử bảo mật”