View Full Version : Hiểu và định hướng đúng trong hacking
minhhoang
06-10-2008, 01:38 AM
minhhoang sưu tầm từ my.opera.com
Những cuộc đối thoại với rookie - Phần 1
Friday, 11. May 2007, 06:05:38
Tập hợp các bài viết rất hay của bác Conmale trên diễn đàn HVAONLINE.NET
Những cuộc đối thoại với rookie
(Tác giả: conmale - HVA Moderator)
Những cuộc đối thoại với rookie-1-.
(Tác giả: conmale)
1. Mở đầu:
Tôi không nhớ rơ bao nhiêu lần tôi nhận được thông điệp với dạng "Anh chỉ cho em cách hack với". Những thông điệp này đến từ e-mail, offline message của Yahoo, personal message trên diễn đàn..v..v.. Điều lư thú là những người gởi thông điệp này có khả năng và kinh nghiệm về CNTT ở mức độ khác nhau (sau khi tôi thử t́m hiểu và tiếp xúc để biết được điều này). Lư do tại sao những câu hỏi như trên được đặt ra quá nhiều? Họ hiểu thế nào là "hack"? Họ muốn "hack" để làm ǵ? Họ t́m ṭi những ǵ về "hack"? Lúc bắt đầu tiếp cận với các câu hỏi thế này, tôi cố gắng giải thích ít nhiều (trong phạm vi cho phép) nhưng dần dà, tôi đâm ra... nản v́ biết chắc những điều tôi trả lời không có kết quả hoặc tác dụng ǵ cả. Tuy vậy, những cuộc trao đổi này dẫn tôi đến chỗ thích thú khai phá, t́m ṭi tâm lư của những người đặt câu hỏi. Tôi nhận ra vài điều lư thú:
- những lối ṃn của cách suy tư (nếu có suy tư)
- khả năng tiếp cận và h́nh thành giải pháp cho vấn đề
- ư muốn đào sâu và rèn luyện
Đây là những điểm cốt lơi tôi muốn chia xẻ với bạn trong loạt bài "những cuộc đối thoại với rookie". Loạt bài này không có dụng đích phân tích kỹ thuật (mặc dù để h́nh thành nội dung bài viết chắc chắn không thể thiếu những chi tiết về kỹ thuật). Nó được khai triển ở dạng tṛ chuyện, trao đổi giữa hai (hoặc nhiều nhân vật) xen vào những chi tiết kỹ thuật. Những nhân vật này là tổng hợp từ tính cách của nhiều nhân vật có thật. Tuy nhiên, ngôn từ trao đổi trong bài viết đă được điều chỉnh và xây dựng lại cho thích hợp với t́nh tiết của các mẩu chuyện.
Xin lưu ư rằng, những vấn đề được đưa ra trong chuỗi bài này nhằm thúc đẩy kỹ năng tiếp cận vấn đề, nghiên cứu và giải quyết vấn đề. Bởi thế, mọi giải đáp cho thắc mắc (nếu có) đều t́m thấy từ việc đọc và suy nghĩ kỹ lưỡng.
2. Gặp gỡ:
Chiều nay, một buổi chiều Chủ Nhật, rảnh rỗi và yên tĩnh. Tôi mở máy và log vào Yahoo Instance Messenger (đă gần một tuần lễ tôi không vào YIM). Chà, có vài cái "thỉnh cầu" đưa tên tôi vào danh sách YIM của ai đó. Thử xem nào... ngoại trừ một "thỉnh cầu" khá ngổ ngáo, tôi tiếp nhận các thỉnh cầu c̣n lại. Trong số "thỉnh cầu" này, có một cái làm tôi chú ư. Người thỉnh cầu có cái "nick" khá ngộ nghĩnh là "cuti" và thông điệp thỉnh cầu như sau: "nếu không phiền, xin phép anh add em với. Em có một số thắc mắc muốn nhờ anh chỉ dẫn, Nghe nói anh khó tính lắm nhưng em cũng liều một phen.".
Tôi mỉm cười và nhấn nút "accept" và sau đó gởi đi thông điệp "Được, anh khó tính lắm. Thử xem!. Và đây là điểm khởi đầu của những cuộc tṛ chuyện giữa tôi và "cuti".
Tôi chuyển trạng thái YIM của ḿnh sang "invisible" v́ không muốn tṛ chuyện lúc này. Tôi muốn kiểm tra mail và duyệt web để t́m một số thông tin cần thiết. Chừng năm phút sau, tôi nhận được một thông điệp nhấp nháy. Tôi mở ra và thấy rằng "cuti" vừa trả lời:
"Cám ơn anh đă add em, khi nào anh online, cho em biết với!".
Tôi muốn "thử" anh chàng một phát, bèn trả lời như sau:
"Anh đă online, nhưng anh chưa nói chuyện được, em chờ được không?.
"cuti" hồi đáp:
Ồ may quá, may quá... dạ được chứ. Trưa Chủ Nhật em chẳng có chuyện ǵ đâu. Khi nào rảnh cho em biết với"
Tôi yên lặng, thâu gọn cửa sổ của YIM và tiếp tục kiểm tra mail, trả lời mail. Gần nữa giờ trôi qua, tôi quên bẵng có "cuti" đang chờ. Tôi mở cửa sổ YIM lên xem và thấy "cuti" vẫn c̣n online. Tôi gởi cho anh chàng một thông điệp:
"Chà, năy giờ chat đă đời rồi hả? Anh rảnh rồi, em cần hỏi ǵ?".
Tôi không ngờ trong tích tắt "cuti" đă trả lời tôi ngay. Điều này chứng tỏ cu cậu không bận rộn và quả thật... đang chờ. Nó cũng chứng tỏ cu cậu là một "cao thủ" gơ chữ v́ trong tích tắc tôi đă nhận được thông điệp như sau:
"Dạ, em đâu có chat, chỉ đang duyệt mấy trang web thôi. Em có vài thắc mắc là nếu ḿnh muốn học hỏi, tham khảo tài liệu, cứ cho là ḿnh đă có một mớ sách, cách nào để giúp ḿnh nhớ được mọi thứ trong đống sách đó? À mà, anh cho phép em hỏi thăm anh bao nhiêu tuổi để tiện xưng hô. Nếu anh không muốn nói cũng không sao".
Tôi mỉm cười thầm nghĩ "cu cậu này liếng lắm, muốn nói chuyện phương pháp và rào trước, đón sau". Tôi trả lời:
"Anh nghĩ là anh lớn hơn em đó, em thấy xưng hô thế nào tiện th́ xưng hô nhưng có lẽ nên xưng anh em th́ hay nhất v́ anh đoán em nhỏ tuổi hơn anh.".
"cuti" nằng nặc muốn rơ chuyện tuổi tác:
"Nhưng em muốn biết mà, lỡ xưng hô không phải đạo th́... kẹt lắm!"
Tôi trả lời:
"Được rồi, nếu em muốn biết th́ anh mem mém tứ tuần."
"cuti" im lặng một chặp, có lẽ cu cậu nghĩ ngợi ǵ đây. Sau đó, một thông điệp khác đến từ "cuti" như sau:
"Ùm... thôi, để cháu gọi chú bằng chú đi, chú chỉ kém ba cháu có vài tuổi, gọi bằng anh kỳ cục sao đó!".
À, hoá ra cu cậu im lặng một chặp là v́ lư do này. Tôi mỉm cười trả lời:
"Thôi đi, chú với chả cháu. Xưng anh em vui hơn!"
3. Khai mở:
Tôi tiếp tục giải đáp thắc mắc của "cuti":
"Về việc đọc và nhớ những ǵ ḿnh đọc th́ như thế này. Để có thể đọc và nhớ, em phải tập cho ḿnh thói quen tổng kết những ǵ ḿnh đọc được ở dạng ngắn gọn và có hệ thống nhất có thể được (trong khả năng của em). Đây là một kỹ năng hẳn ḥi và nó cần sự rèn luyện liên tục. Ví dụ, đọc xong một chương, thử tóm tắt lại chương này đề cập những chuyện ǵ? những điểm cốt lơi của nó nằm ở đâu? Nếu chưa có thói quen tổng kết trong năo th́ thử tổng kết trên giấy. Ghi lại những điểm ḿnh nắm được. Đừng ngại sai đúng, đủ thiếu ǵ cả. Sau đó so sánh lại với thông tin trong sách xem thử ḿnh thu thập được bao nhiêu sau lần đọc thứ nhất. Sau một thời gian, chắc chắn khả năng này sẽ thay đổi."
"cuti" trả lời ngay:
"Ôi trời! sao mà khó vậy?"
Tôi phá lên cười và hỏi tiếp:
"Em đă thử chưa mà thấy khó? Em tự xét xem em có đủ kiên nhẫn để đạt được điều ḿnh muốn không?"
Lần này "cuti" im lặng khá lâu, chứng tỏ cu cậu đắn đo lắm trước khi trả lời. Tôi biết cu cậu không chat với ai khác bằng YIM bởi v́ thanh "status" của YIM không hiển thị thông điệp "cuti is typing a message". Tôi thong thả đốt điếu thuốc và chờ. Gần hai phút sau, "cuti" mới hồi đáp một câu:
"Cho em nói thật cái này nha? Em thấy là anh không khó tánh như người ta nói nhưng nói chuyện với anh em bị cảm giác căng thẳng v́ phát biểu không cẩn thận sẽ bị anh "bẻ" ngay."
Tôi cười phá lên và đáp:
"Em sắc sảo đấy. Anh chả khó tính tí nào. Có lẽ em bị 'chạm' v́ anh hỏi vặn lại 'em thử chưa mà thấy khó?' chứ ǵ? Câu hỏi đơn giản này của anh hàm chứa một điều như sau: đừng xét vấn đề dựa trên cảm tính mà hăy xét nó một cách khoa học. Hăy cân nhắc, thử nghiệm, rút tỉa rồi mới h́nh thành ư kiến của ḿnh về một vấn đề nếu như vấn đề ấy ḿnh chưa bao giờ kinh qua. Rơ ràng là em chưa hề thử qua cách đọc, suy nghĩ và tổng kết bao giờ th́ làm sao em có thể kết luận ngay 'sao mà khó vậy?'. Cho nên câu phát biểu này theo anh thấy, nó đầy cảm tính. Đây là một trở ngại đầu tiên và thường thấy, nó sẽ làm em chùn bước trước những cái c̣n 'khó' hơn nhiều. À mà em vẫn chưa trả lời câu hỏi của anh là em có đủ kiên nhẫn hay không?"
"cuti" trả lời:
"Có lẽ em suy nghĩ quá đơn giản. Thông thường nếu em nói là 'cái đó khó quá' th́ người đối diện hay trả lời là 'khó th́ thôi' chớ ít ai hỏi ngược lại 'chưa thử mà biết khó hay sao?'. Cái này làm em chột dạ, nhưng không sao, em phải làm quen với lối suy nghĩ và cân nhắc vấn đề này. C̣n chuyện kiên nhẫn hay không th́... hy vọng em có đủ kiên nhẫn."
Tôi đáp:
"Vậy th́ tốt. Thử dùng cái kiên nhẫn của em, t́m ngay một cuốn sách nào đó, về vấn đề ǵ đó em rất thích. Đọc và thử nghiệm cách tổng kết rồi cho anh biết kết quả ra sao nha?"
4. 'hack' là ǵ?
"cuti" vui vẻ trả lời:
"hi hi, nhất định rồi. Để tối nay em 'thử nghiệm' xem sao. À mà đúng ra em muốn hỏi anh câu này ngay từ đầu nhưng hơi ngại. Anh có thể chỉ em cách hack được không? Em mê 'hack' lắm á, em muốn học mà chẳng biết bắt đầu từ đâu.
Tôi có phần cụt hứng khi nhận được câu hỏi này, không phải là v́ "cuti" đề cập đến chuyện hack mà cách "cuti" hỏi về chuyện hack trong một câu ngắn gọn đến thế. Tôi hỏi thêm:
"Em hiểu thế nào là 'hack' vậy? May mà em không hỏi câu này ngay từ đầu không th́ anh lại 'bẻ' cho hụt hơi".
"cuti" trả lời ngay:
"Ồ, hack hả anh? anh hỏi theo kiểu mẹo hay hỏi thiệt vậy? Hack là ǵ ai mà không biết?"
Tôi gơ ngay câu trả lời:
"Ừa, vậy mà anh vẫn muốn biết em hiểu thế nào là 'hack'. Em thử trả lời anh xem?"
"cuti" tỏ vẻ đắn đo v́ cu cậu im lặng vài chục giây rồi mới trả lời:
"Ùm... em nghĩ rằng hack là thâm nhập vào một máy nào đó... phải không anh?"
Tôi phá lên cười v́ tính thành thật và đơn giản của "cuti" trong khi gơ thông điệp trả lời cho cu cậu:
"Em lầm rồi, 'hack' không phải và không chỉ đơn giản là 'thâm nhập vào một máy nào đó'!"
Cu cậu hồi báo ngay:
"Anh lại trêu em rồi. Thôi đi, bày cho em cách hack đi mà."
Tôi trả lời:
"Không đâu, anh nói thật. Em hiểu sai về 'hack' rồi đó!"
Lần này "cuti" thật sự sửng sốt:
"Vậy.... theo anh 'hack' là ǵ? Em hy vọng là anh không trêu em tội nghiệp."
Tôi mỉm cười trả lời:
"theo anh? Vậy ư em theo anh nghĩ th́ khác, theo em nghĩ th́ khác và theo ai đó nghĩ th́ khác về khái niệm 'hack' là ǵ phải không? Nếu vậy th́ theo anh, chỉ có hai khả năng: hiểu đúng về cái gọi là 'hack' hoặc hiểu chưa đúng về cái gọi là 'hack', thế thôi.
Theo anh (hiểu), 'hack' là sự sửa đổi nào đó có dụng đích rơ ràng trên hệ thống (trên nền tảng của hệ thống, trên cơ chế làm việc của hệ thống...) và sửa đổi này làm thay đổi 'thái độ' làm việc của hệ thống ấy. 'Sửa đổi' này là một trong những biểu thị của việc 'hack'. 'Thái độ' này đúng hay sai, thiện hay ác, ngắn hay dài... là chuyện khác. "
"cuti" im lặng khá lâu. Có lẽ cu cậu đang "tiêu hoá" đoạn định nghĩa lỏng chỏng của tôi. Sau một hồi, "cuti" trả lời:
"Chà, phức tạp quá vậy? nhưng việc thâm nhập vào một máy nào đó cũng là 'hack' theo định nghĩa của anh cơ mà?"
Tôi cười đáp:
"Không đâu em, nếu em phân tích kỹ hơn một tí th́ sẽ thấy điểm khác biệt ở đây.
a. 'hack' là sự thay đổi nào đó đến hệ thống. Điều này có nghĩa em phải có quyền truy cập, sử dụng rồi mới có thể thực hiện sự thay đổi. Ít nhất em phải có một chủ quyền nào đó, dù nhỏ bé nhất, mong manh nhất th́ mới có thể 'hành động' được.
b. thâm nhập vào một máy nào đó có nghĩa là em ở trong giai đoạn trước khi xác định được chủ quyền cần thiết để thực hiện 'hành động' hack."
Nói một cách khác, phải có a th́ mới có b.
Lần này "cuti" im lặng khá lâu. Tôi để yên cho cu cậu nghĩ ngợi thoả thích. Sau một hồi, "cuti" hỏi tiếp:
"Nếu thế th́ việc thâm nhập vào một máy nào đó bao gồm 'hành động' hack chớ chính nó không phải là 'hack'? Ḿnh gọi chung chung tất cả là 'hack' không được sao?"
Tôi đáp:
"Đúng vậy, nếu như em muốn xét vấn đề trên phương diện hiện tượng thay v́ phương diện thứ tự thời gian. Việc gọi như thế nào không quan trọng bằng việc hiểu thực chất vấn đề là ở đâu."
"cuti" hồi đáp ngay:
"H́nh như anh đang chỉ cho em chỉ phần lư thuyết mà thôi? Em cố gắng h́nh dung việc áp dụng lư thuyết này vào thực tiễn nhưng sao thấy mù mờ quá."
Tôi trả lời:
"Được rồi, hăy xét xem một vài trường hợp anh nghĩ thuộc dạng 'hack'.
a. nếu em thay đổi một giá trị trong Windows registry để đạt được mục đích nào đó hoặc 'mở' ra thêm một chức năng nào đó mà Windows không có ở chế độ mặc định. Đây chính là 'hack'. Để có thể thực hiện chuyện này, em phải được phép (có quyền) khởi động lệnh regedit. Nếu không, hành động 'hack' này không thể xảy ra.
b. tương tự cho hệ thống *nix, nếu những giá trị mặc định nào đó trong /proc system của Linux không ứng hiệu theo ư em, khi em thay đổi chúng có nghĩa là em đă 'hack'. Để làm được chuyện này, em phải có chủ quyền nhất định.
c. em có thể duyệt một trang web nào đó nhưng không thể thay đổi 'thái độ' của nó (cách hiển thị, giá trị hiển thị....). Tuy nhiên, để ứng dụng web (của trang web này) hiển thị những thứ khác hơn (đáng lẽ ra nó không được hiển thị như thế), em phải tác động đến nó bằng cách này hoặc cách khác (dùng telnet, dùng netcat, dùng string ngay trên chính tŕnh duyệt....). Để làm được chuyện này, em phải có chủ quyền nào đó.
Trong phạm vi truy cập, nếu em có thể duyệt trang này, ít nhất em đă có chủ quyền như một guest và ít nhất, em đă truy cập được vào trang web trước khi có thể thực thi một 'hành động' nào đó. Làm guest có giá trị chủ quyền nhất định.
Nói một cách tổng quát, giả sử dịch vụ cho phép truy cập nhưng lại đ̣i hỏi tên người dùng và mật khẩu hẳn ḥi, em hoàn toàn không có chủ quyền nếu như em duyệt trang web này với tư cách guest. Nói một cách khác, cơ hội để em 'hack' (hay tạo một tác động nào đó) trên web server này là rất thấp (hoặc giả không có). Tuy nhiên, nếu em phân tích tỉ mỉ th́ thấy rằng, khi em truy cập vào một trang web đ̣i hỏi xác thực danh tánh, sẽ có giai đoạn em vẫn là guest và vẫn có thể tác động đến web server (để thực thi giai đoạn xác thực danh tánh). Giai đoạn ngắn ngủi này là chổ trống (có thể) để em tạo một tác động ǵ đó đến máy chủ (hay c̣n gọi là 'hack').
minhhoang
06-10-2008, 01:38 AM
"cuti" trả lời (kèm theo một emotion icon biểu thị cho sự 'buồn bă'):
"Chà, càng lúc càng rối ḅng bong cả lên. Nếu vậy, em muốn thâm nhập vào một máy con nào đó trên Internet th́ có nghĩa em phải có chủ quyền ǵ đó trên máy kia?"
Tôi cười đáp:
"Tất nhiên. Nếu không em không thể 'hack' được. Anh nhắc lại: 'hack' là một hành động chỉ có thể xảy ra khi có được chủ quyền, có thể truy cập đến mục tiêu ḿnh muốn thâm nhập. Đây mới chỉ là khái niệm tổng quát. Nếu em muốn thâm nhập vào một máy nào đó trên Internet, em phải biết rơ máy đó là máy ǵ? nó chạy trên hệ điều hành nào? Kế tiếp em mới t́m hiểu xem em có thể truy cập nó vào vị trí nào và xem thử em có được chủ quyền ǵ? Nói trên b́nh diện thâm nhập xuyên qua mạng và dùng phương tiện truyền tải TCP/IP, lối vào duy nhất và hiển nhiên nhất là cổng dịch vụ. Nếu dịch vụ không chạy --> không có cổng. Nếu không có cổng --> không thể vào."
"cuti" nhăn nhó:
"Ǵ mà khó khăn, rắc rối vậy? Bộ không có một phần mềm nào đó, ḿnh chỉ cần gơ tên hoặc địa chỉ của máy ḿnh muốn thâm nhập và ḿnh .... "chui' vào máy đó?"
Tôi phá lên cười và có phần thất vọng (sau khi cố gắng giải thích một cách có đầu đũa, có nguyên tắc với cu cậu). Tuy nhiên, tôi vẫn trả lời:
"Tất nhiên là có phần mềm làm những chuyện này ở mức độ nào đó. Tuy nhiên, dựa vào phần mềm để làm chuyện này có lẽ không c̣n là 'hack' nữa nói theo khái niệm năy giờ anh cố gắng trao đổi với em."
"cuti" căi lại:
"Nhưng.... mục tiêu cuối cùng là thâm nhập. Không cần biết ḿnh dùng công cụ nào, miễn sao thâm nhập được là... xong. Nếu anh nói cần phải có chủ quyền rồi mới có thể tạo tác động, th́ phần mềm này sẽ xác định mục tiêu thâm nhập có phải là hệ điều hành ḿnh muốn, sau đó nó thử truy cập và dùng quyền guest chẳng hạn rồi... thực thi một lệnh nào đó và thâm nhập vào máy. Những bước này hoàn toàn phù hợp với khái niệm anh đưa ra. Chỉ có cái khác là em không làm 'bằng tay' mà dùng một công cụ."
Tôi cười và nói:
"Nếu thế th́ lẽ ra em phải hỏi anh thế này: 'anh có biết công cụ nào dùng để rà và thâm nhập vào máy nào đó hoàn toàn tự động mà ḿnh không cần làm ǵ hết?', thay v́: 'Anh có thể chỉ em cách hack được không?'. Năy giờ anh thử 'chỉ' em cách 'hack' đó nhưng có lẽ em không đủ kiên nhẫn để tiếp thu những điều anh 'chỉ' mà chỉ muốn t́m một cách nào đó, một công cụ nào đó giản tiện và đạt được mục đích ngay lập tức. Thật t́nh mà nói, anh có thấy một số công cụ ở dạng này và đă có thử qua cho biết nhưng chỉ một lần rồi anh không bao giờ đụng đến chúng nữa. Em muốn biết lư do tại sao không?"
"cuti" hăm hở:
"Thật sao? thật có phần mềm nào tuyệt diệu đến thế sao? anh chỉ cho em chỗ nào để down nó về đi. Năn nỉ đó!"
Tôi chắc lưỡi than thầm "lại thêm một anh chàng newbie thích ăn xổi, ở th́". Tôi cố kiên nhẫn tiếp tục trả lời:
"Link để download th́ có thể t́m ra nhưng anh không nhớ ngay lúc này v́ anh không c̣n đụng đến chúng nhiều năm rồi. Tuy nhiên, điều anh muốn nói ở đây là thế này:
- 'hack' với dụng đích nào đó (tốt hay xấu) có sự lư thú của nó. Lư thú ở chỗ nó là một sự thách thức (challenge) để ḿnh phải suy nghĩ, phân tích, t́m ṭi và giải quyết. Thiếu mất điều này, 'hack' chẳng c̣n ǵ là thú vị nữa.
- công cụ nào cũng vậy, nó có giới hạn nhất định. Công cụ được viết ra nhằm thâm nhập một hệ điều hành cho khoảng thời gian nào đó. Sau khi hệ điều hành này vá lỗi, các công cụ này trở nên vô dụng. Đó là chưa kể trường hợp các công cụ ở dạng này không hiếm bị đính một con trojan. Người dùng nó chưa thâm nhập được th́ lại bị thâm nhập.
- kiến thức và kinh nghiệm 'hack' theo đúng nghĩa của nó được trả giá bằng thời gian, bằng sự kiên nhẫn và niềm đam mê của người muốn t́m ṭi và khai phá những điều ḿnh thắc mắc.
Thật sự anh chỉ thích trao đổi với những ai thật sự kiên nhẫn và muốn t́m ṭi theo đúng nghĩa của nó. Nhưng, cho anh biết lư do tại sao em thích thâm nhập theo lối dùng một công cụ và phó mặc công cụ ấy vậy?"
"cuti" trả lời kém hăm hở hơn trước:
"Thật sự em chỉ ṭ ṃ xem thử 'chui' vào máy ai đó thế nào thôi. Xem thử nó ra sao, vậy thôi. Nếu em có được phần mềm này, chắc em chỉ thử một lần cho biết xem 'hack' là cái ǵ."
Tôi trầm ngâm vài giây rồi trả lời cu cậu:
"Có lẽ anh nhận định sai về cái em gọi là 'em muốn học mà chẳng biết bắt đầu từ đâu' như em đă nói. Dùng một công cụ nào đó để 'chui' vào máy của người khác chỉ có thể nằm ở mức độ giải quyết sự ṭ ṃ chớ không thể thuộc diện t́m ṭi và học hỏi v́ việc làm này chẳng mang tí ǵ tính học hỏi một cách đúng nghĩa cả. Em thử tưởng tượng máy của một người dùng b́nh thường khác với máy của em thế nào? Anh nghĩ nếu như nó là một máy chạy Windows (anh nghĩ em thạo Windows) th́ cũng C: rồi D: và bấy nhiêu software mà ai cũng dùng. Có ǵ đáng để 'thoả' cái ṭ ṃ đâu nhỉ? Đừng nói là em muốn t́m xem trong máy nào đó có CC và những thông tin 'lư thú' khác để... phá bởi v́ anh không ủng hộ những chuyện này đâu. Không những thế mà anh cảm thấy.... mất hứng khi trao đổi."
"cuti" đáp:
"Dạ không, em chẳng dám nghĩ đến chuyện kiếm CC hay ǵ đâu. Cùng lắm là thâm nhập vào máy nào đó, cài một .bat file để doạ chủ nhân của máy chơi cho vui. Ví dụ như, khi chủ nhân mở máy, nó hiện ra thông điệp 'you are hacked' rồi chờ vài giây, nó lại hiện ra thông điệp 'just kidding!. Em nghĩ mấy tṛ này vô hại mà."
Tôi phá lên cười v́ tính trẻ con của "cuti" và trả lời:
"Ừa, anh thấy mấy tṛ này quả vô hại nhưng cũng vô... ích luôn. Em thử nghĩ xem, em phải mất thời gian t́m ṭi, hỏi han cho ra một software có thể dùng để 'chui' vào máy của ai đó chỉ để tạo ra hai thông điệp 'doạ' khổ chủ cho vui thôi th́ khá phí thời gian. Mấy việc làm tinh quái này càng không dính dự ǵ đến chuyện em nói ngay từ đầu là 'em muốn học hỏi'. Có thể chính em không làm ǵ phương hại cho khổ chủ của cái máy kia nhưng những cậu bé khác chắc ǵ có suy nghĩ như em? Cho anh hỏi, em đang làm ǵ hay c̣n đi học?"
"cuti" trả lời ngay:
"Dạ em đang c̣n đi học mà, em học tin năm thứ hai. Bộ hồi nhỏ anh không có thử qua những tṛ tinh quái của tuổi học tṛ sao? Chắc anh cũng biết 'nhất quỷ, nh́ ma, thứ ba học tṛ' phải không?"
Tôi chậm răi đáp lại, cố gắng thuyết phục "cuti" từ bỏ ư định làm một việc vô ích:
"Không may (hay có thể là may) cho anh là thời anh c̣n bé, mọi chuyện thời ấy khó khăn lắm, nó làm cho con người trưởng thành hơi sớm và bị mất đi rất nhiều những tṛ tinh quái kia. Đến lúc anh bắt đầu làm quen với computer th́ lúc ấy anh cũng đă qua tuổi 'rookie' rồi cho nên quả thật anh chưa hề kinh qua những tṛ tinh quái như em nói. Anh thật sự không chống đối những tṛ chơi vặt và vô hại kia, anh chỉ tiếc cho thời gian và công sức ḿnh bỏ ra chỉ để tạo những thoả măn rất mơ hồ. Nếu em thật sự muốn học hỏi về 'hacking' đúng nghĩa của nó, thỉnh thoảng (khi rảnh) anh có thể góp ư cho em để đỡ vất vả trong chuyện định hướng và t́m ṭi. C̣n nếu em muốn anh 'bày' em những tiểu xảo để thực hiện những việc làm buồn cười và tinh quái kia th́... có lẽ anh không có hứng thú đâu. Vả lại em đang học năm thứ hai th́ có lẽ khối lượng công việc, bài vở bắt đầu nhiều rồi đó. Thay v́ phí thời gian với những chuyện này, sao em không dùng nó để 'đầu tư' vào chuyện học hành? Anh dám chắc những kiến thức em đă học qua vẫn c̣n những chỗ lổng chổng trong đó, sao không dùng thời gian để đào sâu và nắm rơ ngọn ngành?"
"cuti" cười đáp:
"hi hi, anh nói giống ông bác của em nói quá. Đúng là mấy ông già thường có khẩu khí giống nhau. Em thấy anh có lư lắm. Mặc dù em vẫn c̣n ấm ức chuyện 'thâm nhập' nhưng quả thật em không căi lại anh. Đối với em, 'hack' là cái ǵ đó hết sức mù mờ nhưng biết 'hack' và 'hack' được ǵ đó quả là phê. Nếu bạn bè em biết em biết cách 'hack' th́ bọn nó sẽ phục em lăn quay. Làm 'cao thủ' hack hơi bị... hay đó. Chắc em phải theo anh để 'tầm sư học đạo' quá, được không anh?"
Tôi chợt nhận ra một khía cạnh mới trong suy nghĩ của "cuti": 'hack' để được bạn bè nể trọng. Quả là khái niệm lư thú về mặt tâm lư. Tôi trả lời cu cậu:
"Vậy, em muốn 'hack' là v́ một lư do khác nữa: 'hack' để được bạn bè nể trọng? Ở mức độ nào đó, bọn nó nể trọng em cũng phải v́ em biết được điều bọn nó chưa biết. Nói trên b́nh diện khả năng th́ cái 'nể' ở đây chính là kiến thức bởi v́ em có kiến thức 'hack' c̣n đám bạn của em không có kiến thức này. Cho đến lúc này, em lại quay về chuyện 'kiến thức' và 'học hỏi'. Tuy nhiên, suy nghĩ 'hack' để được bạn bè nể trọng khá sai lạc nếu như 'hack' đồng nghĩa với tấn công và phá hoại. Người được 'nể' v́ chuyện này đă sai mà người nể khả năng này cũng sai nốt.
Anh tạo điều kiện cho em suy nghĩ và trả lời anh lần tới nếu ḿnh có cơ hội nói chuyện tiếp:
a. em thực sự muốn trau dồi kiến thức hay không?
b. em thực sự có đủ kiên nhẫn để thực hiện việc 'trau dồi' này không?
c. em thực sự hiểu 'hack' là ǵ không?
Nếu em có thể trả lời ba câu này, ḿnh có cơ hội trao đổi nhiều hơn."
"cuti" đáp không chút đắn đo:
"Em trả lời ba câu trên được ngay mà. Khỏi cần đợi lần tới."
Tôi cười đáp:
"Không, anh muốn em suy gẫm lại những ǵ ḿnh trao đổi hôm nay thật kỹ rồi trả lời anh sau. Anh tin rằng có nhiều thông tin em cần thời gian để 'tiêu hoá'. Nếu cần, em nên save lại trọn bộ nội dung anh em ḿnh chat ngày hôm nay để khi nào rảnh, đọc lại cho kỹ. Đối với anh, ḿnh chat vậy là phá kỷ lục rồi đó."
"cuti" có vẻ hơi cằn nhằn:
"Ḿnh chat cũng lâu nhưng anh toàn nói chuyện lư thuyết không thôi. Em thích động tay, động chân hơn. Em thích làm cái ǵ có kết quả liền."
Tôi đáp:
"Chuyện thực hành không khó nếu như ḿnh nắm được nguyên tắc, nắm được cốt lơi của vấn đề. Nếu bây giờ ḿnh bàn về một 'lệnh' nào đó, có thể nó vô ích và vô nghĩa nếu như anh em ḿnh chưa thống nhất ư kiến cái gọi là 'hack'. Bởi vậy, em nên xem lại những ǵ ḿnh chat đi, đừng nóng vội v́ nếu ḿnh c̣n... 'duyên' trao đổi th́ thời gian c̣n dài. Anh phải đi chuẩn bị một số chuyện để ngày mai c̣n đi làm nữa. Thôi, ḿnh gặp lại sau hả? Chào 'cuti'."
Tôi không quên save lại nội dung chat hôm nay để tham khảo và tiếp nối cho lần sau (nếu c̣n dịp chat với "cuti") rồi logoff.
Sau bốn mươi phút chat với một cậu bé đang học đại học năm thứ hai, có kiến thức về tin học, tôi rút ra được vài điều như sau:
- hiểu chưa đúng về cái gọi là 'hack'
- vẫn c̣n thích phá phách một cách tinh quái
- chưa b́nh tĩnh để xét đoán một vấn đề
- thiếu kiên nhẫn để nhận ra những điểm cốt lơi mà chỉ thích thấy ngay kết quả
- bị cám dỗ bởi cái danh tiếng rất mơ hồ là 'cao thủ hacker'
Tôi không chắc "cuti" có đủ kiên nhẫn để đi qua "con đường chông gai" hay không, nhưng đây là chuyện của lần tới. Tôi xếp máy lại.
16/06/2005
Chú thích:
-1- rookie chỉ cho những người trẻ tuổi, bồng bột và thiếu kinh nghiệm.
Tuyển C#, C++, device driver, embeded, network và testing engineer ở SG. PM me
Đăng Khoa™
06-10-2008, 01:47 AM
hehe, cái loạt bài "Những cuộc đối thoại với rokie này là tác phẩm của "lăo đại" conmale đấy
Hồi đó đọc cái nỳ nên mới đâm ra nghiền **** đây nè
minhhoang
07-10-2008, 09:53 PM
5. Nền tảng
Gần một tuần lễ trôi qua, tôi quá bận bịu và không có chút thời gian để log vào YIM. Chiều hôm nay, một chiều thứ Năm yên tĩnh một cách hiếm hoi, "thủ trưởng" th́ nghỉ bệnh, mấy tay làm việc trong nhóm th́ đi tham dự khóa huấn luyện. Chỉ c̣n mỗi ḿnh tôi ở lại "trụ". Hơn một giờ nữa mới đến giờ tan sở nhưng tôi không thể làm ǵ hơn với mớ công việc dang dở (v́ phải đợi thông tin từ một số phần hành khác). Chợt nhớ đến "cuti" và lần chuyện tṛ với cu cậu gần một tuần lễ trước đây, tôi quyết định log vào YIM.
Chà, có hàng đống offline messages và quả thật, trong mớ này có đến năm sáu cái của "cuti". Tôi xem xét từng message và thong thả hồi âm cho từng người. Khi đọc đến các messages của "cuti" tôi phá lên cười nhiều lần v́ chúng có nội dung rất ngô nghê như sau:
"Anh 'già khó tánh' có đó không? Em đă nghe theo anh và in ra phần nội dung chat để 'ngâm kíu' nhưng em thấy sao mà khó quá. Anh có đó không?
Chắc hẳn "cuti" nghĩ rằng tôi cố t́nh "núp" ở t́nh trạng "invisible" và cu cậu đă xác nhận tôi là "anh già khó tánh". Tôi lẩm bẩm: "Hừ, lại 'khó quá' mà chẳng có thêm một ḍng giải thích tại sao khó", nhưng lại cười một ḿnh v́ nghĩ rằng tôi hơi ngớ ngẩn khi cho rằng "cuti" đă bắt đầu có thói quen tŕnh bày có "đầu đũa" sau một lần chat ngắn ngủi với tôi.
Một thông điệp khác cũng không kém phần "hài hước" từ "cuti":
"Anh 'già khó tánh' ơi? vậy 'hack' là một hành động xảy ra sau khi thâm nhập được? Nếu vậy em không cần biết 'hack' mà chỉ cần biết cách thâm nhập là đủ. Bày em cách thâm nhập đi anh già khó tánh ơi".
Ngay sau thông điệp trên là thông điệp như sau (tính theo thời gian gởi) của "cuti":
"Anh già khó tánh núp đâu kỹ vậy? Cho em hỏi cái này một tí đi. Nếu em muốn 'hack' vào một máy khác, em phải thâm nhập nó trước rồi mới 'hack' nó? Nếu em đă thâm nhập nó được rồi có nghĩa là là đă 'hack' thành công rồi c̣n ǵ nữa mà... hack trời? Chết em rồi, bị tẩu hoả rồi, hu hu hu."
Lần này tôi bật cười thật to v́ tính ngộ nghĩnh của "cuti". Quả thật cu cậu đang đi vào con đường "tẩu hoả" bởi v́ cứ bị "ám" măi cái khái niệm sai lạc về 'hack'. Tôi quyết định gởi "cuti" một thông điệp thế này:
"Hello cuti, anh không trốn mà ít vào YIM thôi. Em bắt đầu có chiều hướng 'tẩu hoả' thật rồi đó. Anh đă bảo thâm nhập không phải là 'hack' cơ mà. Thâm nhập là bước xảy ra trước khi 'hack'. Em cứ bị ám ảnh măi khái niệm 'thâm nhập' là 'hack'. Đừng cố quá mà hỏng hết."
Vài phút sau, "cuti" dội cho tôi hàng loạt thông điệp trên YIM, toàn là những chuyện cu cậu xuưt xoa về cái khái niệm 'hack' tôi đưa ra làm cậu mất ăn, mất ngủ. Tôi đáp bằng một thông điệp ngắn gọn:
"Thong thả nào cuti. Anh em ḿnh thử 'bàn' một ví dụ cụ thể nào đó có lẽ dễ chịu hơn hả?".
Không đợi "cuti" trả lời, tôi gởi tiếp một thông điệp khác:
"Này, ví dụ ở nhà em có hai máy chạy Windows chẳng hạn. Bằng cách nào đó, em truy cập máy B từ máy A (là máy của em). Tuy nhiên, sau khi truy cập vào máy B, em chỉ duyệt máy này mà không thay đổi ǵ cả, không tạo thêm file mới, cũng chẳng delete file cũ... Như thế có gọi là 'hack' không?"
"cuti" trả lời nhanh như điện:
"Anh ăn gian quá, làm như thế th́ chỉ là truy cập thôi chớ hack hiếc ǵ anh. Em biết tên người dùng và mật khẩu của máy B th́ em vào chớ đâu có ǵ vất vả đâu mà gọi là 'hack'?"
Tôi thấy thêm một nh́n nhận mới về cái gọi là 'hack' theo suy nghĩ của "cuti", nên tôi hỏi lại:
"À, ra thế. Vậy, nếu em biết tên người dùng và mật khẩu của một máy nào đó và dùng chúng để truy cập vào máy này th́ chỉ là... truy cập? Nếu em không hề biết tên người dùng và mật khẩu nhưng bằng cách nào đó em có thể truy cập nó th́ gọi là... 'hack'?"
"cuti" cười hớn hở:
"Hi hi, đúng vậy đó anh! Chỉ đơn giản như thế thôi. C̣n cái khái niệm quỷ quái của anh làm em điên đầu chớ chẳng đi tới đâu cả."
Tôi cười, hỏi tiếp:
"Thế, điểm khác nhau giữa việc:
a. ai đó cho em tên người dùng và mật khẩu để truy cập đến máy X nào đó. Người này không phải là chủ nhân của máy.
b. em tự dùng cách nào đó (đoán ṃ, brute force...) để rốt cuộc t́m ra được tên người dùng và mật khẩu cũng để truy cập đến máy X này.
a và b khác nhau chỗ nào?"
"cuti" im lặng hồi lâu rồi rụt rè trả lời:
"H́nh như anh lại hỏi mẹo em nữa hay sao đó phải không? Em thấy rơ điểm khác nhau duy nhất là trường hợp b cực hơn trường hợp a và đôi khi không đạt được trường hợp b nữa là đằng khác."
Tôi trấn an "cuti":
"Không, anh chưa hề 'hỏi mẹo' em bao giờ, câu nào anh hỏi cũng đều là hỏi thật cả. Vậy, cả a và b ở trên có được gọi là 'hack' hay không?"
"cuti" đáp ngay, không suy nghĩ:
"Tất nhiên b là 'hack', a là 'truy cập'."
Tôi cười phá lên và hỏi thêm:
"Tại sao a là 'truy cập' mà b là 'hack' vậy cuti?"
"cuti" có vẻ giận dỗi, đáp:
"Anh hứa là ḿnh sẽ bàn một ví dụ cụ thể mà lại đi hỏi em lăng nhăng như thế này th́... oải quá http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Tất nhiên b là 'hack' v́ ḿnh phải ṃ mẫm, chịu khó, mất thời gian để t́m ra tên người dùng và mật khẩu để vào được máy X chớ sao nữa anh?"
Tôi vẫn kiên tŕ "khai thác" suy nghĩ của "cuti":
"Vậy nếu một tên đạo chích muốn 'thâm nhập' vào dinh cơ của ông phú ông chẳng hạn. Có hai trường hợp xảy ra vời tên đạo chích này:
a. hắn có ch́a khoá mở cửa vào.
b. hắn dùng cọng dây thép để ngoáy lỗ khoá.
Cả hai trường hợp đều tạo ra điều kiện cho tên đạo chích vào được nhà ông phú ông. Chỉ có cách b khó khổ hơn cách a. Tuy nhiên, sau khi tay đạo chích vào được trong nhà nhưng hắn chưa 'mó tay' vào món nào của phú ông mà chỉ 'nghía' xung quanh th́ hắn 'hack' chưa? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" reo lên:
"Á à, em hiểu rồi. Ư anh 'thâm nhập' bằng cách này hay cách khác chỉ là 'thâm nhập'. C̣n 'hack' th́ phải động đến cái ǵ đó bên trong môi trường ḿnh đă thâm nhập, phải không anh già khó tánh? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
Tôi cười đáp:
"Đúng vậy. Ngay cả trường hợp trên thay tên đạo chích bằng thằng cháu của phú ông và phú ông đưa hẳn ch́a khoá cho nó vào dinh thự. Nếu nó đă vào được dinh thự (bằng ch́a khoá hẳn ḥi) và chỉ quan sát mà không 'mó' tay vào bất cứ thứ đồ đạt ǵ trong nhà th́ có nghĩa nó chưa 'hack' ông phú ông vậy http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Nói một cách khác, 'thâm nhập' một cách hợp lệ hay bất hợp lệ vẫn là 'thâm nhập'; sau khi 'thâm nhập' rồi, 'hack' hay không là một hành động khác. Anh muốn ḿnh thông qua khái niệm này."
"cuti" cảm thán:
"Trời đất, trước giờ em cứ tin tưởng rằng hễ ḿnh thâm nhập được vào một hệ thống th́ có nghĩa là ḿnh đă 'hack'. Nhưng nói theo 'định nghĩa' của anh th́ quả thật 'hack' là một hành động thay đổi thái độ làm việc của hệ thống. Ḿnh không 'mó' ǵ cả th́ chẳng có ǵ thay đổi --> no hack. Thú vị thật, thú vị thật."
"cuti" dường như nhận ra điều ǵ đó bèn nói tiếp:
"A, em biết ư anh rồi. Anh đáo để thật. Anh nói là anh sẽ bày em cách 'hack' có nghĩa là anh không động đến chuyện 'thâm nhập', có nghĩa là mặc em muốn 'thâm nhập' ra sao th́ tuỳ rồi 'hack' thế nào th́ anh chỉ vẽ sau, phải không?"
Tôi cười phá lên:
"Ha ha ha, đó là em tự suy diễn đó nha. Em thích như vậy th́ cũng tốt!"
"cuti" phụng phịu:
"Trời ơi, em bị lừa một quả đau thật http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. 'thâm nhập' mới khó chớ, đă 'thâm nhập' được rồi muốn 'hack' sao lại không được?"
Tôi nghiêm giọng:
"Em thật sự tin rằng 'thâm nhập' khó hơn 'hack' sao? anh em ḿnh thử đánh cuộc một phát xem?"
"cuti" thận trọng hơn trước nhưng câu trả lời của cu cậu không dấu được sự tự tin với ư kiến của ḿnh:
"Ùm... em tin rằng 'thâm nhập' mới thật là khó, 'hack' cũng khó nhưng không 'thâm nhập' được th́ làm sao mà 'hack'?, phải vậy không anh? Nếu anh chứng minh được 'hack' khó hơn 'thâm nhập' hoặc khó bằng 'thâm nhập' th́ anh nói ǵ em cũng nghe hết!"
Tôi cười, đáp lời "cuti":
"Được rồi, hứa đó nha 'anh nói ǵ em cũng nghe hết!'. Anh cho em IP của một Linux server, anh cho em biết luôn đó là Linux ǵ, chạy kernel nào, dùng filesystem nào. Anh cho em luôn tên người dùng, mật khẩu và cổng SSH để log vào. Em khỏi lo chuyện 'thâm nhập' đi. Bây giờ anh cho em một ngày để 'hack' cái server đó để làm sao trang chủ index.html có ḍng "cuti was here and won the bet to the grumpy old man!". Anh không cho em biết web server này chạy bằng chương tŕnh nào, hồ sơ cấu h́nh nó nằm ở đâu... Tùy em phải t́m hiểu. Em thử 'hack' xem dễ hay khó!"
"cuti" rú lên và tuôn ra hàng tràng ca cẩm:
"Tiêu em rồi anh già khó tánh ơi! Anh biết em không rành Linux mà lại mang Linux ra bắt em 'hack' th́ em thua là cái chắc http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Lúc trước em có nghe mấy đứa bạn tán kháo là Linux mạnh lắm. Em cũng cài thử. Mất mấy ngày trời bầm dập mới xong. Rốt cuộc cũng vào được Linux nhưng chỉ thấy màn h́nh đen thùi với ḍng chữ màu trắng, y như mấy cái cửa sổ DOS cổ lỗ sĩ, chán như con gián. Em chả thấy mạnh ở đâu mà chỉ thấy chán thôi. Sau đó chỉ tháo bỏ Linux thôi mà vất vả quá trời, thiếu điều mất luôn cái partition Windows của em. Thôi thôi, em chịu thua độ rồi đó."
Tôi nhận thấy cái tính thiếu kiên tŕ, thiếu ngọn ngành của 'cuti' một lần nữa thể hiện rơ trong câu trả lời trên. Trầm ngâm vài giây, tôi đáp:
"Anh thật sự không biết là em không rành Linux bởi v́ anh thấy rằng, muốn 'hack' mà không thạo các hệ điều hành hiện thời th́ không thể 'hack' được. Hơn nữa, Linux là môi trường sản sinh từ 'hack' mà ra và nó có một kho tàng công cụ để 'hack' theo đúng nghĩa của nó. Qua phần trả lời của em ở trên, anh có nhận xét như sau:
- em chỉ nghe bạn tán kháo là Linux mạnh, em thấy đủ hấp dẫn để bắt tay vào việc cài Linux. Đây là một điều tốt. Tuy nhiên, em bị mất hẳn bước tham khảo (chính em tham khảo chớ không nghe tán kháo) xem Linux mạnh ở chỗ nào. Bởi thế em bị mất định hướng ngay khi vào được Linux và thấy màn h́nh đen, chữ trắng.
- Em chưa tự ép ḿnh hơn mức b́nh thường để t́m hiểu xem đằng sau màn h́nh đen và ḍng chữ trắng ấy có những ǵ lư thú. Anh thừa biết với khả năng của em và sự thông minh sẵn có của em, em có thể 'vén' được màn h́nh màu đen đó để đi vào bên trong và thấy được những điều lư thú và bổ ích. Nhưng tiếc là em đă không đủ 'can đảm' và 'kiên nhẫn' để thực hiện.
Quay về với chuyện 'thâm nhập' và 'hack' em có thấy rằng, để 'hack' được server mà anh đánh cá với em, em phải hiểu rơ Linux không? Vậy, theo em nghĩ, 'hack' khó hay 'thâm nhập' khó? 'thâm nhập' có khó hơn 'hack' không?"
"cuti" trở nên buồn bă:
"http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif Anh nói đúng lắm và những lời anh nói c̣n đau hơn ong chích. Bây giờ em mới thấy 'thâm nhập' không dễ mà 'hack' cũng mênh mông quá. Nếu em hiểu không sai th́ anh muốn nói rằng: muốn 'hack' th́ phải hiểu rơ mục tiêu ḿnh dự định 'hack', phải không ạ?"
Tôi trả lời:
"Chính xác!"
"cuti" trả lời với vẻ thiếu phấn khích thấy rơ:
"Vậy có nghĩa là trước khi em muốn 'hack' Linux em phải thành thạo Linux, muốn 'hack' Windows em phải thành thạo Windows. Nếu chưa thành thạo th́ em phải học từ đầu đến cuối. Hu hu, vậy đến đời nào, kiếp nào em mới 'hack' được bây giờ?"
Tôi đáp lại một cách ngắn gọn:
"Cho đến khi nào em có thể!"
"cuti" than thở:
"Anh không có cách nào khác sao? Em thấy trên các diễn đàn bày cách 'hack' đủ kiểu, đủ cỡ. Có những trường hợp làm được, có những trường hợp thử hoài chẳng có kết quả. Nhưng ít ra những trường hợp thành công th́ cũng là cách 'hack' có kết quả vậy? Những cách này em đọc vào thấy ù ù, cạc cạc nhưng làm vẫn được mà em cũng đâu cần phải học cho có ngọn ngành như anh nói đâu?"
Tôi cười đáp:
"Em nói như thế là một lần nữa muốn sa vào cơi 'tẩu hoả'. Anh hỏi lại, em muốn 'hack' hay em muốn 'thâm nhập'? em muốn thật sự học hỏi hay em chỉ muốn thấy kết quả ngay lập tức? Những dạng bày cách 'hack' mà em thường thấy trên các diễn đàn cũng giống như tin tức trên báo chí hàng ngày vậy. Nó nóng hổi, mới toanh sáng nay nhưng sáng mai nó sẽ cũ kỹ, lỗi thời. Thật sự anh nói hơi quá nhưng dùng h́nh ảnh nhật báo để so sánh với các 'chiêu' hack trên các diễn đàn không khác nhau mấy. Thử nghĩ xem, em thâu thập và trang bị mọi thứ từ một bài bày cách 'hack' nào đó. Em sẽ có 2 lựa chọn:
- thử 'thâm nhập' và 'hack' vào chính máy chủ nào bị lổ hổng (và được dùng làm mục tiêu trong nội dung bài chỉ cách 'hack') --> cách này chán phèo v́ máy chủ đó đă bị nát như tương. Em 'thâm nhập' để xem 'rác' chớ chẳng c̣n ǵ lư thú.
- thử t́m và 'thâm nhập' một máy chủ nào đó bị lổ hổng tương tự. Em bị kẹt. Kẹt chỗ nào? Kẹt ở chỗ em không biết cách nào để t́m ra một máy chủ bị lổ hổng tương tự bởi v́ em thiếu mất những kỹ năng căn bản. Cho đến khi em t́m ra được một máy chủ nào đó ưng ư, có thể máy này đă vá lỗi mất rồi.
Chẳng những thế, có lắm trường hợp em đọc các bài hướng dẫn 'hack' và hoàn toàn mất phương hướng bởi v́ hầu hết những người viết các bài này không phải viết theo tinh thần truyền đạt cặn kẽ cho người muốn biết mà dừng lại ở dạng 'tóm lượt' lại những ǵ họ trải qua. Đó là chưa kể những trường hợp 'tam sao thất bổn', người thứ nhất đọc, thử và làm rồi diễn dịch thành một thứ khác. Người thứ nh́ tiếp nối tinh thần này... đến lượt em, em chẳng c̣n hiểu được bao nhiêu. Điều này cũng phải bởi v́ chẳng ai có thể viết một bài hướng dẫn đi từ chuyện căn bản nhất đến chuyện cao cấp nhất cả. Những kiến thức căn bản cần có để 'hành động' là do bản thân ḿnh tạo dựng nên.
Anh thường thấy các bài hướng dẫn ngầm phỏng định là người đọc phải hiểu rất nhiều chi tiết căn bản và tự ḿnh h́nh dung ra môi trường của máy chủ bị 'thâm nhập'. Thiếu nền tảng này, người đọc chỉ nhắm mắt mà làm theo bước một, bước hai, bước ba rồi kêu oai oái là... không được."
minhhoang
07-10-2008, 09:53 PM
"cuti" đâm liều lĩnh:
"Chà, anh làm em không c̣n bụng dạ nào cho chuyện hack hiếc ǵ nữa. Anh làm cho em cảm thấy ḿnh ngu ngốc kinh khủng. Kỳ này chắc em bỏ hết, không thèm học tin nữa."
Tôi đoán chắc "cuti" nói dỗi, bèn hỏi tới:
"Vậy lư do ǵ làm em quyết định theo học ngành tin vậy?"
"cuti" hăm hở:
"Anh cũng trong ngành, anh biết mà. Ai theo ngành tin, giỏi ngành tin th́ chắc chắn sẽ 'cơm no, ḅ cưỡi', ra đường mấy 'ẻm' chen nhau chạy theo http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif".
À, ra thế, lại thêm một điểm 'nhức nhối' trong suy nghĩ của "cuti", một lư do mạnh mẽ để "cuti" chọn ngành tin. Tôi đáp:
"Cứ cho ngành tin có 'phép mầu' như thế đi. Em thử tính sơ qua xem mỗi năm có bao nhiêu sinh viên tốt nghiệp ngành tin và có bao nhiêu người được nhận làm trong ngành tin, có bao nhiêu người được ở vị thế 'cơm no, ḅ cưỡi'? Hẵng khoan tính số lượng người hiện đă và đang làm trong ngành tin và có kinh nghiệm hơn nhiều. Từ con số này, em thử ước tính xem, với kết quả 'b́nh b́nh, chẳng hơn ai' th́ em có được bao nhiêu phần trăm cơ hội đạt được cái gọi là 'cơm no, ḅ cưỡi', ra đường mấy 'ẻm' chen nhau chạy theo'?"
"cuti" im lặng rất lâu, phải đến gần hai phút. Tôi cứ nghĩ cu cậu bị 'rớt mạng' nhưng thật sự không phải thế. Cu cậu vẫn c̣n online và có lẽ đang nghĩ mông lung. Sau đó, "cuti" mới trả lời:
"Trời ơi, anh làm em thật sự lo ngại và nhụt chí rồi đó. Vậy em phải làm sao bây giờ?".
Hẳn nhiên là hồi năy "cuti" đă nói liều "không thèm học tin nữa". Tôi đoán chắc cu cậu đă h́nh dung được "con đường chông gai" trước mắt. Đến lúc này tôi mới góp ư "cuti" cú chót một cách nghiêm túc:
"Nếu em thật sự muốn hỏi ư kiến anh th́ thế này. Hăy tạm dẹp sang một bên những tṛ 'thâm nhập' vô ích kia đi. Chuyên chú vào chuyện học là chính. Chẳng những em cần hiểu những điều ḿnh học được mà c̣n phải t́m ṭi thêm để hiểu rộng và hiểu sâu mỗi vấn đề. Nếu em đạt được kết quả trên 90%, chắc chắn em có nhiều cơ hội thành công hơn.
Ngay cả nếu em có định hướng theo ngành bảo mật, em phải nắm rất vững những hệ thống máy em cần bảo vệ hoặc cần 'khai thác'. Một khi em nắm vững những cái này, tự nhiên chuyện 'bảo vệ' hay 'khai thác' (thâm nhập và 'hack') trở nên rơ ràng. Nếu em dành thời gian để mày ṃ những tiểu xảo nho nhỏ, kết quả sẽ đi về đâu? chẳng đi về đâu cả v́ chúng chỉ là những tiểu xảo không hơn, không kém. Cho dù em rành rẽ các tiểu xảo này nhưng khi đặt em vào một môi trường có những thay đổi khác, em sẽ không 'khai thác' được v́ em bị thiếu mất căn bản, không nắm vững các nguyên tắc cần thiết."
"cuti" trả lời một cách buồn bă:
"Đúng là trước giờ em phí thời gian quá. Chắc em phải chấn chỉnh lại. Nhưng em có một thắc mắc. Anh nói là 'muốn thâm nhập và hack th́ phải nắm vững hệ thống ḿnh cần thâm nhập và hack', điều này có nghĩa là em phải sử dụng các hệ thống này thành thạo?"
Tôi đáp:
"Tất nhiên rồi. Theo anh, 'hacker' là một 'user' có kiến thức rất quảng bác. Không những anh ta (hoặc cô ta) nắm vững cách sử dụng hệ thống (trên b́nh diện một user) mà c̣n có khả năng phân tích và thấu hiểu cơ chế làm việc của hệ thống. Nói một cách nôm na, 'user' chỉ cần biết nhấn một nút th́ có kết quả ǵ đó c̣n 'hacker' th́ chẳng những phải biết như thế mà c̣n biết được hành động nhấn nút ấy đă tạo ra biến cố ǵ, biến cố này tác động thế nào đến hệ thống, những tác động này tại sao hợp lệ, những tác động này sẽ không được xem là hợp lệ trong những t́nh trạng nào.... và hơn hết, làm sao để điều chỉnh cho tác động đến nút này luôn luôn hợp lệ (trên quan điểm bảo mật) hoặc điều chỉnh làm sao cho tác động trở nên bất hợp lệ (trên quan điểm khai thác).
Ví dụ ai đó hỏi em 'làm sao dùng NET USE để truy cập vào một máy khác? (một cách hợp lệ hay bất hợp lệ)' th́ tất nhiên để có thể trả lời câu này, em phải nắm rất vững cách dùng NET USE, sau đó em phải hiểu rơ NET USE tác động đến hệ thống thế nào và nếu cần dùng NET USE để 'thâm nhập' th́ em phải biết xác định điểm yếu của hệ thống từ các tác động này nằm ở đâu. Để làm được việc này, em phải là một 'user' giỏi và thành thạo Windows.
Nếu em chỉ vẽ cho ai đó một ḍng lệnh NET USE để thâm nhập vào hệ thống chạy Windows chẳng hạn, nhưng lệnh này không tạo kết quả ǵ cả. Em phải ước đoán được các lư do làm cho lệnh này không thực hiện được. Như vậy, 'thâm nhập' ở đây chỉ dừng lại ở chỗ gơ ḍng lệnh nhưng 'hack' ở đây th́ đi xa hơn: hiểu rơ ḍng lệnh làm những ǵ đằng sau đó."
"cuti" gật gù, trả lời với loại ngôn từ rất thịnh hành (với hai chữ "hơi bị" được dùng khá sai lạc về mặt ngữ pháp):
"Anh lấy ví dụ này... hơi bị hay đó. Vậy, một người thuộc dạng 'script kiddie' như người ta thường nhắc đến th́ thuộc dạng 'user' hay 'hacker'?"
Tôi mỉm cười, trả lời:
"Dạng 'script kiddie' theo anh là một 'user' nhưng không phải là một 'user' b́nh thường. 'script kiddie' có thể rành một số tiểu xảo nào đó hơn 'user' b́nh thường nhưng lại kém kiến thức hơn 'user' b́nh thường nhiều mặt khác. Chắc chắn 'script kiddie' không phải là 'hacker' v́ 'hacker' thật sự là một người không quản ngại khó khăn để t́m cho ḿnh giải đáp, t́m cho ḿnh sự thoả măn một cách vững chắc thay v́ muốn thấy ngay kết quả (mà không chịu khó khổ) như 'script kiddie'. Nói một cách nôm na: 'hacker' t́m ra và thay đổi thái độ làm việc của một nút bấm nào đó, 'script kiddie' chỉ cần bấm nút, chờ kết quả và không cần quan tâm chuyện ǵ xảy ra sau khi bấm nút."
"cuti" rên rỉ:
"Oái, anh đang chửi xéo em đó phải không? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Sao em thấy em giống 'script kiddie' quá. Chắc em đúng là 'script kiddie' rồi http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Hu hu, nhưng làm sao để tránh không trở thành một 'script kiddie' vậy anh?"
Tôi đáp:
"Em hỏi câu này hơi thừa rồi đó. Anh tin rằng qua hai lần chat với nhau, em đă hiểu cần phải làm thế nào để không trở thành một 'script kiddie'. Có lẽ anh không cần phải tổng kết lại hả? Thử rèn luyện khả năng tổng kết đi em http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. À mà này, lần trước ḿnh có bàn về chuyện đọc sách và rèn luyện kỹ năng tổng kết, em đă thử nghiệm chưa và thấy thế nào?"
"cuti" cười gượng gạo:
"Ùm... em có thử lôi một cuốn e-book ra nghiền ngẫm như chỉ được mấy trang đầu là thấy choáng váng cả mặt mày http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Em tự nhủ là để mai xem tiếp nhưng rồi hết chuyện này đến chuyện khác, em vẫn chưa đọc quá ba trang."
Tôi cười phá lên:
"Hà hà, đúng là điển h́nh rookie http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Vậy em đọc cuốn ǵ mà thấy choáng váng cả mặt mày?"
"cuti" phụng phịu:
"Th́ em nghe theo lời anh nói trên diễn đàn HVA là cuốn TCP/IP Illustrated của Richard Stevens là cuốn để đầu giường nên em tóm ngay cuốn đó thôi. Đâu ngờ nó khó nuốt đến như vậy http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif "
Tôi không ngạc nhiên khi "cuti" nhận định như thế, tôi đáp:
"Ừa, đọc những cuốn 'thuần' như cỡ TCP/IP Illustrated của Richard Stevens th́ em phải cần một ít kỹ năng và phải thật sự muốn t́m hiểu th́ mới tiêu hoá nổi. C̣n không th́ nó 'khô như rơm' th́ làm sao mà nuốt cho vô? Cuốn này của Richard Stevens dùng để bổ túc, đối chiếu và đào sâu những ǵ em học ở trường th́ rất hay, nếu em nhảy ngang vào và cố đọc th́ chỉ dẫn đến chuyện chán nản mà thôi. Ở trường em đă đụng đến TCP/IP chưa?"
"cuti" trả lời không ngần ngừ:
"Ở trường hả anh? ở trường có ǵ mà học? Cái ǵ cũng đại cương với khái niệm, chán như con gián. Học như vậy biết chừng nào mà thành?"
Tôi mắng "cuti" ngay":
"Em đầy mâu thuẩn. Em xem thường mấy thứ 'đại cương' với 'khái niệm' nhưng không có chúng th́ làm sao em có nền tảng để đi sâu hơn? Từ những thứ 'đại cương' và 'khái niệm' này, em có thể tham khảo sách vở, tài liệu và trau dồi cho ḿnh thêm kiến thức. Không những đây là chuyện bổ ích cho bản thân em mà đây cũng là điểm để đo cái khác biệt giữa một sinh viên 'thường thường bậc trung' và một sinh viên 'xuất sắc' đó. Hèm, con đường đi tới chỗ 'cơm no, ḅ cưỡi' e hơi chông gai đó em!"
"cuti" nhăn nhó:
"Trời, hôm nay đúng là xuất hành không coi ngày hay sao đó. Từ năy giờ em bị sao quả tạ của anh 'chiếu' liên hồi luôn http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif "
Tôi cười đáp:
"Vậy em muốn 'sao quả tạ' không chiếu chớ ǵ? dễ ợt thôi mà. Bây giờ ḿnh bàn chuyện 'hack gunbound' hay 'chôm Yahoo password' là hết 'sao quả tạ' http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" cuốn quưt:
"Không, không, em chỉ đùa tí thôi mà. Thật t́nh nói chuyện với anh, em thông được nhiều điều lắm. Chỉ có điều 'cái đầu khổ sở' của em nó làm việc chậm như bộ vi xử lư 486 cũ kỹ nên chắc em cần phải có thời gian để từ từ mà 'xử lư'. Nói chuyện với anh, em bị nhiều cú đau đầu lắm á nhưng không hiểu sao nó... hơi bị phê, h́ h́."
Tôi cười:
"Lại cái kiểu nói 'hơi bị...' dùng từ ǵ kỳ cục vậy? 'hơi bị' là dạng thụ động dùng để chỉ cho điều ǵ đó không được hay mà sao lại đi trước một từ như 'phê', 'hay' vậy? 'hơi bị hay' rồi 'hơi bị phê' nghe nó trái tai làm sao đó!"
"cuti" cười nhanh nhẩu:
"Thôi anh ơi, anh quá cổ lổ sĩ rồi, thời nay mọi người dùng từ kiểu này không anh à. Nhưng mà đừng nói là anh lại chuẩn bị cho em một bài về 'ngữ pháp' đó nha. H́ h́, em bị 'quả tạ' gần trúng thực rồi đây."
Tôi đáp:
"Thôi, anh chỉ nhận xét vậy thôi, dính vô mấy chuyện ngữ pháp tiếng Việt, tiếng Việt trong sáng... coi chừng 'tẩu hoả' dạng khác bây giờ. Thế này, em hiện đang học cái ǵ ở trường và em nghĩ là hiện thời em thích tham khảo chuyện ǵ nhất. Có cần e-book hay tài liệu ǵ, anh cố t́m cho mà đọc. Nhưng quan trọng là phải khởi đầu bằng cái ǵ đó vừa sức em và đừng 'khô như rơm' th́ mới nuốt nổi."
"cuti" trả lời ngay:
"e-book hả anh? em có hàng... tấn. Nghe ở đâu có e-book là em h́ hụi down về cho được. Em có chừng 2 gig e-book để mục miễu trong máy á. Có cái em chưa bao giờ ngó qua, có cái xem có vẻ hay hay nhưng có lẽ nội công c̣n non nớt quá nên chưa bao giờ luyện qua hết tầng một (chương một) của bộ bí kíp nào hết. Anh muốn em đọc cuốn nào, em lục cuốn ấy mà đọc thôi."
Tôi cười một ḿnh, lắc đầu và trả lời "cuti":
"Lại thêm một điển h́nh khác của 'rookie'. Nghe thấy ở đâu có e-book th́ cố mà download về rồi bỏ đó. Anh không thể 'muốn' em đọc cuốn nào mà phải chính em quyết định em 'muốn' đọc cuốn nào. Chuyện quan trọng lúc này là cách làm quen với sách kỹ thuật chớ chưa cần nội dung cao siêu cỡ nào hết. Miễn sao em thích đề tài nào th́ chọn một trong mấy cuốn em có mà thử thôi. Cái quan trọng là phải tự kỷ luật, đừng hứa hẹn cho ngày mai. Chắc cũng gần đến giờ anh dzọt rồi. Để khi khác ḿnh tiếp tục vậy hả?"
"cuti" nằn ń:
"Khoan đă anh, cho em hỏi thêm một tí nữa thôi. Anh 'bắt' em đọc sách nhưng anh chẳng chịu cho em một tí 'khẩu quyết' ǵ để 'đả thông' hết làm sao em nuốt vô cho nổi? http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Anh bày em cách đọc và tổng hợp như anh nói đi. Hồi đó đi học, anh có phương pháp ǵ vậy?"
Tôi chậm răi đáp:
"Cái thời 'hồi đó' của anh có lẽ khác cái thời 'hồi nay' của em nhiều lắm. Thời đó chưa có cái gọi là 'google', Internet cũng chưa có luôn. Modem thời đó lúc anh mới làm quen computer là 4800 bauds c̣n sách và tài liệu th́ quư như... vàng. Muốn mua một cuốn sách phải tằng tiện cả tháng trời hoặc hơn cho nên có một cuốn sách trong tay là 'nghiến' từng ḍng, từng chữ. Bởi hai 'thời' khác nhau quá, anh chỉ có thể góp ư với em thế này:
- sách vở, tài liệu có hai dạng chính: sách giáo khoa và sách tham khảo. Cách đọc và 'tiêu hoá' hai loại này khác nhau.
- sách giáo khoa là để học các kiến thức em gọi là 'đại cương và khái niệm'. Loại sách này em phải học, hiểu và tiếp nhận nó như một thứ kiến thức căn bản và cần thiết.
- sách tham khảo là để đối chiếu, mở rộng, đào sâu những thứ em đă học được từ sách giáo khoa. Các e-book của em có chắc hầu hết là sách tham khảo.
- vậy, để đọc được sách tham khảo em phải có căn bản trước không th́ em bị 'bọng' và sẽ thấy 'khó nuốt' bởi v́ loại sách này viết với ngầm định là em đă nắm kiến thức căn bản.
Riêng phần 'khẩu quyết' th́ đại loại là thế này: để làm quen với việc 'đào sâu', em nên tự đặt cho ḿnh các câu hỏi rồi t́m cách tự trả lời. Nếu em chưa quen 'tự đặt câu hỏi' th́ em có thể dùng vô số các câu hỏi được đặt ra xung quanh em. Thời nay diễn đàn CNTT mọc lên như nấm, có bao nhiêu là câu hỏi từ dạng đơn giản nhất đến dạng phức tạp nhất. Em thử chọn một vài câu hỏi rồi h́nh thành cho ḿnh câu trả lời sao cho đầy đủ nhất, hữu lư nhất. Câu trả lời t́m ở đâu? từ các sách tham khảo em có, từ 'google', từ các search engines.... Ví dụ, ai đó phát biểu một câu như sau: giao thức TCP là một giao thức stateful và UDP là một giao thức stateless. Em thử t́m hiểu xem lư do tại sao câu này được phát biểu như thế? có những lư do nào làm cho TCP thuộc dạng stateful và UDP thuộc dạng stateless? Tham gia sinh hoạt trên một diễn đàn một cách nghiêm túc cũng là một phương pháp hay cho việc 'hỏi' và 'trả lời'. Nếu em cần một câu trả lời thấu đáo cho chính ḿnh th́ chính câu trả lời này sẽ là câu trả lời rất giá trị cho người khác."
"cuti" có vẻ không lấy làm hào hứng:
"Chà, xem có vẻ căng đây. Nhưng để em cố xem sao. Đúng là em có cái tật qua quít cho xong nên chẳng có cái ǵ cho ra cái ǵ cả. Em biết anh đang truyền đạt cho em một lối suy nghĩ khác? Em thấy con đường 'tu luyện' có vẻ đầy chông gai như anh đă nói. Nhưng em có thắc mắc là làm sao ḿnh có thể nhớ một trăm thứ, một ngàn thứ được?"
Tôi đáp:
"Ừa, chữ 'truyền đạt' hơi quá, anh nghĩ là 'góp ư' th́ đúng hơn. Anh đang 'góp ư' em để h́nh thành cái gọi là nền tảng. Phải có nền tảng rồi th́ mới đi tiếp được.
Riêng chuyện nhớ th́ em không thể nhớ một trăm, một ngàn thứ ngay lập tức được nhưng nếu em thật sự hiểu một thứ nào đó, nó sẽ vĩnh viễn là của em v́ nó đă thuộc về kiến thức của em. Lư do 'cần phải ngọn ngành' cũng đi từ đây ra thôi, nó giúp em 'thật sự hiểu'. C̣n chuyện nhớ nhanh, nhớ chậm, nhớ lâu hay nhớ mau th́ có phần nào phụ thuộc vào khả năng tự nhiên của mỗi người nhưng không có nghĩa là không thể rèn luyện để nâng cao khả năng này cho ḿnh. Em thử đi rồi lần sau cho anh biết cách em đọc thông tin của một chương ra sao, cách em hiểu nó như thế nào, cách em tóm lược nó (để nhớ) ra làm sao... rồi anh sẽ góp ư cho. Bây giờ anh phải đi, nếu tiện ḿnh sẽ liên lạc sau hả? Chào cuti."
"cuti" không quên hóm hỉnh:
"Chào anh già khó tánh http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
Và tôi logoff.
Kai_it
07-10-2008, 10:06 PM
À, bác minhoang tỏ ra làm việc hiệu quả hơn đấy. Ghi nhận bài viết này, hay đấy.
minhhoang
08-10-2008, 07:32 PM
6. "Vật vă":
Điều lạ đă xảy ra. Suốt tuần lễ này tôi không hề nhận được một thông điệp nào từ "cuti". Tôi không thể đoán nổi "cuti" bận học hành, thi cử hay cu cậu đă chán nản "con đường chông gai". Dù ǵ đi chăng nữa, tôi đă có ít nhiều cảm mến "cuti" ở cái tính thật thà và hóm hỉnh của cu cậu. Một phần nào đó thầm kín trong ḷng, tôi mong "cuti" đừng bỏ cuộc.
Thế rồi, sang tuần lễ thứ hai, tôi nhận được một thông điệp ngắn gọn và bí hiểm từ "cuti":
"Chào anh già khó tánh. Em đang vật vă đây nhưng cũng chưa đến nỗi 'lực cùng, sức tận'. Em sẽ cho anh biết kết quả thử nghiệm của em". Tôi lẩm bẩm "chà, có ǵ mà bí hiểm quá vậy? 'thử nghiệm'? chắc cu cậu đă táy máy cái ǵ đây.". Tôi thấy vui v́ thông điệp này chứng tỏ cu cậu chưa bỏ cuộc nhưng lại thắc mắc không hiểu lư do tại sao "cuti" lại trở nên tiết kiệm ngôn từ đến thế.
Tôi tiếp tục lao vào công việc suốt những ngày c̣n lại của tuần lễ. Măi đến chiều thứ Bảy, rảnh rỗi một tí, tôi log vào YIM để xem các "offline message". Như thường lệ, tôi nhận hàng đống thông điệp và thong thả trả lời từng cái một. Quả nhiên có vài cái thông điệp của "cuti". Lần này "cuti" có vẻ rất khẩn trương:
"Ui, anh già khó tánh co đó không? Em bó tay rồi á. Anh có online cho em biết với"
Một thông điệp khác:
"Cuối tuần chắc anh rảnh hả? Lúc nào tiện, cho em biết. Em sẽ online cuối tuần để nhờ anh chỉ cho em thêm vài 'khẩu quyết'.".
Tôi chậc lưỡi: "Chà, cuti này làm ǵ mà có vẻ bí hiểm thật." Tôi đoán chắc cu cậu đang táy máy cái ǵ đây như bị tắc tị. Tôi bèn gởi cho "cuti" một thông điệp:
"Hello cuti, anh hiện đang online. Có cần ǵ th́ vào mà hỏi. Anh sẽ online từ 2 giờ chiều đến tối đa là 3 giờ."
Không đầy một phút, tôi nhận được thông điệp của "cuti":
"Dạ, em đây. Em ngồi chờ từ sáng đến giờ á."
Tôi cười, đáp:
"H́ h́, rảnh rỗi quá hả? 'nằm' trên Internet thường trực? Mà này, em cũng chơi tṛ 'invisible' như anh hả? Có chuyện ǵ mà có vẻ khẩn trương vậy?"
"cuti" rối rít:
"Dạ, em chuyển sang 'invisible' để khỏi bị quấy rầy. Cả hai tuần qua em chả chat với ai cả mà gầm đầu vào để t́m hiểu lời thử thách của anh."
Tôi ngạc nhiên:
"Ủa, 'lời thử thách' nào của anh vậy?"
"cuti" nhanh nhẩu:
"Trời, mới có hai tuần mà anh quên béng hết rồi sao? Cái thử thách anh nói là anh cho em IP, account của một Linux box để em vào hack đó. Anh c̣n nhớ không?"
Tôi bật cười nhưng không kém phần ngạc nhiên. Quả tôi có 'thách' "cuti" thật nhưng đó chỉ là một chi tiết trong cuộc đàm thoại để làm rơ quan điểm của tôi mà thôi. Không ngờ "cuti" tiếp nhận vấn đề một cách nghiêm túc và nghiêm trọng. Tôi đáp:
"À, tất nhiên là anh nhớ chớ. Nhưng đó đâu phải là điều anh thách thức một cách chính thức đâu? Đó chỉ là một cách làm rơ quan điểm thôi mà em. Hơn nữa, anh nhớ là em chịu thua rồi mà? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
Không ngờ "cuti" trả lời như sau:
"Dạ, em thua thật nhưng sau khi nói chuyện với anh lần thứ nhất, rồi đến lần thứ hai. Mọi điều anh em ḿnh trao đổi em đều ghi nhớ và cố gắng suy gẫm. Có những điều em suy không ra, nhưng cũng có nhiều điều em thấy thấm lắm. Cho nên, những điều anh nói em đều cho rằng phải có một ẩn ư nào đó. Hơn nữa, quả thật anh đă 'thách thức' em mà. Em đă chịu thua nhưng sau đó nghĩ ngợi lại em thấy ấm ức chịu không nổi. Thế là em bắt tay vào thử nghiệm."
Hơi ngạc nhiên, tôi hỏi tiếp:
"Rồi sao nữa?"
"cuti" tiếp tục:
"Dạ. Em chỉ có một con Pentium 3 mà thôi. Lần trước em học đ̣i cài đặt Linux, xém chút nữa là tiêu cái Windows của em. Bây giờ em muốn học Linux nên em... ṿi mẹ em tiền để sắm một con Pentium 4. Em viện lư do là em phải học mạng, cần hai máy nên rốt cuộc mẹ cho tiền sắm thêm một con P4. Thật là thích. Con này mạnh nên em mang cái đĩa chạy Windows qua và dùng con cũ để cài Linux."
"cuti" đưa tôi đi từ ngạc nhiên này đến ngạc nhiên khác, tôi hỏi tiếp:
"Thế rồi sao?
"cuti" hớn hở đáp:
"Em tậu con P4 chỉ trong ṿng 2 ngày là có và đến ngày thứ 3 th́ em đă có con P3 cũ để vọc quậy với Linux. Em mua một bộ đĩa RedHat 9 và tham khảo đống e-book của em để cài lại con Linux này. Ṛng ră mấy ngày trời, em hoàn tất con Linux. Có hôm em thức đến mấy giờ sáng, ngủ chập chờn một tí rồi thức dậy đi học."
Tôi thầm cảm phục cái "bướng bỉnh" và quyết tâm của "cuti". Không ngờ cu cậu quá nghiêm trọng với chi tiết "thách thức" kia. Tôi hỏi tiếp:
"Vậy, cài xong con Linux kia, em dự định làm những ǵ?"
"cuti" đáp tỉnh khô:
"Trời, vậy mà anh không biết sao? Em định tạo dịch vụ web trên con Linux này rồi tự 'hack' nó để thay đổi trang chủ y hệt như lời anh thách thức em đó. Nhưng cài xong em chẳng biết thằng apache làm việc ra sao nữa. Khi cài, em chọn cài tất cả nên có tùm lum tá lả dịch vụ trên máy chủ này. Em lại lọ mọ tham khảo cuốn e-book nói về apache để xem nó làm việc ra sao. Anh cũng biết là tiếng Anh của em dỏm số một nên nhiều lúc tham khảo mấy tài liệu kia choáng váng cả mặt mày. Nhưng rốt cuộc em cũng đă hoàn tất được thằng apache rồi. Mất của em ṛng ră mấy ngày trời á."
Tôi cười rộ v́ lối suy nghĩ "thẳng ruột ngựa" của "cuti" nhưng đồng thời cảm thấy mến cu cậu nhiều hơn. Mến ở chỗ cu cậu không chỉ "nói miệng" mà dám gát qua hết mọi chuyện để tạo ra một môi trường để tự thử nghiệm và kiểm chứng. Tôi đáp:
"Tốt lắm đó 'cuti'. Em dám hy sinh thời gian và những 'tṛ chơi' thông thường để tự h́nh thành cho ḿnh một cái Linux server trong khoảng thời gian ngắn như vậy th́ quả thật xuất sắc. Anh thật ḷng hoan nghênh em đó http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" hồ hởi:
"Anh nói thật sao? ặc ặc, hu hu, sướng quá đi mất. Em cứ tưởng anh sẽ mắng cho em một chặp v́ tội phí thời gian cài một con Linux để chứng minh một chuyện chẳng là cái ǵ hết. Ặc, ặc... em tưởng anh thật sự là 'anh già khó tánh' nhưng không ngờ anh cũng biết khen đó chớ, h́ h́."
Tôi đáp:
"Trời, sao không khen được "cuti"? Nếu em làm một chuyện ǵ đúng và có giá trị th́ phải được khen mới phải chớ? Anh khen v́ anh thấy em không chỉ 'nói miệng' cho xong chuyện nhưng em đă thật sự bắt tay vào làm một việc cụ thể. Chưa biết kết quả công việc đó như thế nào nhưng ở giai đoạn t́m hiểu với một người như em, theo anh, em đă đạt một bước đầu hết sức quan trọng: học đi đôi với hành. Cái này cũng chứng tỏ là em có đủ ham muốn để t́m hiểu và làm sáng tỏ điều ḿnh thắc mắc. Thật sự, anh thấy rất vui khi nghe chuyện này."
"cuti" rên rỉ:
"Hic hic, hơn một tuần qua em 'phờ phạc' với con Linux này. Giờ được khen tự nhiên bao nhiêu mệt nhọc biến đi đâu hết. Anh là một người rất 'nguy hiểm'! h́ h́. Lư do em muốn gặp anh là v́ em thấy muốn đổi thông tin trên trang chủ của website quá đơn giản. Em nghĩ là anh đố 'mẹo' em ǵ đây. Em nghĩ nát óc mà không ra lư do. Anh chỉ cho em với."
Tôi cười, hỏi lại:
"Thứ nhất, tại sao nghĩ anh là người nguy hiểm? Thứ hai, em điều chỉnh thông tin trên trang chủ của website em tạo ra bằng account nào và bằng công cụ nào vậy?"
"cuti" nhanh nhảu:
"Thứ nhất, anh là người 'nguy hiểm' v́ anh có khả năng 'hành hạ' bộ năo của em rồi sau đó mới khen một tiếng. Cú khen này thấy 'phê' hơn các cú khen thông thường. Theo em, như vậy là... 'nguy hiểm' http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Thứ nh́, ư anh account nào là sao? khi em cài con RH9 này nó cho phép em chọn mật mă của account root cho nên em chỉ dùng root từ bữa giờ thôi. Đâu có account nào khác đâu? C̣n công cụ th́ em thấy có cái Gnu Text Editor ǵ đó nên em dùng vậy thôi."
Tôi đáp:
"À ra vậy. Thứ nhất, nếu em nghiệm ra được anh là người 'nguy hiểm' th́ không chừng em c̣n 'nguy hiểm' hơn anh. Thứ hai, em nghĩ lần trước anh đánh cuộc với em chuyện sửa nội dung một trang web trên Linux server, anh sẽ cho em root account sao? http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Nếu vậy c̣n ǵ vui nữa. Anh chỉ cho em một account như một người dùng b́nh thường trên server này thôi. C̣n chuyện em dùng Text Editor ǵ đó th́ có nghĩa là em chạy trên môi trường GUI hả?".
"cuti" thắc mắc:
"Vậy root account với account của người dùng b́nh thường khác nhau thế nào anh? Và anh nói chuyện GUI, có phải ư anh là làm việc trên giao diện đồ hoạ phải không?"
Thấy rơ "cuti" c̣n hổng nhiều điểm căn bản, tôi ngẫm nghĩ cách tốt nhất để giải thích cho cu cậu. Sau đó tôi trả lời:
"Anh nghĩ em rành Windows nên anh tạm dùng Windows để em dễ liên tưởng. Thế này, trên Windows, Administrator có chủ quyền cao nhất, có nghĩa là ai dùng account này có thể làm bất cứ chuyện ǵ trên máy. Trên *nix nói chung, root chính là Administrator vậy. Thông thường ít có ai (kinh nghiệm với *nix) mà dùng root account để làm việc bởi v́ quá nguy hiểm. Nguy hiểm ở chỗ nếu 'lỡ tay' th́ không cứu văn được v́ root có uy quyền tuyệt đối. Bởi thế, admin của server thường tạo các account thông thường cho người dùng thông thường. Chỉ có những trường hợp cần thiết th́ mới chuyển sang su (super user mode - hay c̣n gọi là root mode). Trong trường hợp của em, em phải tạo thêm một account b́nh thường cho người dùng rồi mới dùng account này để 'hack' th́ mới gần với hoàn cảnh chuyện anh đánh cuộc với em.
Riêng chuyện GUI th́ thế này. GUI giúp cho những người mới làm quen *nix thấy dễ dàng và nó rất tốt nếu em có thể dùng nó như một dạng desktop để làm việc. Tuy nhiên, trong trường hợp anh cho em một account trên một Linux server nào đó để 'hack' thử, em thử nghĩ xem, em sẽ login server này bằng cách nào?"
"cuti" đáp ngay:
"Em nghĩ là phải dùng một dạng 'pcanywhere' hay 'terminal service' để log vào chớ sao nữa anh?"
Tôi cười đáp:
"H́ h́, trên *nix làm ǵ có 'pcanywhere' hay 'terminal service'? Thông thường, để bảo mật, những dạng dịch vụ cung cấp khả năng truy cập theo dạng GUI (trên *nix c̣n gọi là X) hoàn toàn bị loại bỏ v́ rất dễ bị 'khai thác'. Nếu vậy, theo em th́ ḿnh log vào bằng cách nào?"
"cuti" ngẫm nghĩ rồi đáp:
"Bằng telnet phải không anh?"
Tôi đáp:
"Gần đúng! ngày trước dịch vụ telnet được dùng rất phổ biến nhưng ngày nay rất hiếm thấy máy chủ cung cấp phương tiện truy cập đến dịch vụ telnet v́ lư do thông tin trao đổi giữa telnet client và telnet server hoàn toàn là 'cleartext' nên dễ bị 'sniff' (kể cả password). Thay vào đó, ngày nay người ta dùng ssh là chính."
"cuti" hớn hở:
"A, em có nghe đến SSH rồi nhưng chưa hề mó qua nó. Vậy ḿnh truy cập vào bằng đường SSH có nghĩa là ḿnh chỉ có một cửa sổ đen ng̣m để làm việc phải hông anh?"
Tôi xác nhận:
"Đúng thế, em sáng dạ lắm http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Ḿnh chỉ có một cửa sổ 'đen ng̣m' để làm việc. Muốn có nhiều cửa sổ th́ ḿnh phải login nhiều lần. Rồi, nếu ḿnh login qua ssh và có cửa sổ 'đen ng̣m', vậy liệu em có thể dùng "Notepad" ǵ để để điều chỉnh hồ sơ trên website không?"
"cuti" liến thoắn:
"Hi hi, anh ghẹo em hoài. Lúc này không có GUI th́ làm sao mà 'Notepad'? Vậy ḿnh phải dùng cái ǵ để thực hiện chuyện điều chỉnh đây anh?"
Tôi cảm thấy phải đi chầm chậm với "cuti" không th́ cu cậu choáng ngợp th́ hỏng hết, bèn đáp:
"Ừa, khi làm việc với *nix, một trong những công cụ căn bản và không thể thiếu là vi hoặc emacs. Em phải học cách sử dụng một trong hai công cụ này. vi th́ phổ biến và đơn giản hơn, emacs th́ có server không dùng nhưng nó cao cấp hơn. Anh nghĩ em nên làm quen với vi trước."
"cuti" reo lên:
"Hi hi, vi? cái tên ǵ ngộ thật http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif Em chưa từng nghe qua, đừng nói chi là đụng đến nó. Vậy ḿnh có cần cài gói vi không anh?"
Tôi đáp:
"Không em, vi có sẵn khi em cài Linux rồi đó v́ nó là một trong những gói căn bản nhất. Em xem thử trong mớ e-book của em có cuốn sách nào nói về vi không? anh nhớ mang máng là O'Rilley có một cuốn chuyên chú về vi đó. Nếu không có, cho anh biết để anh t́m vài cái link trên Internet chỉ cách học và thực tập vi cho."
"cuti" trả lời ngay:
"Dạ, chờ em một tí thôi, con Windows của em ngay trên bàn, để em xem liền thử có cuốn e-book này không."
minhhoang
08-10-2008, 07:32 PM
Tôi ngồi chờ "cuti" và cố h́nh thành một phương án ngắn gọn để 'đưa' "cuti" đi từ chỗ thiếu lớp lang đến chỗ có lớp lang hơn. Cái khó là vấn đề thời gian và phương tiện liên lạc. Tôi th́ rất ít có thời gian để vào YIM. Ngay cả vào YIM và chat bằng text th́ chẳng 'hiệu xuất' v́ chậm quá. Tôi thầm nhủ "thôi th́ cứ từng bước mà mần, xem thử cuti kéo dài được bao lâu rồi tính tiếp". Sau vài phút, "cuti" gởi cho tôi một thông điệp khác:
"Anh già khó tánh ơi, c̣n đó hông? Em đă t́m ra được cuốn e-book của O'Rilley anh nói rồi đó. Em nghĩ đúng là nó v́ trong đống e-book của em chỉ có một cuốn nói về vi. Hi hi, bây giờ em mới thấy quư cái 'kho' ebook của em. Trước giờ cứ để nó một góc mà chẳng biết tận dụng nó."
Tôi đáp:
"Tốt lắm. Sẵn có hai máy, em mở cái ebook đó trên Windows và dợt vi trên Linux đi. Nhưng nhớ đừng tự dồn ép quá mà không tốt và dễ bị nản. Thức ăn dành cho năo bộ cũng như thức ăn dành cho... bộ ḷng http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Em phải ăn uống điều độ th́ nó mới tiêu hoá và tiếp thu được. Ráng dồn cho nhiều vào thế nào cũng bội thực cho mà xem. À mà này, em đă nắm khái niệm 'root' account và account cho người dùng b́nh thường chưa?"
"cuti" hóm hỉnh:
"Đơn giản quá mà anh. Anh cứ dùng Windows giúp em liên tưởng Linux th́ em hiểu liền liền thôi. C̣n chuyện dồn ép th́ anh đừng lo. Hễ em thích th́ bao nhiêu cũng được hết. Anh thấy không, gần hai tuần qua em vật lộn với con Linux, vừa đọc tài liệu vừa ráng hiểu vậy mà cũng cài được con Linux mà. Em chẳng thấy mệt ǵ cả mà lại thấy thích v́ lần đầu tiên em cài nó v́ có mục đích rơ ràng http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
Tôi cười và đáp:
"Thôi đi, đúng ra anh không nên dùng Windows để giúp em liên hệ với Linux bởi v́ chúng khác nhau rất nhiều. Khi làm việc với Linux nên tránh liên hệ và so sánh đến Windows v́ nó có thể dẫn đến những sai lạc căn bản. Lần sau anh không liên hệ kiểu này nữa đâu. C̣n chuyện cài được con Linux th́ anh thấy tốt lắm. Em đă vượt qua được một bước rất quan trọng cho những bước về sau. Tuy nhiên, anh góp ư với em chuyện điều độ là v́ anh không muốn em lao vào thật nhanh rồi rút lui thật nhanh v́ bị choáng ngợp. Nếu lâm vào t́nh trạng này không những uổng phí mà c̣n nguy hại nữa bởi v́ lần sau em sẽ e ngại v́ có ấn tượng không tốt từ lần trước và bởi thế em sẽ rất khó quay lại mức bền bỉ và quyết tâm cần thiết để thành công."
"cuti" trả lời:
"Vậy th́ em nghe theo lời anh. Em chỉ sợ tự nhiên giảm 'tốc độ' lại một cách đột ngột sẽ làm em mất trớn thôi. Vậy em phải bắt tay vào học vi phải không anh? Anh nghĩ bao lâu th́ em sẽ thành thạo với công cụ này?"
Tôi đáp:
"Anh nghĩ không lâu đâu. Căn bản th́ vi chỉ có vài chục lệnh để di chuyển và sửa đổi nội dung hồ sơ. Phần khó là phần dùng regex để t́m 'pattern' và thay thế 'pattern'. Tuy nhiên, em có thể 'nâng cấp' từ từ. Cái quan trọng là phải chịu khó 'dợt' vi bằng cách làm việc thử trên các hồ sơ; đọc sách 'khan' mà không thử th́ không cách ǵ mà nhớ hết và thông thạo được.
À, có một chi tiết anh muốn nhắc em về chuyện em muốn thực hiện vụ đánh cuộc của ḿnh. Em nên nhớ là em phải thực hiện các thao tác từ xa và chỉ dùng một cửa sổ 'đen ng̣m, chữ trắng'. Em phải thử login máy Linux server của từ một máy khác. Trong trường hợp của em th́ nên logon từ máy Windows và nên dùng Putty, một ssh client rất hay và miễn phí. Thử vào google và t́m 'Putty' th́ sẽ thấy đường dẫn để download công cụ này. Nếu em đă chọn chế độ 'cài tất cả' khi cài Linux, anh nghĩ là em đă có sẵn dịch vụ SSH trên máy Linux rồi đó."
"cuti" cười, đáp:
"H́ h́, anh cẩn thận quá. Em biết em phải làm ǵ mà."
Tôi vẫn kiên tŕ:
"ok, nếu em biết em phải làm ǵ, em tóm tắt những điểm em phải làm ǵ anh xem thử? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" trả lời ngay:
"Đơn giản như... đang giỡn. Nè, em phải:
- download thằng Putty về máy Windows
- dùng nó để truy cập vào máy chủ Linux
- thử thay đổi nội dung trang web đang có trên máy chủ Linux"
Tôi đáp:
"C̣n thiếu! dùng Putty để truy cập vào máy chủ Linux bằng một account b́nh thường. Điểm này cực kỳ quan trọng."
"cuti" rú lên:
"Oái, chuyện đơn giản vậy mà em vẫn sót một chi tiết quan trọng. Không sao, để em save nội dung anh em ḿnh chat và đọc lại th́ chắc ăn, không sót ǵ đâu. Ơ, nhưng mà muốn truy cập và máy chủ Linux bằng một account b́nh thường th́ phải có một account b́nh thường phải không anh? Nếu vậy ḿnh phải tạo thêm account b́nh thường. Tạo account b́nh thường là làm sao vậy anh?"
Tôi cười:
"Sao hỏi anh? Cuốn cẩm nang Linux của em đâu? Tạo account trên *nix cũng được xem là một trong những thao tác 'hack' đó và không có cuốn sách chỉ dẫn dùng Linux nào lại không nói đến chuyện này cả. Em thử t́m cách 'hack' hợp lệ bằng cách tạo 'user account' đi http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
"cuti" rên rỉ:
"Ặc ặc, em muốn anh chỉ liền để đỡ mất công đọc sách và có ngay một account để mà quậy. Vậy mà anh cũng không chịu chỉ dùm."
Tôi t́m cách khuyến khích "cuti" và đáp:
"H́ h́, anh chẳng hẹp ḥi với cái lệnh thêm user account vào máy đâu. Tuy nhiên, anh không chỉ em ngay lập tức bởi v́ em phải làm quen với những thao thác đơn giản và căn bản này th́ về sau em mới có thể 'hack' được. Cái đơn giản và căn bản luôn luôn có giềng mối sâu xa với cái phức tạp và nâng cao. Cho nên em cần chịu khó bước đầu."
"cuti" vui vẻ trả lời:
"Không có ǵ đâu anh, em t́m hiểu nó được mà. Em chỉ có thắc mắc là tại sao anh rất kiên tŕ với chuyện bắt em phải làm quen với việc tạo account thôi. Chắc anh phải lư do ǵ đó phải hông?"
Tôi đáp:
"Ừa, em tinh ư lắm. Chắc chắn là anh có lư do. Lư do khá rơ ràng như sau nếu em thắc mắc. Bởi lẽ em phải đọc phần hướng dẫn cách tạo user account, chắc chắn nó sẽ kèm thông tin về tài khoản và quyền hạn của account. Nó lại trực tiếp dính đến nhóm người dùng (group) và cả password, thư mục nhà (home directory), shell ấn định cho người dùng và chủ quyền truy cập trên filesystem.... Đây là những kiến thức căn bản không thể thiếu được. Nếu em là người có 'máu' system admin th́ em sẽ ṭ ṃ t́m hiểu thêm cơ chế lưu trữ password của Linux thế nào, cơ chế xác thực người dùng (authentication) ra làm sao. Nếu em là người có 'máu' coder th́ em sẽ ṭ ṃ t́m hiểu xem khi tài khoản được tạo ra, nó sẽ dính líu đến các system calls nào, khi người dùng xác thực để login th́ có những system calls nào cần dùng? thuật toán nào dùng để băm (hash) password?.... Những kiến thức này là những kiến thức sẽ làm em "vật vă" trong giai đoạn đầu nhưng không thể thiếu được nếu như em muốn làm 'hacker' đúng nghĩa."
"cuti" cảm thán:
"Chà chà, nghe mà phát khiếp. Thôi anh chậm chậm lại một chút hông th́ em 'nuốt' không kịp. Ư anh là em phải nh́n vấn đề từ nhiều phương diện? nh́n vấn đề như một system admin cũng như một coder? Và tại sao ḿnh cần phải hiểu rơ một cách tinh tế như vậy anh?"
Tôi cười đáp:
"Anh đoán trước thế nào em cũng thắc mắc những điểm này. Để anh giải thích thêm một tí nữa. Hăy thử dùng một ví dụ 'hiện thực' hơn một tí: em vào được một dinh thự, trong dinh thự có một cái két sắt chứa bản đồ dẫn đến một kho tàng khổng lồ. Việc em cần làm là lấy cho được tấm bản đồ này. Có hai lựa chọn: 1) dùng thuốc nổ để phá tan cái két sắt (có thể làm hỏng cả cái bản đồ và tạo tiếng ồn, để lại dấu tích) 2) nghiên cứu cách mở ổ khoá của cái két sắt này (để mở nó ra một cách nhẹ nhàng, êm thấm, không có vết tích, không có tiếng ồn). Tất nhiên cách thứ nhất nhanh hơn và có nhiều hiểm hoạ hơn cách thứ nh́. Trong khi đó, cách thứ nh́ khó khổ hơn, mất thời gian hơn nhưng ít hiểm hoạ hơn. Hơn nữa, sau khi nghiên cứu kỹ lưỡng cách mở khoá két sắt, tự nhiên các két sắt khác trở nên không c̣n khó khăn đối với em nữa. Vậy để thực hiện cách thứ nh́, em cần nghiên cứu cẩn thận cấu trúc của các loại khoá từ đơn giản đến phức tạp, cách làm việc của chúng, điểm mạnh, điểm yếu của chúng.... Nếu nh́n về hướng thiện, sau khi nghiên cứu chúng, em có thể khắc chế chúng và cũng có thể tạo ra những loại khoá khác vững vàng hơn chẳng hạn. Nếu nh́n về hướng ác, sau khi nghiên cứu chúng, em có thể khắc chế các loại khoá một cách dễ dàng để mở két.... Ư anh không phải khuyến khích bẻ khoá, đột nhập ở đây. Ư anh chỉ muốn nói rằng, để khắc chế hoặc cải thiện một việc ǵ đó, em phải thông hiểu nó và những giềng mối xung quanh nó. Hay nói một cách khác, kỹ năng và kiến thức là những thứ không thể thiếu được. Chắc em cũng hiểu là anh không khuyến khích dùng cách thứ nhất.
Quay về với chuyện tài khoản người dùng của anh em ḿnh. Nếu em không nắm rơ cơ chế làm việc này, không có cách ǵ em có thể 'hack' nó được. Nó cũng tương tự như ổ khoá của két sắt ở trên thôi. Em thoả măn rồi chứ? http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" trầm ngâm hồi lâu, có lẽ cu cậu đang nghĩ ngợi. Sau đó, "cuti" trả lời:
"Chà... dạ, em đang đọc lại thông điệp của anh, đang cố gắng h́nh dung những ǵ nằm sau màn 'kiến thức' mà anh nói ở đây. Em cảm thấy dường như những điều em hiểu về 'hack' trước giờ không giống những điều anh nói. Em lờ mờ h́nh dung những điều anh nói ở đây có lẽ là nguyên tắc để thử khắc chế 'các loại khoá' chớ không riêng ǵ 'một loại khoá'. Phải không anh?"
Tôi đáp một cách vui vẻ:
"Em thông minh lắm. Nếu 'hack' đưọc một loại khoá th́ không nên 'hack' làm ǵ. một loại khoá ở đây theo nghĩa đen là một trường hợp. Đến khi gặp trường hợp thứ hai: bế tắc v́ không hiểu rơ nguyên tắc. Bởi vậy, ngay từ đầu anh đă nói: "con đường chông gai" mà http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
"cuti" dè dặt:
"Như vậy trước mắt, em không những phải học vi mà c̣n phải biết cách làm cái ǵ với cửa sổ 'đen ng̣m có chữ trắng' kia nữa. Thật sự ngay lúc này em không thể h́nh dung nổi sau khi login Linux server bằng 'Putty' ǵ đó, em sẽ thao tác những ǵ. Ui cha, thấy vậy mà gay thiệt. Vậy khi em bí cái ǵ đó, em gởi message cho anh trên YIM nha?"
Tôi trả lời:
"Xong ngay thôi em. Cứ hỏi. Anh sẽ cố gắng login YIM đều đặn hơn để giúp em một tay. Nên xem tṛ 'đánh cuộc' này của anh em ḿnh là một chuyện dùng để tạo điều kiện khai phá. Kết quả quan trọng nhất chính là kiến thức ḿnh gặt hái trên các bước ḿnh đi qua."
"cuti" lởi xởi trả lời:
"Dạ em biết mà. Em có một thắc mắc nữa là em thấy rất lạ là anh chưa bao giờ dùng một lệnh nào đó để làm ví dụ trong khi ḿnh nói chuyện cả. Em thấy ở đâu cũng dùng lệnh để minh hoạ hết, tại sao vậy anh?"
Tôi cười, đáp:
"Lệnh? lệnh nào? lệnh của cái ǵ? lệnh để làm ǵ? H́ h́, anh đùa đó. Anh nghĩ, hễ nói đến lệnh là nói đến 'thực hành' mà để 'thực hành' th́ phải có căn bản 'lư thuyết' mà để 'nuốt trôi' được 'lư thuyết' th́ phải nắm được nền tảng và kỹ năng tiếp cận vấn đề. Nó giống như ḿnh xây một ngôi nhà vậy, 'lệnh' tương tự như thao tác ráp cửa sổ vào bức tường nhưng trong trường hợp của ḿnh, ḿnh chưa hề có ngôi nhà, chẳng có cái nền, chưa có bức tường th́ làm sao mà gắn cửa sổ vào? Việc trước tiên ḿnh xác định rơ là ḿnh có muốn xây nhà không? có đủ kiên tŕ để xây nhà không? sau đó mới t́m hiểu xây cái nhà th́ cần những ǵ? rồi từ đó mới lên plan và thực hiện từng nền nhà đi lên. Ngay bây giờ ḿnh nói chuyện ráp cửa sổ th́ hơi sớm và hơi chưa cần thiết http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Đây, để thỏa măn nỗi bức xúc của em, xem thử một lệnh:
Code:
find / -depth -type f -perm -0202 | xargs file | cut -f1 -d: | while read file; do printf "cuti is insane\n" >> $file; done
Em thử xem nó có nghĩa là ǵ? Tác dụng của nó làm ǵ?"
"cuti" vội vă tránh:
"Thôi thôi anh già khó tánh ơi. Anh 'kẹp' như cua kẹp thế này th́ làm sao em căi nổi. Anh dùng ví dụ ngôi nhà là em đă hiểu rồi. Thêm cái ḍng lệnh kỳ quái ở trên chỉ tổ làm cho em lùng bùng thêm thôi. http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif"
Tôi vui vẻ đáp lại:
"H́ h́, vậy th́ tốt rồi. Nhớ đừng chạy cái lệnh trên và nhất là không được chạy nó bằng root không th́ em phải cài lại con Linux của em đó. Anh hy vọng bây giờ em đă hiểu thế nào là 'ngọn ngành'."
"cuti" tiếp tục ṭ ṃ:
"Ui trời, cái lệnh kỳ quái của anh làm ǵ mà kinh vậy?"
Không muốn đào sâu với cái lệnh, tôi gạt phăng:
"Thôi em, coi chừng lạc đề và lâm vào t́nh trạng 'tẩu hỏa' bây giờ. Anh bảo đảm nếu em đi đúng đường lối, đúng thứ tự lớp lang th́ một ngày kia em sẽ rơ ḍng lệnh trên như đọc tiểu thuyết vậy http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Anh muốn hỏi em thêm một điểm trước khi anh sign off. Nếu dựa trên tinh thần 'cái nhà' ở trên, em nghĩ ḿnh đang ở giai đoạn nào?"
"cuti" trở lại với cái tính hóm hỉnh cố hữu:
"Dạ, ḿnh đang ở giai đoạn..... vật vă http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Hông có, em đùa đó. Em nghĩ ḿnh ở trong giai đoạn t́m hiểu cách xây cái nền cho cái nhà. Phải hông anh?"
Tôi đáp, cố động viên "cuti":
"Đúng đó cuti. Ḿnh đang trong giai đoạn 'vật vă t́m hiểu cách xây cái nền nhà'. Điều này có nghĩa ḿnh đă quyết tâm xây cái nhà. Anh hy vọng quyết tâm này sẽ bền bỉ cho đến khi căn nhà được xây xong và anh tin em có đủ 'lửa' để hoàn tất. Thôi, anh phải đi đây. Cần ǵ cứ YIM cho anh. Chào cuti"
"cuti" đáp:
"Dạ, vật vă trong 'lửa' http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Chào anh."
minhhoang
11-10-2008, 05:39 PM
7. Giềng mối:
Như tôi đoán trước, lần này quả thật "cuti" im ắng. Suốt hai tuần lễ, tôi không nhận được một thông điệp nào từ "cuti" nhưng lần này tôi không c̣n ngại "cuti" bỏ cuộc mà tin rằng "cuti" đang 'vật lộn' với mớ khái niệm mới, với môi trường hệ điều hành mới. Tôi biết đây là một đoạn dốc khá cao và căng thẳng với "cuti" v́ cu cậu gần như phải bắt đầu lại từ đầu với một hệ điều hành mới mẻ.
Có sẵn kinh nghiệm dùng máy tính và sử dụng hệ điều hành Windows cộng với dăm ba mẹo vặt không tạo điều kiện thuận lợi cho "cuti" 'vượt dốc' mà ngược lại có thể tạo những khó khăn nặng nề hơn v́ chắc chắc cu cậu sẽ không ngừng liên hệ đến những thói quen và kiến thức có sẵn về hệ điều hành Windows. Điều đáng nói là "cuti" không hề gởi một thông điệp nào để than văn hoặc cầu cứu. Tôi không biết cu cậu có tham gia diễn đàn nào khác và đang tung lên hàng loạt câu hỏi. Dù "cuti" có thử giải quyết cách này, cu cậu chắc chắn sẽ mất một khoảng thời gian dài để đi đến giai đoạn hiểu được ḿnh đang ở đâu.
Sau hai tuần, tôi nhận được một bức e-mail từ "cuti". Nó có nội dung rất dí dỏm như sau (tôi đă lượt bỏ những chi tiết riêng tư và không phù hợp với tinh thần chủ đề, tôi cũng đă điều chỉnh lại cho ngôn từ nghiêm túc và chuyên nghiệp hơn):
"Anh già khó tánh kính mến,
Hai tuần qua em bị con chim cánh cụt 'đè' gần ngất xỉu nhiều lần. Em nhiều lần rất muốn gởi anh một vài thông điệp để cầu cứu nhưng lời anh nói cứ ám trong đầu: "Sao hỏi anh? Cuốn cẩm nang Linux của em đâu?" làm em ngần ngại. Lúc này em không khác ǵ người đi trong rừng Amazon, chẳng c̣n biết phương hướng ở đâu nữa. Bây giờ em mới thật sự thấy chuyện đánh cuộc của anh em ḿnh khó đến mức nào.
Anh già biết hông? sau bao nhiêu là ṃ mẫm, em mới hiểu ra chỉ có root mới có thể tạo account cho người dùng và mới t́m ra được lệnh dùng để tạo account. Nh́n lại th́ thấy những chuyện này không khác ǵ bên Windows mấy. Tuy nhiên, để khai mở những điểm anh đưa ra về chuyện 'nh́n sự việc như một system admin hay một coder' th́ em quả lạc lối mất rồi. Cuốn 'cẩm nang Linux' của em không đề cập bao nhiêu về những điểm này. Vậy em t́m hiểu những thông tin này ở đâu anh? Thật kỳ lạ anh ạ, trước đây hễ thấy cuốn e-book nào dày vài trăm trang là em hết muốn đụng tới. Giờ đây, em lại mong cuốn e-book Linux của em dày hơn, nhiều hơn. Em nghĩ anh là con người nguy hiểm là một điều không sai bởi v́ không hiểu tại sao anh có thể biến em từ một đứa không buồn đụng đến cuốn e-book mà bây giờ lại mong nó dày hơn. H́ h́, em nói đùa đó thôi. Có nhiều lúc em muốn bỏ dở để đi bắn Gunbound cho khoẻ nhưng nghĩ lại th́ thấy hơi... ê v́ thế nào cũng bị anh chửi cho một chặp, nên thôi.
Em đă tạo được account dành cho người dùng b́nh thường và có thể login bằng account đó rồi. Tuy nhiên, em đang ở trong giai đoạn 'dậm chân tại chỗ' bởi v́ khi dùng account này và thử 'vi' trang index.html của web server trên máy chủ Linux th́ nó luôn luôn báo lỗi 'changing read-only file'. Câu hỏi của em là: bằng cách nào ḿnh có thể 'viết' vào nó để thay đổi nội dung hở anh?
Nếu rảnh anh sớm hồi âm dùm em nhe? Em biết anh chắc bận rộn lắm nhưng không hỏi anh th́ hỏi ai bây giờ? Nếu anh quá bận rộn th́ chắc em phải đành cho con chim cánh cụt 'đè' thêm ít hôm nữa, chắc cũng không sao đâu.
Chúc anh và gia đ́nh vui khoẻ.
Em,
Cuti."
Tôi đọc e-mail của "cuti", ngẫm nghĩ t́m cách trả lời cho cu cậu. Câu hỏi cu cậu đưa ra "bằng cách nào ḿnh có thể 'viết' vào nó để thay đổi nội dung hở anh?" là một câu hỏi ở dạng có thể có vô số các câu trả lời. Tôi sẽ chọn câu trả lời nào đây?
Mấy ngày kế tiếp, tôi vô cùng bận rộn nên vẫn chưa trả lời cho "cuti" nhưng thỉnh thoảng tôi ghi xuống dăm ba điểm quan trọng để dùng chúng mà khai triển câu trả lời. Chiều nay, trên đường đi làm về, ngồi trên tàu lửa, tôi mở laptop ra và quyết định thảo một bức e-mail cho "cuti" như sau:
"Cuti thân mến,
Anh đă nhận được mail của em vài ngày trước đây nhưng lu bu công việc quá nên chưa hồi âm ngay cho em được. Mong em thông cảm. Anh sẽ trả lời các thắc mắc của em theo thứ tự như sau:
1. Em nên ngần ngại khi hỏi anh nếu như:
- em chưa đọc kỹ cuốn "cẩm nang" của em
- em đọc rồi nhưng chưa hiểu rơ và không muốn đọc lại lần nữa để hiểu rơ hơn
Nói cách khác, nếu em hỏi có cái ǵ dính dáng với "what" và "how" th́ cứ nhớ đến câu: "Sao hỏi anh? Cuốn cẩm nang Linux của em đâu?" http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Nếu em hỏi có cái ǵ dính với "why" th́ anh sẽ trả lời thắc mắc của em.
Lư do anh khuyến khích em đọc và suy nghĩ v́ quá tŕnh 'hành xác' này sẽ biến những thứ em đọc và suy nghĩ thành 'tài sản' của em. Anh có thể tổng kết, rút gọn lại những điều em cần đọc và giải thích cho em. Tuy nhiên, ḿnh không nên đi theo hướng này v́ nó làm... hư người đi http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif. Em cần tự ḿnh h́nh thành một lối suy nghĩ, tiếp cận và giải quyết vấn đề riêng cho ḿnh.
2. Chuyện đánh cuộc của anh em ḿnh sẽ rất khó đối với những ai không hiểu được chiều rộng và bề sâu của điều cần phải làm. Nó sẽ khó với những ai đă h́nh dung được chiều rộng và bề sâu này và nó sẽ không khó với những ai đă 'thử' đi xuống bề sâu và đi ngang qua chiều rộng này. Đọc mail của em, anh h́nh dung là em đă bắt đầu h́nh dung được chiều rộng và bề sâu của vấn đề. Thật t́nh mà nói, em rất sáng dạ và chịu khó v́ em đă đi qua một đoạn đường khá 'chông gai' trong một khoảng thời gian ngắn ngủi như thế. Anh không gặp bao nhiêu người có thể làm như em đâu. Cho nên gắng lên em và nên kiên nhẫn hơn.
3. Câu hỏi "bằng cách nào ḿnh có thể 'viết' vào nó để thay đổi nội dung hở anh?" th́ anh có thể tóm gọn như sau:
Không riêng ǵ root làm chủ một (hoặc nhiều) hồ sơ, thư mục... mà bất cứ tài khoản nào cũng vậy, nếu chủ nhân của các hồ sơ này ấn định một số giới hạn đến những thứ họ tạo ra th́ tổng quát mà nói, em không thể thay đổi được nó một cách chính diện bằng chính tài khoản của em ngoại trừ... em 'hack' (và ngoại trừ em có 'root' account). Hành động 'hack' ở đây được tiếp cận và phân tích ra sao th́ tùy vào mức độ am hiểu hệ thống của người muốn 'hack'. Tuy nhiên có hai trường hợp tổng quát để có thể làm nền tảng cho việc 'thay đổi nội dung hồ sơ' ấy:
- 'mượn tay' root để thay đổi nội dung v́ chỉ có root mới có thể làm chuyện này.
- 'biến' ḿnh thành root để thay đổi nội dung cũng v́ lư do ở trên.
Ngoài ra, có thể có khả năng khác. Ví dụ như hồ sơ này cho phép những ai trong nhóm (group) điều chỉnh (nếu như attribute của hồ sơ này ấn định như thế).
Vậy, điều em cần t́m hiểu ở đây là ǵ? Đây:
- t́m chủ quyền và giá trị ấn định chủ quyền hồ sơ ḿnh cần thay đổi (cho owner, group và others) xem thử nó là ǵ?
- 'mượn tay' root là sao? do đâu có khái niệm 'mượn tay' root?
- 'biến' ḿnh thành root là sao? do đâu có khái niệm 'biến' ḿnh thành root?
Đây là cốt lơi của các điểm yếu thường gặp trên hệ thống *nix nếu chế độ mặc định bị lỗi hoặc system admin thiếu kinh nghiệm, thiếu cẩn thận trong quá tŕnh điều chỉnh hoặc chính software trên hệ thống này bị lỗi. Từ ba điểm yếu này mở ra muôn vàn khả năng, biến thái, kết hợp, điều chế, thử nghiệm.... và đây chính là 'hack': hành động t́m kiếm và đi đến tác động để thay đổi thái độ làm việc của hệ thống. Không riêng ǵ trên *nix mà bất cứ hệ điều hành nào cũng vậy, bất cứ cơ chế xác thực người dùng (authentication) và ấn định chủ quyền người dùng (authorisation) nào đều có cơ hội bị 'xoáy thủng' dựa trên ba điểm trên.
Anh chỉ có thể trả lời chi tiết hơn khi nào em đă nắm vững cơ chế ấn định chủ quyền của tài nguyên trên một máy chủ. Em c̣n nhớ đoạn lệnh anh gởi cho em lần trước làm em 'lùng bùng' không? Nó có liên quan trực tiếp đến cái gọi là giá trị ấn định chủ quyền đó. Anh giới thiệu thêm vài từ khoá: ls, umask, chmod, chown, chgrp để em đỡ phải lan man. Sau khi đă hiểu rơ những ǵ thuộc về mấy từ khoá trên và những giềng mối xung quanh nó, thắc mắc của em sẽ trở nên rơ ràng hơn.
Thứ năm tới đây anh có ngày nghỉ. Có lẽ anh sẽ bận buổi sáng nhưng buổi chiều th́ rảnh. Nếu muốn 'bổ' thêm vài 'thang' th́ cho anh biết. Từ đây đến đó c̣n ba ngày cho nên em nên tham khảo qua mấy từ khoá ở trên trước đi. Em cũng nên chuẩn bị sẵn những điều ḿnh thắc mắc th́ anh em ḿnh 'chat' mới có chất lượng. Nên nhớ: ask me why, don't ask me what http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif
Chúc em một ngày vui.
Chào cuti."
Tối hôm ấy tôi gởi "cuti" bức e-mail trên. Sáng ngày hôm sau tôi nhận được hồi âm của "cuti":
"Hello anh già khó tánh http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif
Cứ mỗi lần nhận được một thông điệp của anh, bộ năo của em lại chạy ro ro. Em lại sinh ra một cái tật mới là miệng hay lẩm bẩm http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif, chắc anh biết lư do tại sao.
Chiều thứ Năm em cũng rảnh nhưng phải sau một giờ trưa lận bởi v́ em phải vào trường. Như vậy khoảng sau 4 giờ chiều nơi anh ở. Vậy có tiện không anh?
Em sẽ 'lên danh sách' những điều em thắc mắc để được anh 'châm' cho vài phát. Em đang lùng thêm vài cuốn e-book Linux, không biết anh có cuốn nào khác không?
Vậy anh nhé? Hẹn gặp lại chiều thứ Năm.
Chúc anh một tuần làm việc vui vẻ.
Cuti."
Suốt mấy ngày tiếp theo, tôi vùi đầu vào công việc và ba ngày đi qua nhanh chóng. Chiều thứ Năm ấy tôi quên bẵng ḿnh có 'hẹn' với "cuti", vẫn đi chơi với gia đ́nh. Măi đến sau 4 giờ chiều mới sực nhớ. Khi tôi về nhà và logon, "cuti" vẫn chưa online. Tôi cười, thầm nghĩ "Chà, tưởng đâu ḿnh cho cuti leo cây, không ngờ lại bị cuti cho ḿnh leo cây". Tôi gởi "cuti" một offline message:
"Cuti, anh đă online. Khi nào em vào, hú một tiếng cho anh biết."
Măi mười lăm phút sau tôi mới nhận được thông điệp hồi báo của "cuti". Cu cậu có vẻ "hớt hăi" lắm:
"Dạ em đây, em đây. Trên đường đi học về bị xẹp lốp anh à cho nên trễ năi hết. Cho em xin lỗi nhe. May mà không có anh ở đây chớ không th́ chắc cũng bị ăn vài cái 'kí' trên đầu rồi. Hi hi."
Tôi trả lời:
"Không sao em, anh cũng mới online chừng 15 phút thôi. Em ăn cơm chưa? cứ thong thả đi."
"cuti" lại hóm hỉnh:
"Dạ em đang vừa 'đớp', vừa 'chat' đây. Hông phải vừa đốp, vừa chát đâu nghe? Ai mà dám đốp chát với anh http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif."
Tôi cười, đáp:
"Vậy em thong thả ăn cơm đi rồi ḿnh nói chuyện sau. Anh duyệt web, trả lời e-mail cũng được."
"cuti" rối rít:
"Dạ không, được mà anh. Bụng đớp kệ bụng, năo đớp kệ năo. Em ăn hai thứ một lượt cũng được mà."
Ph́ cười v́ tính dí dỏm cố hữu của cu cậu, tôi cũng hóm hỉnh với cu cậu:
"Vậy th́ được thôi, anh chỉ sợ cơm th́ lên năo mà chữ th́ xuống ruột... già th́ công toi thôi, h́ h́. Vậy em đă 'lên danh sách' những điều em muốn hỏi chưa?"
"cuti" nhanh nhẩu:
"Ha ha, anh cũng biết nói chuyện tếu lâm nữa sao? Em cứ tưởng anh là một lăo đạo mạo chỉ có số với chữ không chớ! C̣n chuyện danh sách th́ có rồi chớ anh. Lúc máy mó trên con Linux th́ bao nhiêu là câu hỏi. Lúc đọc mail của anh lại thêm cả đống câu hỏi. Vậy mà khi ngồi xuống liệt kê lại th́ chẳng c̣n được bao nhiêu câu hết. Lạ thật."
Tôi đáp:
"Vậy em cứ hỏi rồi tự nhiên câu hỏi này sẽ dẫn đến câu hỏi kia thôi. C̣n chuyện em nghĩ anh đạo mạo th́ em lầm to rồi đó http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
"cuti" trịnh trọng:
"Em hỏi nhe? Anh sẵn sàng chưa?"
Tôi bật cười, trả lời:
"Shoot!"
"cuti" chộp ngay câu trả lời của tôi và hỏi liền:
"shoot là ǵ vậy anh? đá banh hả?"
Tôi không nén nổi, bật cười xoà v́ tính con nít và năng động (và có phần thiếu tập trung) của "cuti". Tôi đáp:
"Thôi đi ông thần. Ráng tập trung vào vấn đề, đừng thấy ǵ hỏi đó. Em chỉ cần biết 'shoot' là 'hỏi đi' là đủ. Đó chỉ là một cách nói."
"cuti" ra vẻ nghiêm trang:
"Câu 1: tại sao anh nói: "ask me why, don't ask me what" vậy? Em hiểu nghĩa tiếng Anh là hỏi tại sao, đừng hỏi cái ǵ. Vậy ư anh là thế nào?"
Tôi đáp:
"Rất đơn giản.
- 'What' là 'cái ǵ', 'cái ǵ' có thể t́m thấy trong sách giáo khoa và sách tham khảo. Công việc của em là t́m ra câu trả lời cho các cái 'cái ǵ' bởi v́ anh không thể trả lời hết cái 'cái ǵ' được. 'cái ǵ' là kiến thức căn bản.
- 'Why' là 'tại sao', 'tại sao' cũng có trong sách giáo khoa và sách tham khảo nhưng cần phải được đúc kết, rút tỉa. Một người thể chưa đủ 'cái ǵ' để h́nh thành 'tại sao', có thể chưa đủ kinh nghiệm để h́nh thành 'tại sao' và cũng có thể chưa đủ suy luận để h́nh thành 'tại sao'. 'tại sao' là kiến thức mở rộng.
Cho nên anh có thể giúp em những cái 'why' mà không thể giúp em những cái 'what'. Nên nhớ, sau khi có 'what' rồi th́ mới có 'why'.
Rồi, câu kế tiếp."
"cuti" thảng thốt:
"Trời! anh giải thích y như kiểu suy luận toán học hông bằng. Ùm... để em xem lại một phát nữa cái. Ùm... h́nh như lần trước anh đề cập đến sách giáo khoa và sách tham khảo cũng có giềng mối với chuyện này phải hông anh?"
Tôi cười và trả lời cu cậu:
"Ái chà, em cũng dùng chữ 'giềng mối' sao? Đúng vậy, sở dĩ anh đưa ra chuyện đọc sách, phân loại sách và phương pháp tổng hợp, thâu thập từ sách là v́ anh có ư muốn em phải đi qua cái 'what' trước sau đó mới có thể khai triển đến cái 'why'. Rồi, câu thứ hai?"
"cuti" liếng thoắn:
"Ái chà, chữ 'giềng mối' là chữ em copy anh đó thôi. Chữ này ít thấy dùng nhưng em thấy hay hay. Chắc ḿnh phải đi sâu vào chi tiết kỹ thuật đọc sách và rút tỉa từ sách quá anh à, tại v́ em vẫn thấy những thứ trong sách muôn trùng. Điều ḿnh cần t́m hiểu th́ ít ỏi, điều ḿnh không cần t́m hiểu th́ quá nhiều. Cái khó là t́m ra được những phần ḿnh cần trong một cuốn sách. Nhưng thôi, để ḿnh bàn chuyện này sau. Câu thứ hai của em là: anh có thể cho em vài ví dụ kỹ thuật về cái 'giềng mối' mà anh nói ở đây không?"
"cuti" quả không đơn giản tí nào. Tôi trầm ngâm vài giây rồi trả lời:
"Được rồi. Cái gọi là 'giềng mối' chính là những mắc xích từ phần này đến phần kia một cách logic trong một chuỗi sự việc, hiện tượng, thể trạng. Trên b́nh diện kỹ thuật và nhất là trong khuôn khổ những ǵ ḿnh đang đi qua, 'giềng mối' nói một cách tổng quát, là những bước dẫn ḿnh đi đến mục đích cuối. Ví dụ:
- em đọc sách đúng phương pháp để h́nh thành cái 'what', rồi từ 'what' đi đến 'why, thiếu 'what' không thể h́nh thành 'why', thiếu 'why' không thể đi đến đích: đây là 'giềng mối' sự việc.
- em không thể điều chỉnh nội dung index.html kia: đây là hiện tượng. Nếu phân tích hiện tượng này th́ em thấy rằng, để có thể thực hiện việc điều chỉnh này em phải có đủ chủ quyền, để có đủ chủ quyền em phải là 'root', để biến em thành 'root' hoặc mượn tay 'root' th́ em phải hiểu rơ những điểm nào trong hệ thống có thể cho phép cho em thực hiện: đây là 'giềng mối' hiện tượng.
- em cần phải tham khảo và hiểu rơ ls, umask, chmod, chown và chgrp là v́ ls cho phép em liệt kê tính chất và thể trạng của các hồ sơ và thư mục, umask ấn định các thể trạng này cho t́nh trạng mặc định và chmod, chown và chgrp thay đổi hoặc ấn định lại thể trạng hiện có sang thể trạng mới: đây là 'giềng mối' thể trạng.
Em đọc ba ví dụ trên rồi suy gẫm đi http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif"
minhhoang
11-10-2008, 05:39 PM
"cuti" lặng thinh hồi lâu rồi đáp, có phần gay cấn:
"grừ... anh nói chuyện độc thiệt, nhưng anh dùng nhiều từ làm em lùng bùng rồi http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Em chưa hề thấy có sách giáo khoa nào về IT mà đề cập những điểm: sự việc, hiện tượng và thể trạng như anh. Một lệnh là một lệnh, một quyển sách là một quyển sách.... em chưa hề thấy qua lối diễn giải sự việc như anh. Thật t́nh em hơi bị lùng bùng đây anh ạ. Em không hiểu tại sao em phải hiểu rơ giềng mối thể trạng của các lệnh. Bộ muốn trở thành một người rành rẽ về IT th́ phải hiểu rơ các 'giềng mối' mà anh đưa ra sao?"
Tự nhủ là ḿnh nên kiên nhẫn v́ "cuti" đă 'lỡ' ám ảnh với lối suy nghĩ cục bộ, tôi tiếp tục trả lời:
"Những ví dụ về 'giềng mối' trên là đúc kết logic của những trường hợp anh em ḿnh đang đi qua. Nếu em chỉ hiểu ở mức độ 'một lệnh là một lệnh', em chỉ cần biết gơ lệnh nào đó c̣n chuyện ǵ ǵ xảy ra đằng sau là chuyện em không muốn biết th́ em chỉ dừng lại ở mức độ người dùng b́nh thường. Em c̣n nhớ chi tiết chuyện 'nhấn nút' trước đây không? Người dùng b́nh thường chỉ... nhấn nút và chờ kết quả. script kiddie cũng nhấn nút và chờ kết quả. Tuy nhiên, hacker nhấn nút và biết rơ ngay sau khi nút được nhấn, chuyện ǵ đă và đang xảy ra. Bởi v́ hacker đă khiến cho cái 'nút' kia thực thi những điều cụ thể mà anh ta muốn. 'Lệnh' cũng như 'nút' vậy, chúng đều là phương tiện để tác động đến hệ thống. 'hacker' không những biết những phương tiện tác động căn bản, hiểu rơ cơ chế và giềng mối làm việc của chúng mà c̣n phải có khả năng tạo 'nút' và 'lệnh' để thoả măn đ̣i hỏi của ḿnh. Nếu chưa nắm được 'nút' và 'lệnh' làm những ǵ đến hệ thống th́ việc tạo thêm 'nút' và 'lệnh' là chuyện không thể xảy ra. Đây chính là vấn đề thuộc về giềng mối.
Riêng chuyện ngôn từ anh dùng th́... em thông cảm hả? anh quen dùng những từ ấy rồi. Vả lại anh không biết em dùng những từ nào tương đương nên đành phải dùng những từ anh quen thuộc, h́ h́."
"cuti" tiếp tục vặn:
"Vậy anh có thể nói rơ hơn cái 'giềng mối' giữa ls, umask và chmod được không anh? Tại sao anh đơn cử mấy lệnh này? Em thấy vấn đề 'giềng mối' anh đưa ra ở đây chưa tỏ lắm. Hay là em lù khù quá nên chưa nắm được ư anh."
Tôi đáp:
"Anh nghĩ anh đă giải thích khá rơ trong e-mail và trong câu trả lời trên rồi mà? Em nên xem lại. Có lẽ ḿnh đi xuyên qua vấn đề hơi nhanh nên em chưa có đủ thời gian để suy gẫm đó thôi. Rồi, câu hỏi tiếp theo là ǵ?"
"cuti" vẫn kiên tŕ:
"Đúng là anh đă giải thích về chuyện 'giềng mối' rồi nhưng em vẫn thắc mắc là làm sao ḿnh biết khi nào ḿnh cần dùng lệnh ls, khi nào ḿnh cần dùng lệnh chmod chẳng hạn? Em cần được đả thông khúc mắc này trước khi em có thể hỏi câu tiếp theo."
Tôi trả lời "cuti":
"Chà, điều em cần đả thông ở đây là sự nhuần nhuyễn một hệ điều hành và những phương tiện tác động đến nó để thực hiện điều ḿnh muốn. Để đạt được chuyện này, em phải dùng nó, phải thử nghiệm, phải biến 'lạ' thành 'quen'. Nói một cách khác, em phải là một 'user' thật sự trên hệ điều hành này trước khi em trở thành một 'hacker'. Nếu em dùng hệ điều hành đến mức nhuần nhuyễn, tự nhiên em biết được khi nào em cần dùng lệnh nào để thực hiện chuyện ǵ. Đây là cái 'what' mà em phải thực hiện."
"cuti" trở nên gàn bướng:
"Nhưng đợi đến khi em thành thạo hết những 'lệnh' kia th́ biết cho đến bao giờ hở anh? Điều em thắc mắc là có một quy tŕnh ǵ đó để thao tác những lệnh đó không anh?"
Tôi hơi thất vọng v́ lại phải quay lại giai đoạn này. Tôi đáp:
"Hèm, anh nghĩ ḿnh đă thống nhất với nhau là: em phải hiểu rơ hệ thống trước khi có thể 'hack' hệ thống rồi mà? Việc em dành thời gian cài một cái Linux server và cố gắng làm quen với nó chính là quá tŕnh hiểu hệ thống đó. Ở đây anh giúp em một điều: giới hạn lại những điểm cần t́m hiểu cho việc điều chỉnh nội dung index.html kia th́ cần tham khảo những lệnh nào. Anh không khuyến khích học 'lệnh' mà anh chỉ khuyến khích học 'system'. Tuy nhiên để em đỡ mất thời gian, anh giới thiệu vài 'lệnh' để em tập trung vào một phần nào đó của system. C̣n chuyện quy tŕnh th́ anh nghĩ là không có quy tŕnh ǵ cả. Các bước thẩm định, ḍ xét để chọn lựa hướng giải quyết của mỗi người đều khác nhau.
Đến một mức nào đó, quá tŕnh h́nh thành hướng giải quyết và cách giải quyết cụ thể chỉ thuần tuư phụ thuộc vào khả năng sáng tạo của mỗi cá nhân mà thôi. Những lệnh căn bản như ls, umask là những lệnh không thể thiếu để thẩm định. Thẩm định c̣n có thể mở rộng ra bằng cách phối hợp một số 'lệnh' để mang lại kết quả nhanh chóng và trung thực hơn. Anh cho rằng không có một công thức hay quy tŕnh nào cả. Cùng lắm là mọi người đều chọn chung một hướng giải quyết là đi từ dễ đến khó, từ đơn giản đến phức tạp."
"cuti" reo lên:
"Vậy thế nào là đơn giản, thế nào là phức tạp? thế nào là dễ và thế nào là khó hở anh?"
Tôi cười, đáp:
"Em không đùa đấy chứ? Em không biết thế nào là đơn giản, phức tạp, dễ và khó hay sao? Hay ư em muốn nói trong khuôn khổ điều chỉnh nội dung index.html ở đây mà thôi?"
"cuti" đáp một cách thoả măn:
"Đúng rồi anh, có vậy mới được chớ? h́ h́. Em chỉ muốn biết cách nào là cách đơn giản, dễ để điều chỉnh nội dung index.html kia. Cách nào là cách khó và phức tạp. Anh nói qua chuyện này đi?"
Tôi đáp:
"H́ h́, em vẫn chưa thoát khỏi con ma 'thiếu kiên nhẫn', nó cứ đi theo em và 'ám' em măi vậy? http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Em chỉ muốn thấy kết quả liền liền thôi. Anh có thể nói đến các thao tác để em nghe nhưng làm như vậy bị hỏng hết kế hoạch của anh em ḿnh. Làm như vậy em không c̣n có chuyện để t́m hiểu và thâu thập nữa."
"cuti" chống chế:
"H́ h́, dạ đúng rồi. Em đúng là muốn thấy ngay kết quả. Nhưng anh thông cảm cho em tí đi. Dù ǵ em cũng c̣n nhỏ dại, thiếu kiên nhẫn mà. Nếu em mà điềm đạm, kiên nhẫn th́ em đă thành một ông... già khó tánh như anh rồi http://www.hvaonline.net/hvaonline/images/smilies/6a0fe32c3736658bde52846b7df05e01.gif. Nếu anh nghĩ rằng ḿnh không nên đốt giai đoạn th́ em không ṭ ṃ thêm nữa đâu."
Tôi mỉm cười, nghĩ ngợi vài giây rồi trả lời "cuti":
"Hèm.... 'nhỏ dại' th́ phải làm ǵ đó mới 'lớn lên' được chớ em? Không nên viện lư do 'nhỏ dại' để làm sai hướng ḿnh đi. Hơn nữa, nếu lúc nào cũng chống chế bằng sự 'nhỏ dại' th́ khó mà 'lớn lên' được. Thật ra anh có thể tổng hợp lối giải quyết vấn đề một cách chung chung cho em xem. Tuy nhiên, em nên nhớ đây không phải là một quy tŕnh hay công thức ǵ cả, đây chỉ là những thẩm định và thực thi mang tính thói quen và kinh nghiệm mà thôi. Giả sử em đánh cuộc với anh là làm sao anh có thể đổi nội dung index.html th́ anh sẽ làm như sau, không nhất thiết phải theo đúng thứ tự:
- trước tiên, dùng ls để xem chủ quyền ấn định đến hồ sơ này. Nếu nó cho phép mọi người 'viết' và 'đọc' --> game's over.
- nếu nó cho người tạo ra hồ sơ này và một nhóm người dùng nào đó (group) được phép 'viết' và 'đọc', anh xem thử umask ấn định chế độ chủ quyền theo mặc định ra sao để đánh giá mức cẩn thận của người làm chủ server này --> anh t́m cách đưa tài khoản của anh vào group này --> nếu được, game's over.
- nếu nó chỉ cho người tạo ra hồ sơ này muốn làm ǵ th́ làm, ngoài ra mọi người chỉ được phép 'đọc' --> cái này dẫn đến nhiều chọn lựa.
a. anh xem thử sudo được ấn định thế nào. Nếu sudo ấn định lỏng lẻo và cho phép anh thay đổi một script nào đó hoặc mượn tay root để làm ǵ đó --> game's over
b. nếu sudo quá chặt chẽ, em mới ḍ t́m xem trên system này có 'world-writeable' script nào không. script cần cho root thực thi th́ càng tốt. Nếu có --> game's over
c. nếu không t́m ra được ǵ hết, anh mới chuyển qua t́m xem có binary nào trên system có SUID và bị lỗi. Nếu có --> game's over.
d. nếu t́m không ra SUID có lỗi, anh mới nghĩ đến chuyện t́m những chương tŕnh hay dịch vụ nào chạy với chủ quyền super user và cần tạo hồ sơ tạm thời ở /tmp. Nếu các chương tŕnh này thiếu sanity check trước khi tạo temp file th́ anh dùng symlink để mượn tay 'su' đổi chủ quyền một file nào đó anh chọn trước để khai thác password hoặc những thứ tương tự --> game's over
e. nếu system này... chiến quá, không có chương tŕnh nào hoặc dịch vụ nào thiếu sót trong phần sanity check trước khi tạo temp file th́ anh mới nghĩ đến shellcoding. T́m cách ḍ ra một vị trí nào đó trên memory đang được 'su' dùng và bắt nó thực thi một chuyện ǵ đó tiện lợi cho anh để biến anh thành 'root' --> game's over.
Nếu đi xuyên qua các dạng thẩm định trên (cộng với các phối hợp) mà vẫn không t́m ra kẻ hở --> bó tay.
Nếu xét về mặt khó hay dễ, đơn giản hay phức tạp th́ a -> e tạm xem là thứ tự. Tuy vậy, mỗi dạng thăm ḍ và quyết định phương hướng có thể mở ra nhiều khả năng khác nhau, mức đơn giản và phức tạp sẽ thay đổi. Bởi vậy, tŕnh tự cụ thể và rơ ràng là chuyện không thể có được."
"cuti" khoái chí đáp:
"Thấy chưa? em 'moi' một chặp cũng ra thôi. Anh đưa ra a -> e không đơn giản và dễ hiểu hơn sao?"
Tôi đáp:
"Tất nhiên là 'đơn giản và dễ hiểu' nếu như em vẫn c̣n đeo cứng lối khai triển và thực hiện theo kiểu 'step-by-step'. Nếu em hiểu rơ việc ứng dụng các cơ chế làm việc trên máy chủ, tự nhiên em hiểu rơ vấn đề và hiểu rất sâu về nó. Nếu em không hiểu rơ việc ứng dụng các cơ chế mà chỉ làm theo các 'steps' th́ sự thất bại chiếm trên 90% v́ khi gặp trở ngại, em không biết cách đổi hướng hay vận dụng thêm các chọn lựa khác để thay đổi t́nh h́nh. Nên nhớ, anh không 'chỉ vẽ' chuyện 'khai thác' ở đây. Anh chỉ đưa ra ví dụ và phân tích cái gọi là 'giềng mối' cho em thấy rơ 'giềng mối' là thế nào mà thôi. Nếu em hỏi anh SUID là ǵ, làm sao khai thác nó th́ anh sẽ không trả lời v́ anh không biết phải trả lời thế nào. Cho đến khi em t́m ra SUID là ǵ, nó có tác dụng ǵ, tại sao có nó th́ tự nhiên em sẽ có câu trả lời 'làm sao để khai thác nó' mà thôi http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
"cuti" bức xúc thấy rơ:
"Trời, anh lúc nào cũng úp úp, mở mở http://www.hvaonline.net/hvaonline/images/smilies/274a01ad7ad7ad7d73d5f0b399ae5db2.gif. Anh đúng là làm khó em."
Tôi cười phá lên v́ "cuti" bị lạc đề và đi đến việc ngộ nhận vấn đề một cách trầm trọng. Tôi nói tiếp:
"Này ông thần nước mặn, anh em ḿnh đang nói chuyện 'giềng mối' hay anh em ḿnh đang bàn chuyện 'exploit' ở đây vậy? Em đừng nóng nảy như thế. Liệu trước giờ em đă 'chat' với ai ở cấp độ anh em ḿnh đang 'chat' chưa? Nếu chưa th́ em không nên cho là anh 'úp úp, mở mở' http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
"cuti" chống chế và phụng phịu:
"Hông phải, hông phải. Ư em trách móc ǵ anh hết. Em thấy 'giềng mối' được thể hiện qua quy tŕnh exploit là dễ thấy và dễ hiểu nhất. Anh dùng ví dụ a -> e tự nhiên em thấy thông hẳn ra. Thế nhưng anh lại quay về chuyện khái niệm. Để em tiêu hoá được mớ khái niệm này chắc chết mất."
Tôi quyết định trở nên cứng rắn với "cuti" không th́ hỏng bét. Tôi đáp:
"Nếu em không tiêu hoá nổi mớ 'khái niệm' kia th́ em sẽ không bao giờ có thể 'hack' được. Anh phải nhấn mạnh điều này bởi v́ có ba điểm quan trọng như sau:
- những cái em gọi là 'khái niệm' kia chính là kỹ năng lập luận và định hướng. Không có nó, em không làm ǵ được (và chỉ có thể ngồi đó chờ được mách nước). Kỹ năng này giúp cho em không chỉ mở một 'ổ khoá' mà nhiều 'ổ khoá'. Em chọn lựa lối tiếp thu 'step-by-step' th́ chắc chắn em chỉ có thể mở được một 'ổ khoá' mà thôi.
- từ những thứ gọi là 'khái niệm' kia, nó tạo điều kiện cho em t́m hiểu và hiểu những kiến thức cần thiết để h́nh thành những 'giềng mối' của cả một hệ thống làm việc.
- nếu em chỉ 'nhắm mắt' mà thực thi các 'lệnh', em vướng vào một thế giới cực kỳ mơ hồ và nguy hiểm."
"cuti" cố chống chọi:
"Trời, có ǵ mà nguy hiểm anh? Cùng lắm là làm không được thôi mà http://www.hvaonline.net/hvaonline/images/smilies/b5e9b4f86ce43ca65bd79c894c4a924c.gif."
Tôi cười, đáp:
"Nếu anh cho em một đoạn script hoặc một đoạn mă nguồn và anh nói rằng: 'chạy nó đi, nó sẽ thực hiện điều em muốn' nhưng bên trong đoạn script hoặc đoạn mă nguồn này tàng chứa những 'thứ' nguy hiểm khác mà em không biết. Liệu em có chạy nó không?"
"cuti" cười giă lă:
"Chẳng lẽ anh mà lại 'chơi' em sao? Tất nhiên là em chạy nó liền mà chẳng ngần ngại."
Tôi đáp:
"Đó chính là điểm nguy hiểm mà em không nhận ra. Cứ cho là anh không làm chuyện đó nhưng làm sao em dám chắc là một chương tŕnh nào đó em download từ Internet về hoàn toàn đáng tin cậy nếu em không soi xét nó kỹ lưỡng? Và để soi xét kỹ lưỡng nhất định em phải có đủ kiến thức cần thiết. Em dùng một thứ công cụ, một đoạn script, một đoạn mă nguồn với mục đích 'exploit' mà bị 'exploit' bởi chính công cụ ḿnh dùng th́... hack hiếc cái nỗi ǵ?"
"cuti" đáp:
"Trời, em chưa bao giờ nghĩ đến điểm này. Có lẽ em chưa có đủ kinh nghiệm 'chiến trường' mà thôi."
Tôi trả lời:
"Ừa, chưa đủ kinh nghiệm 'chiến trường' th́ quá rơ nhưng vấn đề ḿnh đang bàn ở đây là ḿnh phải có đủ kiến thức để xem thử ḿnh đang 'chơi' với cái ǵ và chắc chắn lối khai triển 'step-by-step' sẽ không giúp được em. Hơn nữa, nếu hiểu rơ, ḿnh có thể dùng nó để 'cải thiện' cho mục đích cụ thể của ḿnh. Nhưng thôi, anh nghĩ ḿnh đi hơi xa chủ đề rồi đó. Em nên lưu lại trọn bộ nội dung cuộc nói chuyện của anh em ḿnh hôm nay và về đọc kỹ lại đi. Nếu được, lần sau em làm một bản 'tổng kết' những ǵ ḿnh bàn căi cho đến lúc này. Được không 'cuti'?"
"cuti" nhanh nhảu:
"Dạ được chớ anh, chuyện nhỏ như con thỏ thôi mà. Anh phải đi à?"
Tôi đáp:
"Ừa, anh phải đi. Anh dính chặt vào cái máy cả tiếng đồng hồ rồi. Anh phải đi có công chuyện. Cần ǵ cứ YIM cho anh nha. Chào cuti."
"cuti" vẫn hóm hỉnh:
"Chào anh già... dễ tánh".
Và tôi logoff.
vBulletin® v3.8.3, Copyright ©2000-2012, Jelsoft Enterprises Ltd.