Monday, 21 November 2016

[Sec|Django] Social media fingerprinting

Mới đây một website đã được tung ra để tự động hiển thị những trang mạng xã hội mà người dùng đã login vào. Việc này trông có vẻ đầy hư cấu và có cảm giác mình bị "hack", thế nhưng nó không phải là mới, dựa trên một lỗ hổng bảo mật mà nhiều hãng không thèm fix. Nó có tên "Social media fingerprinting".

https://robinlinus.github.io/socialmedia-leak/#updates


Cơ chế để trang này hoạt động rất đơn giản:
  • Nếu website X cho phép redirect tới một địa chỉ (đặc biệt) khác thì tức là user đã đăng nhập.
  • Nếu không redirect được đến địa chỉ đó thì có vẻ như user chưa đăng nhập hoặc site đã fix lỗi.

Lớn rồi

Nontech, stupid rant.

Saturday, 19 November 2016

Học Python - lớp PyFML 11

Thông báo khai giảng lớp học Python

- Khoá 201611 - 29 tháng 11 năm 2016,
  • HN: SGarden coworking space, số 19, ngõ 376, Khương Đình, Hà Nội.
- Khoá 201612 - TP Hồ Chí Minh (dự kiến mở cuối tháng 12 nếu đủ học viên).


Đăng ký học tại đây.

Friday, 18 November 2016

[vim] Dùng Go font với Gvim

vim dùng trên terminal chỉ có thể dụng font mà terminal đang dùng.
Gvim hay macvim thì khác, chúng hỗ trỡ set font tuỳ ý.

Đặt font cho gvim

Câu lệnh set font trong gvim là:
set guifont=FONTNAME:hSIZE
Nếu tên font có dấu space, hãy escape nó bằng dấu backslash  ``\``.
Để xem guifont đang dùng giá trị gì, gõ:
set guifont
Để hiện ra giao diện chọn font (đã test trên macvim), gõ
set guifont=*
Ví dụ, dùng lệnh sau để set Courier font, size 14: 
set guifont=Courier:h14

Wednesday, 2 November 2016

vim-go autocomplete panic

Nếu đã dùng vim-go plugin của vim để code Golang, chỉ cần bấm Ctrl-x Ctrl-o sẽ hiện ra các function của một package, ... để "autocomplete" - tính năng này của vim có tên omnicompletion.



Nếu bạn vừa upgrade Golang lên bản mới hơn, tính năng Ctrl-xCtrl-o có thể không
hoạt động và hiện ra mỗi chữ PANIC. Lúc đó có thể việc cần làm là cài lại bản mới nhất của chương trình chạy khi bấm Ctrl-x Ctrl-o, với vim-go thì chương trình đó là gocode.

upstart script chạy bằng /bin/sh -e

Nếu trong Upstart job file có sử dụng ``script``, script đó được chạy bằng lệnh ``/bin/sh -e``
Tức sẽ dừng lại lập tức khi có một lệnh nào đó fail.

Vì vậy cách check câu lệnh vừa chạy có fail hay không theo kiểu
command
if [ $? -ne 0 ]; then ...
sẽ dừng ngay khi ``command`` fail, phần if không bao giờ được chạy.