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 bảo mật [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server  XML
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 08/03/2008 23:37:47 (+0700) | #91 | 118548
nbthanh
HVA Friend

Joined: 21/12/2001 14:51:51
Messages: 429
Offline
[Profile] [PM]

conmale wrote:

mrro wrote:

Đương nhiên xây dựng một hệ thống như thế đòi hỏi tiền bạc, thời gian, nhân lực và rõ ràng là không thể áp dụng cho HVAOnline.

- đối với một hệ thống như HVAOnline, chúng ta có thể điều chỉnh bằng các rule, chẳng hạn như:

+ ủy thác thực hiện các chức năng quan trọng vào một lớp IP nhất định.

+ trước khi thực hiện bất kỳ chức năng nào, phải verify lại mật khẩu.

+ tách bạch giữa account quản lý và account sinh hoạt trên diễn đàn (chẳng hạn như "quanlytruong")

+ ...
 

Điểm thứ 1 ok, đã áp dụng (như điểm thứ 3).
Điểm thứ 2 hơi kẹt smilie.
Điểm thứ 3 gần giống điểm thứ 1.

Hầu hết các chức năng quan trọng đều nằm trong administrator account và nó được "quản chế" khá chặt. Các account moderators có thể làm được một số công tác quan trọng khác nhưng không thể làm hàng loạt được smilie. Đây là nguyên tắc bảo mật căn bản. 

Điểm thứ 2 của Thái không phải là không hữu dụng. Mình có thể chia ra làm 2 cấp:
* Cấp đầu tiên: Mọi action "nguy hiểm" đều phải qua 1 bước đệm để confirm, và action cuối cùng chỉ được thực hiện thông qua 1 POST request. Ví dụ, khi xóa bài viết, thay vì hiển thị lên cái pop-up javascript "Are you sure?", thì mình làm 1 page Confirm "Are you sure?" từ server side. Và khi click "Yes" sẽ POST request lên server. Cách làm này có nhiều lợi điểm:
- Không giảm thiểu mấy về mặt tiện dụng. Hiện thêm 1 cái confirmation để hỏi Yes/No cho các tác vụ nguy hiểm như delete chẳng hạn thì sẽ không có ai than phiền gì đâu; mà có khi còn được hoan nghênh nữa là khác smilie
- Cản được khá nhiều các tấn công kiểu cross-site. Vì thứ nhất wwwect trong HTTP không hỗ trợ POST; sẽ giảm thiểu được kiểu tấn công bằng cách wwwect qua/lại giữa các node (pc của hva user, server hva, server/pc của attacker). Thứ hai, mình có thể lợi dụng cái trang confirmation đệm ở giữa này để tạo 1 security token riêng cho cái action đó; như vậy attacker có send được 1 cái POST request đến server HVA thì cũng gặp khó khăn hơn vì cái security token này attacker cũng khó mà có được.

* Cấp thứ 2 là làm thêm 1 ô verify password ở cái trang "Are you sure?". Xét về mặt tiện dụng thì có hơi bất tiện 1 chút. Nhưng giả sử với 1 action nguy hiểm như "delete sạch 1 box của diễn đàn (và có thể các box con của nó)" thì thêm 1 ô verify password cũng đâu có gì là quá đáng smilie

Và cái điểm thứ 2 của Thái này anh Diêu cũng đã dùng 5-6 năm nay ở diễn đàn mình rồi (mọi tác vụ đều phải nhập username/password và POST), có gì "kẹt" đâu smilie

Tuy nhiên, kiểu gì thì kiểu nhưng vẫn không thể nào hoàn hảo được. Mình phải chấp nhận sự cân bằng giữa nhiều yếu tố ở mức độ nào đó mà thôi.

P/S: Có ai thử làm post 1 bài viết trên forum HVA mà muốn xóa nó sẽ rất cực, thậm chí có thể gần như không xóa được nó nếu không biết cái trick smilie
Cho tới thời điểm post bài, HVA vẫn bị "lỗi" này. "Lỗi" này "phá chơi" cho vui chứ không hại gì nhiều. Mà cũng rất dễ làm smilie
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 11/03/2008 15:38:17 (+0700) | #92 | 118908
bietchetlien007
Member

[Minus]    0    [Plus]
Joined: 06/03/2008 21:35:18
Messages: 21
Offline
[Profile] [PM]

gamma95 wrote:

boom_jt wrote:
hì hì, bồ cứ đưa đoạn mã bị sql inj, mình đảm bảo fix đc á smilie

xss như đoạn bồ vừa nói là 1 trường hợp rất hay, (cũng filter đc chớ smilie giả dụ ko cho thực hiện câu javascript tiếp theo bằng dấu ; - js mà ko có ; thì có thực hiện tiếp đc ko nhỉ smilie)
@mR.Bi: lọc hết js thì mất hết hay của web rùi còn gì smilie 

hehe, XSS mà bồ đi lọc dấu chấm phẩy àh? Hay là thấy trường hợp của tui rồi mới nảy ra ý lọc dấu chấm phẩy (j/k).
Còn đoạn code bị SQL injection là thế này đây
Tui có một website về 1 giải bóng đá (WC 2010) chẳng hạn:
giải đấu được chia ra làm 10000 bảng: smilie
muốn xem thông tin các đội trong 1 bảng, ví dụ bảng A đi: thì truy cập URL:
http://football.com/info.php?table=A
trong source-code
$sql="select * from $_GET[table]";
.......
hehe, lúc đó hacker tấn công SQL injection ở mức cơ bản
http://football.com/info.php?table=Admin
hoặc
http://football.com/info.php?table=Infomation_schema.tables
.....
thì bồ xây dựng bộ lọc SQL injection trong trường hợp này thế nào ?? smilie
@vivashadow: Bồ làm một bài về httpOnly đi, tui có nhiều thắc mắc về nó smilie  


Sao lại không lọc được, chỉ cần tạo mảng chứa các table nhạy cảm hoặc có thể đặt tên table như: _A, _B
$sql="select * from _".$_GET[table];

Trong PHP có hỗ trợ session_ regenerate_ id, có thể sau 3 request thì tạo lại session_id. Mod vào xem bài viết (1), thực hiện xóa bài (2), trở về lại(3). Tuy nhiên cách này lại xung đột với token nếu thao tác kiểu inline mod. session_id đã đổi nhưng giá trị token của trang hiện tại vẫn còn vì chưa load lại trang.

HVA còn lờ đi phần Ghi nhớ, chứ nếu có nữa thì còn nhiều vấn đề phải bàn. Không có tính năng này thì ít ra cũng nên đặt Login box bên ngoài để login cho nhanh, chứ cứ mỗi lần phải vào Đăng nhập thì rất mất cảm tình.

p/s: Theo mình thì khó mà chống mất cookie, mình chơi nghệ sĩ hơn là có lấy được nhưng không xài được smilie
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 11/03/2008 16:42:33 (+0700) | #93 | 118911
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

bietchetlien007 wrote:
......

Sao lại không lọc được, chỉ cần tạo mảng chứa các table nhạy cảm hoặc có thể đặt tên table như: _A, _B
$sql="select * from _".$_GET[table];

Trong PHP có hỗ trợ session_ regenerate_ id, có thể sau 3 request thì tạo lại session_id. Mod vào xem bài viết (1), thực hiện xóa bài (2), trở về lại(3). Tuy nhiên cách này lại xung đột với token nếu thao tác kiểu inline mod. session_id đã đổi nhưng giá trị token của trang hiện tại vẫn còn vì chưa load lại trang.
 

Thử suy nghĩ xem đổi sessionid sẽ giúp cái gì?

bietchetlien007 wrote:

HVA còn lờ đi phần Ghi nhớ, chứ nếu có nữa thì còn nhiều vấn đề phải bàn. Không có tính năng này thì ít ra cũng nên đặt Login box bên ngoài để login cho nhanh, chứ cứ mỗi lần phải vào Đăng nhập thì rất mất cảm tình.
 

Không phải là lờ mà là cố tình. Bồ có biết lý do tại sao cố tình làm như thế không?

bietchetlien007 wrote:

p/s: Theo mình thì khó mà chống mất cookie, mình chơi nghệ sĩ hơn là có lấy được nhưng không xài được smilie  

Hơi lạc đề. Thử lấy cookie của tôi xem có được hay không mà cho rằng "Theo mình thì khó mà chống mất cookie"?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 12/03/2008 04:17:14 (+0700) | #94 | 118968
bietchetlien007
Member

[Minus]    0    [Plus]
Joined: 06/03/2008 21:35:18
Messages: 21
Offline
[Profile] [PM]
Biết chết liền smilie
Đợi 3 lần thì quá lâu, cái class này làm luôn 1 lần.
www.phpclasses.org/browse/package/2794.html

Cần có ví dụ cụ thể về cuộc tấn công của member kia, chứ vầy thì lẫn lộn giữa XSS và session hijacking + XSS
Cố tình lờ đi cái Ghi nhớ chắc là sợ bị flood hoặc gì gì đó smilie

p/s: Cái editor của forum này chuối thật, không nhận biết được con trỏ đang ở đâu, lúc nào nó cũng chèn vào cuối bài viết.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 12/03/2008 05:03:59 (+0700) | #95 | 118975
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

bietchetlien007 wrote:
Biết chết liền smilie
Đợi 3 lần thì quá lâu, cái class này làm luôn 1 lần.
www.phpclasses.org/browse/package/2794.html

Cần có ví dụ cụ thể về cuộc tấn công của member kia, chứ vầy thì lẫn lộn giữa XSS và session hijacking + XSS
Cố tình lờ đi cái Ghi nhớ chắc là sợ bị flood hoặc gì gì đó smilie

p/s: Cái editor của forum này chuối thật, không nhận biết được con trỏ đang ở đâu, lúc nào nó cũng chèn vào cuối bài viết. 


Nếu muốn tránh "biết chết liền" thì nên suy nghĩ cho kỹ trước khi post.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 12/03/2008 05:13:20 (+0700) | #96 | 118977
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]

bietchetlien007 wrote:
Biết chết liền smilie
Đợi 3 lần thì quá lâu, cái class này làm luôn 1 lần.
www.phpclasses.org/browse/package/2794.html

Cần có ví dụ cụ thể về cuộc tấn công của member kia, chứ vầy thì lẫn lộn giữa XSS và session hijacking + XSS
Cố tình lờ đi cái Ghi nhớ chắc là sợ bị flood hoặc gì gì đó smilie

p/s: Cái editor của forum này chuối thật, không nhận biết được con trỏ đang ở đâu, lúc nào nó cũng chèn vào cuối bài viết. 

xem lại đi bạn, mọi người đều dùng bình thường mà, chưa thấy ai kêu ca về vấn đề này trước đây cả.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 12/03/2008 07:55:55 (+0700) | #97 | 119017
prof
Moderator

Joined: 23/11/2004 01:08:55
Messages: 205
Offline
[Profile] [PM]

boom_jt wrote:

...
p/s: @prof: mình chưa hiểu rõ lắm ý tưởng timestamp của bồ, có thể nói rõ thêm cho mình hiểu chút đc ko, sozy smilie 

Bạn chưa rõ cụ thể ở điểm nào?

P.S: Không cần phải "sozy" đâu, boom_jt. Không rõ thì hỏi cho rõ thôi mà smilie.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 12/03/2008 10:37:36 (+0700) | #98 | 119039
boom_jt
Member

[Minus]    0    [Plus]
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
[Profile] [PM]
hì, mình chưa rõ là cụ thể (smilie) cái timestamp đó đc implement thế nào smilie nội dung truyền giữa client và server là tn?
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 13/03/2008 02:32:23 (+0700) | #99 | 119118
prof
Moderator

Joined: 23/11/2004 01:08:55
Messages: 205
Offline
[Profile] [PM]

boom_jt wrote:
hì, mình chưa rõ là cụ thể (smilie) cái timestamp đó đc implement thế nào smilie nội dung truyền giữa client và server là tn? 

Ah, thì ra là bạn hỏi về cách implement.

Theo tớ "đoán", có lẽ securityHash/token của HVA chưa gồm yếu tố thời gian nên có thể bị lợi dụng (Session Hijack). Vì vậy, mỗi khi một securityHash/token được tạo, sẽ kèm theo thời gian tạo token này (bên cạnh các yếu tố đặc trưng khác). Server-side sẽ qui định timestamp bao nhiêu đó để token còn hợp lệ (tính từ thời gian tạo) khi mods tiến hành thao tác điều hợp. Nếu bạn đã quen với các khái niệm cơ bản như cookies, sessionID, token, và cách chúng được hình thành và gửi/nhận thế nào thì việc implement thêm timestamp sẽ không quá khó khăn. Có lẽ tôi xin không đi vào tiểu tiết hơn nữa, chẳng hạn như cách tổ hợp thêm yếu tố thời gian vào securityHash/token thế nào, quản lý timestamp ra sao, lưu trữ thế nào,... vì điều này tùy thuộc vào khả năng "tuỳ biến" của mỗi người.

Hi vọng giải đáp được câu hỏi của bạn.

Thân mến.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 13/03/2008 02:53:39 (+0700) | #100 | 119123
boom_jt
Member

[Minus]    0    [Plus]
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
[Profile] [PM]
Mình đoán ý bạn thế này: mình sẽ sử dụng 1 khái niệm gọi là timeout, cookie sẽ chỉ hợp lệ trong 1 khoảng thời gian nhất định đúng ko? Sau khoảng thời gian đó, cookie ko còn hợp lệ, và như vậy kẻ tấn công không thể làm gì đc với cookie ko còn hợp lệ đó?

Vậy thì khi quá thời gian đó, phải chăng người dùng sẽ lại phải nhập username/password để có 1 cookie hợp lệ mới (có bất tiện cho người dùng quá ko? smilie), hay bạn sẽ thực thi cơ chế nào đó ? Mình nghĩ nên đi chi tiết vào vấn đề này để làm rõ khả năng ngăn ngừa session hijacking của phương pháp.

Cơ chế timeout này cũng đã đc áp dụng (yahoo! mail chẳng hạn), tuy nhiên thời gian timeout có thể là 1 ngày (khá dài), đủ để kẻ tấn công làm đc điều hắn muốn ...
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 14/03/2008 00:07:14 (+0700) | #101 | 119236
prof
Moderator

Joined: 23/11/2004 01:08:55
Messages: 205
Offline
[Profile] [PM]

boom_jt wrote:
Mình đoán ý bạn thế này: mình sẽ sử dụng 1 khái niệm gọi là timeout, cookie sẽ chỉ hợp lệ trong 1 khoảng thời gian nhất định đúng ko? Sau khoảng thời gian đó, cookie ko còn hợp lệ, và như vậy kẻ tấn công không thể làm gì đc với cookie ko còn hợp lệ đó? 

Uh, cơ bản là như vậy.

boom_jt wrote:

Vậy thì khi quá thời gian đó, phải chăng người dùng sẽ lại phải nhập username/password để có 1 cookie hợp lệ mới (có bất tiện cho người dùng quá ko? smilie), hay bạn sẽ thực thi cơ chế nào đó ? Mình nghĩ nên đi chi tiết vào vấn đề này để làm rõ khả năng ngăn ngừa session hijacking của phương pháp.

Cơ chế timeout này cũng đã đc áp dụng (yahoo! mail chẳng hạn), tuy nhiên thời gian timeout có thể là 1 ngày (khá dài), đủ để kẻ tấn công làm đc điều hắn muốn ... 

Um, trước tiên ta nên thống nhất với nhau một vài giả thiết sau đây để tránh đi quá xa nhé:

- Thứ nhất, việc thảo luận giải pháp chống session hijack mà tớ đề nghị là áp dụng cho "ngữ cảnh" HVA Forum. Nên nhớ mỗi Web application có cấu trúc, kịch bản không giống nhau.
- Thứ nhì, session hijack thực sự trở nên nghiêm trọng đối với các sessions của Vmods/Mods vì kẻ tấn công có thể nhằm vào đó để gây hại cho diễn đàn thông qua các hành động Modify, Delete, v..v... Theo đó, một bộ phận không quá nhiều người dùng mới áp dụng cơ chế này.

Do đó, ý tưởng (dùng timestamp) thì như vậy, nhưng với mỗi application cụ thể nên có cách áp dụng đủ linh động và mềm dẻo. Chẳng hạn, xác định giá trị timestamp thế nào cho hợp lý, những securityHash/token nào cần dùng thêm timestamp, những trang nào thì nên áp dụng kiểu token này, v..v... những việc này cần phải cân nhắc, khảo sát kỹ càng. Một Moderator sau khi request một trang moderate.xyz nào đó, thì không thể sau 30 phút, hay 300 phút mới thực thi hành động Move hay Delete. Mặt khác, tớ cũng đã đề cập tới giải pháp bảo vệ securityHash/token trong khoảng thời gian timestamp rồi. Bạn đọc lại đoạn này nhé:

prof wrote:

Em nghĩ có thể kết hợp thêm yếu tố Timestamp (chẳng hạn, khoảng 30 giây) cho securityHash/token (có tính duy nhất cho 1 session) hiện tại của diễn đàn. Theo đó, phía server sẽ lưu giữ một table các securityHash này và sẽ không chấp nhận một request nào đó nếu giá trị securityHash đã và đang được dùng trước đó. Table này sẽ chỉ lưu các securityHash trong khoảng thời gian của Timestamp sau đó sẽ được giải phóng mà không chiếm tài nguyên.

Trong trường hợp nhận được 2 requests với 2 securityHash giống nhau (bị session hijack), khi đó server-side nên cân nhắc trường hợp reject cả hai request này (vì khi đó không rõ request nào là hợp lệ) hoặc tiến hành verify lại password. 


Thân.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 14/03/2008 00:54:37 (+0700) | #102 | 119240
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]
sau khi mod thực hiện một số điều hợp, quyết định save lại thay đổi thì sẽ yêu cầu verify lại password, như thế có được không nhỉ ?, chỉ áp dụng đối với mod để phù hợp với 2 yêu cầu là bảo mật và tính dễ dùng.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 14/03/2008 03:04:34 (+0700) | #103 | 119247
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]
Như vậy là chúng ta đang bàn cách sao cho có thể "sống chung với XSS", như kiểu "sống chung với lũ", thừong hay đề cập trên báo chí.
Nếu như vậy tôi xin có ý kiến như dưới đây.
Nhưng trước hết xin "làm rõ" lại một câu tôi viết ở một post, tại trang 3, topic này.

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.  


ThichHacking binhluan wrote:
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.  


Theo ý tôi viết thì "quản lý trưởng" cũng chỉ có quyền hạn đối với hệ thống như của một Mod., không hơn. Chức danh "quản lý trưởng" xuất hiện và sử dụng trên diễn đàn chỉ có ý nghĩa về mặt "hành chính", chứ không có thưc quyền như của một Admin. hay "root". Các nickname có quyền "Admin." hay quyền root tuyệt đối không đựoc phép xuất hiện, sử dụng trên diễn đàn, không có trong "danh sách thành viên forum" (không ai biết nickname này).

Trở lại vấn đề "sống chung với XSS", thì tôi thấy giải pháp gợi ý của bác conmale (thay thế cookie mỗi lần user tái truy cập đến HVA forum) tuy khá hay, nhưng thực tế lại ít hiệu quả, vì những lý do sau:

- Khi có ý lấy cắp các thông tin liên quan đến phiên truy cập của một user vào HVA forum thì hacker luôn ở trạng thái sẵn sàng, chủ động, có thể nói là nó sẽ "túc trực" bên webserver của nó để lấy ngay các thông tin mà nó thu đựoc. Khi có thông tin, nó sẽ nhanh chóng vào đựoc ngay HVA forum dưới nickname của nạn nhân (dù lúc đầu chẳng biết nickname và pass của nạn nhân cụ thể là gì).
- Nạn nhân ít khi truy cập liên tiếp từ URL này sang URL kia, mà thừong truy cập đến một URL thì dừng lại một thời gian lâu để đọc hết bài này sang bài khác, hay post bài. Nhiều bác truy cập đến một URL xem qua một hai bài rồi bỏ máy đi ra ngoài làm việc khác, lâu mới quay lại máy tính. Hacker thừa thời gian mà truy cập vào forum, chẳng cần phải "nhanh tay, nhanh chân" hay viết thêm một script gì.
- Do forum bị lỗi XSS nên lúc nào hacker cũng thu thập đựoc thông tin của các user. Nếu nó vào không đựoc lần này (do user chạy "xô" liên tiếp qua nhiều URL), thì nó vào lần sau, chắc chắn là thành công.

Để "sống chung với XSS" (nếu ta muốn như vậy hay bắt buộc phải như vậy), thì tôi sẽ theo một giải pháp khác, xuất phát từ việc phân tích nguyên lý khai thác lỗi XSS của hacker. Tôi sẽ tìm cách để thành phần thứ 3 (tức là hacker với công cụ webserver của hacker) trong quá trình exploit scenarios, không thể phát huy bất cứ một tác dụng gì. Nghĩa là làm cho nó vô dụng.
Để làm việc này tôi đã đề cập một số giải pháp (không cho insert hình ảnh upload trên các webserver khác vào HVA forum, không cho đặt link trên forum để chỉ cần click vào link là có thể kết nối đến các webserver khác, trừ các link nội bô ...vân vân).
Chúng ta để ý sẽ thấy rằng các trang chủ của các công ty kinh doanh tên miền nổi tiếng thường thiết kế rất đơn giản (không hề có animation pic. hay flash gì cả), không hề hiện diện một link "sống" nào, trừ các link nội bộ. Vì các trang chủ này thường có nơi Login vào "Domain control panel", mà trong trừong hợp này thì nickname và pass của một user là tối quan trọng.
Cũng như đã có một số website của chính phủ Mỹ, khi user chỉ chuột vào một link liên kết với một webserver bên ngoài, thì lập tức có một cửa sổ popup hiện ra, với cảnh báo đại thể là: "Bạn đang rời website của chúng tôi để truy cập đến một website-webserver bên ngoài. Chúng tôi cảnh báo việc này và không chịu trách nhiệm nếu như việc này có thể gây tổn thất, rắc rối... cho bạn". Các website này chắc đã thấy rõ tầm quan trọng của lỗi XSS cũng như việc khó loại bỏ hết lỗi XSS trong website của mình.
Một số website khác cho phép user post các link tham khảo, nhưng không được dưới dạng "Hyperlink" mà dưới dạng text. Ngừoi đọc phải copy và dán lên một cửa sổ trình duyệt mới mở ra.
Ngoài ra nếu tạo điều kiện cho user được insert hình ảnh lên HVA forum thuận tiện, dễ dàng thì có lẽ sau này HVA nên có một "file uploading server" riêng. Tạo cái này thưc ra không khó.

The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 14/03/2008 22:15:07 (+0700) | #104 | 119312
[Avatar]
done
Locked

[Minus]    0    [Plus]
Joined: 22/02/2008 21:34:25
Messages: 14
Location: Invisible Zone
Offline
[Profile] [PM] [Email] [Yahoo!]

PXMMRF wrote:

Để "sống chung với XSS" (nếu ta muốn như vậy hay bắt buộc phải như vậy), thì tôi sẽ theo một giải pháp khác, xuất phát từ việc phân tích nguyên lý khai thác lỗi XSS của hacker. Tôi sẽ tìm cách để thành phần thứ 3 (tức là hacker với công cụ webserver của hacker) trong quá trình exploit scenarios, không thể phát huy bất cứ một tác dụng gì. Nghĩa là làm cho nó vô dụng.
Để làm việc này tôi đã đề cập một số giải pháp (không cho insert hình ảnh upload trên các webserver khác vào HVA forum, không cho đặt link trên forum để chỉ cần click vào link là có thể kết nối đến các webserver khác, trừ các link nội bô ...vân vân).
Chúng ta để ý sẽ thấy rằng các trang chủ của các công ty kinh doanh tên miền nổi tiếng thường thiết kế rất đơn giản (không hề có animation pic. hay flash gì cả), không hề hiện diện một link "sống" nào, trừ các link nội bộ. Vì các trang chủ này thường có nơi Login vào "Domain control panel", mà trong trừong hợp này thì nickname và pass của một user là tối quan trọng.
Cũng như đã có một số website của chính phủ Mỹ, khi user chỉ chuột vào một link liên kết với một webserver bên ngoài, thì lập tức có một cửa sổ popup hiện ra, với cảnh báo đại thể là: "Bạn đang rời website của chúng tôi để truy cập đến một website-webserver bên ngoài. Chúng tôi cảnh báo việc này và không chịu trách nhiệm nếu như việc này có thể gây tổn thất, rắc rối... cho bạn". Các website này chắc đã thấy rõ tầm quan trọng của lỗi XSS cũng như việc khó loại bỏ hết lỗi XSS trong website của mình.
Một số website khác cho phép user post các link tham khảo, nhưng không được dưới dạng "Hyperlink" mà dưới dạng text. Ngừoi đọc phải copy và dán lên một cửa sổ trình duyệt mới mở ra.
Ngoài ra nếu tạo điều kiện cho user được insert hình ảnh lên HVA forum thuận tiện, dễ dàng thì có lẽ sau này HVA nên có một "file uploading server" riêng. Tạo cái này thưc ra không khó.
 

Yeah! Yeah! Yeah! Ý kiến của mình ở trên chính là muốn Admin khai triển điều này. (chỉ có điều mình chưa diễn đạt được như đồng chí PXMMRF )smilie
Cảm ơn bạn PXMMRF.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 14/03/2008 22:24:17 (+0700) | #105 | 119315
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

done wrote:

PXMMRF wrote:

Để "sống chung với XSS" (nếu ta muốn như vậy hay bắt buộc phải như vậy), thì tôi sẽ theo một giải pháp khác, xuất phát từ việc phân tích nguyên lý khai thác lỗi XSS của hacker. Tôi sẽ tìm cách để thành phần thứ 3 (tức là hacker với công cụ webserver của hacker) trong quá trình exploit scenarios, không thể phát huy bất cứ một tác dụng gì. Nghĩa là làm cho nó vô dụng.
Để làm việc này tôi đã đề cập một số giải pháp (không cho insert hình ảnh upload trên các webserver khác vào HVA forum, không cho đặt link trên forum để chỉ cần click vào link là có thể kết nối đến các webserver khác, trừ các link nội bô ...vân vân).
Chúng ta để ý sẽ thấy rằng các trang chủ của các công ty kinh doanh tên miền nổi tiếng thường thiết kế rất đơn giản (không hề có animation pic. hay flash gì cả), không hề hiện diện một link "sống" nào, trừ các link nội bộ. Vì các trang chủ này thường có nơi Login vào "Domain control panel", mà trong trừong hợp này thì nickname và pass của một user là tối quan trọng.
Cũng như đã có một số website của chính phủ Mỹ, khi user chỉ chuột vào một link liên kết với một webserver bên ngoài, thì lập tức có một cửa sổ popup hiện ra, với cảnh báo đại thể là: "Bạn đang rời website của chúng tôi để truy cập đến một website-webserver bên ngoài. Chúng tôi cảnh báo việc này và không chịu trách nhiệm nếu như việc này có thể gây tổn thất, rắc rối... cho bạn". Các website này chắc đã thấy rõ tầm quan trọng của lỗi XSS cũng như việc khó loại bỏ hết lỗi XSS trong website của mình.
Một số website khác cho phép user post các link tham khảo, nhưng không được dưới dạng "Hyperlink" mà dưới dạng text. Ngừoi đọc phải copy và dán lên một cửa sổ trình duyệt mới mở ra.
Ngoài ra nếu tạo điều kiện cho user được insert hình ảnh lên HVA forum thuận tiện, dễ dàng thì có lẽ sau này HVA nên có một "file uploading server" riêng. Tạo cái này thưc ra không khó.
 

Yeah! Yeah! Yeah! Ý kiến của mình ở trên chính là muốn Admin khai triển điều này. (chỉ có điều mình chưa diễn đạt được như đồng chí PXMMRF )smilie
Cảm ơn bạn PXMMRF. 


Theo tôi thì giải pháp này nghiên về hướng phòng chống XSS, không cho nó xảy ra. Đây là những biện pháp tốt nhưng chủ đề mình đang bàn là: giả sử mình bị XSS và chưa khắc phục thì ở phía server mình có thể làm những gì để ngăn cản hoặc giảm thiểu dung hại tình trạng session bị hijack do mất cookie.

Tất nhiên phòng cháy hơn chữa cháy. Việc ngăn ngừa XSS xảy ra và ưu tiên một nhưng cái scope để bàn luận ở đây không phải là các phương pháp ngăn ngừa XSS. smilie
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 15/03/2008 06:09:40 (+0700) | #106 | 119383
bietchetlien007
Member

[Minus]    0    [Plus]
Joined: 06/03/2008 21:35:18
Messages: 21
Offline
[Profile] [PM]

conmale wrote:

Theo tôi thì giải pháp này nghiên về hướng phòng chống XSS, không cho nó xảy ra. Đây là những biện pháp tốt nhưng chủ đề mình đang bàn là: giả sử mình bị XSS và chưa khắc phục thì ở phía server mình có thể làm những gì để ngăn cản hoặc giảm thiểu dung hại tình trạng session bị hijack do mất cookie.

Tất nhiên phòng cháy hơn chữa cháy. Việc ngăn ngừa XSS xảy ra và ưu tiên một nhưng cái scope để bàn luận ở đây không phải là các phương pháp ngăn ngừa XSS. smilie  


Giờ thì không biết đang lạc đề đi đâu. Lúc trước ý em cũng như thế mà, coi việc mất cookie là hiển nhiên, giờ phải tìm cách khắc phục cho session từ server. Vậy mà anh bảo là lạc đề, pó 2 tay smilie
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 22/03/2008 05:27:14 (+0700) | #107 | 120516
[Avatar]
virtual_acc
Member

[Minus]    0    [Plus]
Joined: 20/03/2008 03:43:45
Messages: 3
Location: ILLUMINATI
Offline
[Profile] [PM] [Yahoo!] [MSN] [ICQ]
theo mình nghĩ trường hợp nạn nhân bị session hijacking có high privileges như mods... thì việc bị thiệt hại thì ko thể tránh khỏi, nhưng cũng ko thể giảm thời gian valid của cookie vì càng giảm sẽ phá vỡ functionality và tính... dễ ứng dụng, ko user nào muốn cứ mỗi lần coi xong 2,3 topics thì lại nhập pass vào lại...
c p
mình nghĩ tới cách sau : (ko biết có trùng ko vì chưa đọc hết mấy trang trước smilie)
--- giữ nguyên ttl session, chỉ tạo thêm pass 2,3 ... cho những nhân vật quan trọng, có 1 table cho các action modify, delete, move, rename topics, posts.... cho mod, ko thực thực thi các action đó ngay lập tức mà store vào table, sau mỗi 5 actions, nếu mod muốn thực hiện 1 action kế tiếp thì phải pass authentication bằng pass 2 (mod cũng luôn có thể thực hiện action ngay lập tức và cũng phải thông qua pass2)

--- cùng 1 acc online 2 bên online cùng lúc sẽ set cookie invalid cả 2 và bị out hết

như vậy dù cookie "ra đi", attacker cũng ko thực hiện được gì gây tổn hại nghiêm trọng


nhược điểm của cách này là khó ứng dụng, thời gian time out session giới hạn làm cho vd nhiều khi mod có 5 action thì time out, và phải làm lại từ đầu (giảm tối thiểu bằng cách giảm xuống buộc phải xác thực sau 3 actions.... )

lâu lắm rồi mới vào hva, ko biết thời gian valid của cookie là bao lâu smilie nhưng dĩ nhiên nâng cao security của appl luôn phá vỡ functionality và ease of use, và vì 1 trong 3 cái đó phải hy sinh những cái còn lại, vì vậy cần phải xem xét coi sự hy sinh có đáng ko

bản thân thì mình cách xác thực nghĩ của mình cũng "hơi hơi" ko đáng lắm smilie smilie , khó thực thi, thiếu tính ứng dụng
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 25/03/2008 09:15:31 (+0700) | #108 | 121067
[Avatar]
nhuhoang
Elite Member

[Minus]    0    [Plus]
Joined: 27/06/2007 00:49:10
Messages: 111
Location: /dev/null
Offline
[Profile] [PM] [WWW]
Mình nghĩ cách dùng password thứ hai khá hay. VD ta cho nó gồm 2 chữ số và trong mỗi tao tác quản trị thì verify lại pass này. Vì pass phụ chỉ có 2 chữ số nên ko gây nhiều quá nhiều cản trở như việc nhập lại pass chính (passwd của các admin và mod trên forum thì có lẽ khá rắc rối).
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía serv 25/03/2008 11:48:33 (+0700) | #109 | 121088
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]

nhuhoang wrote:
Mình nghĩ cách dùng password thứ hai khá hay. VD ta cho nó gồm 2 chữ số và trong mỗi tao tác quản trị thì verify lại pass này. Vì pass phụ chỉ có 2 chữ số nên ko gây nhiều quá nhiều cản trở như việc nhập lại pass chính (passwd của các admin và mod trên forum thì có lẽ khá rắc rối).  

thực ra chỉ cần 1 password là đủ bạn ạ, vì kẻ tấn công chỉ lấy được sessionID +http header chứ không lấy được password của người bị hại.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 17/07/2008 12:44:05 (+0700) | #110 | 141954
boom_jt
Member

[Minus]    0    [Plus]
Joined: 02/08/2007 23:51:10
Messages: 125
Offline
[Profile] [PM]
hi,

biết là cái thread này cũng lâu rồi, nhưng tự nhiên hôm nay sực nhớ ra khi làm việc với Cookie. Boom_jt thử nói 1 biện pháp từ phía server nhé, cũng cần 1 chút trợ giúp trong cái implementation việc lưu cookie ở phía client:

Server thường xuyên "làm mới" sessionid và gửi về client trong response của mỗi request, thông qua trường Set-cookie trong HTTP headers.

Client khi nhận đc 1 response có trường Set-cookie trong header thì lưu cookie mới vào 1 biến tạm thời, chứ chưa set luôn cookie 1 cách "chính thức". Client chỉ set cookie chính thức ngay trước khi request tiếp theo được thực hiện (và / hoặc ngay trước khi user đóng trình duyệt).

Khi đó, dù kẻ tấn công có thực hiện session hijacking thì cũng chỉ lấy được sessionid cũ mà thôi, không còn tác dụng gì cả.

lưu ý thêm chút là việc lưu cookie tại client là mình muốn nói đến implementation của trình duyệt, chứ không phải là 1 cái script chạy ở client nhé.

Mong tiếp tục thảo luận smilie
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 28/11/2008 08:19:06 (+0700) | #111 | 160534
hunter1b
Member

[Minus]    0    [Plus]
Joined: 23/03/2008 15:09:55
Messages: 11
Offline
[Profile] [PM]
em có câu này hỏi mong các anh chỉ giáo :
đây là kỹ thuật tấn công ấn định phiên làm việc ạ (ấn định sessionID)
1.kẻ tấn công truy nhập vào abc.com và abc.com sẽ cấp cho kẻ tấn công 1 sessionID
2.kẻ tấn công lừa người nhẹ dạ login vào đường link trên(đã có sessionID)
3.như vậy đối với abc.com thì cả kẻ tấn công và bị tấn công đều hợp lệ.

Tóm lại em muốn hỏi là làm cách nào mà kẻ tấn công biết người dùng đăng nhập lúc nào và nếu người dùg đăng nhập thành công thì do có cùng 1 sessionID thì có chắc chắn là kẻ tấn công sẽ vượt qua phần đăng nhập dù kô biết user và pass.

Câu hỏi chỉ mang tính lý thuyết ạ,các anh trả lời hộ em với ạ.

[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 28/11/2008 08:24:07 (+0700) | #112 | 160535
hunter1b
Member

[Minus]    0    [Plus]
Joined: 23/03/2008 15:09:55
Messages: 11
Offline
[Profile] [PM]
í em còn quên cái này,các anh chỉ dùm em luôn,em thấy các anh bảo là chỉ cần view sorce là có thể thấy được sessionID mà em tìm mãi mà kô thấy cái sesionID nào cả,thử mấy trang rồi.mong chỉ giúp ạ.
[Up] [Print Copy]
  [Question]   Re: [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 28/11/2008 20:52:42 (+0700) | #113 | 160583
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

hunter1b wrote:
í em còn quên cái này,các anh chỉ dùm em luôn,em thấy các anh bảo là chỉ cần view sorce là có thể thấy được sessionID mà em tìm mãi mà kô thấy cái sesionID nào cả,thử mấy trang rồi.mong chỉ giúp ạ. 


Ai bảo view source là thấy được sessionID thế?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   [Thảo luận] Ngăn ngừa session hijacking xuyên qua XSS từ phía server 02/03/2011 17:35:00 (+0700) | #114 | 232291
ACE_AnGeL
Member

[Minus]    0    [Plus]
Joined: 31/10/2010 12:03:29
Messages: 5
Offline
[Profile] [PM]
Một chủ đề hay vậy mà dừng ngang rồi Hix
[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|