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.