J2TEAM Security: A must-have extension for Chrome users. Install now!

Simple Tutorial about Javascript Injection

Simple Tutorial about Javascript Injection | Juno_okyo's Blog
4 min read
Chào các bạn!

Sau bài viết về vấn đề chèn nhạc nền vào trang cá nhân Facebook tại đây, mình sẽ làm Tutorial này để hướng dẫn các bạn có thể tự làm điều đó mà không cần làm theo mấy cái status lừa đảo kia.

Trong Tutorial này, mình sẽ hướng dẫn các bạn cơ bản về Javascript Injection. Đầu tiên các bạn hãy tìm hiểu qua về khái niệm này tại đây:
http://www.wikihow.com/Use-JavaScript-Injections
JavaScript injection is a process by which we can insert and use our own JavaScript code in a page, either by entering the code into the address bar, or by finding an XSS vulnerability in a website. Note that the changes can only be seen by you and are not permanent. This is because JavaScript is a "client-side" language.
OK, mình bắt đầu nhé. Trước hết hãy vào trang cá nhân của bạn đã ;)

https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-ash4/1003723_630742783617626_817193700_n.png


Giờ hãy tạo 1 Bookmark (Đánh dấu) mới trên thanh Bookmark (mình sử dụng Firefox):

Tên Bookmark các bạn có thể đặt tùy ý, mình đặt là "FB Injector", còn trong phần Địa chỉ thì đây chính là phần ta sẽ thực hiện "injection".


Hãy sử dụng kiến thức về Javascript và XSS Attack của bạn ^^ . Nếu có kĩ năng về DOM XSS thì càng tốt (tham khảo về DOM XSS Attack).

OK, sau khi ta click vào Bookmark này, thì ngay lập tức Title Facebook sẽ đổi thành "J2TeaM", nhưng sau đó thì bị redirect sang:
Lý do là vì Firefox sẽ nhận diện là ta click vào Bookmark và chuyển hướng sang địa chỉ của Bookmark đó. Vậy ta sẽ làm gì để bypass nhỉ :D. Ta cần sử dụng thêm hàm void() để không cho trình duyệt refresh.
Sometimes, you may need to call some JavaSript from within a link. Normally, when you click a link, the browser loads a new page (or refreshes the same page).
This might not always be desirable. For example, you might only want to dynamically update a form field when the user clicks a link.
To prevent the load from refreshing, you could use the JavaScript void() function and pass a parameter of 0 (zero).
Ta edit Bookmark và thay đổi địa chỉ thành:
 javascript:void(document.title='J2TeaM');
Tức là bạn lồng void ở bên ngoài :D => void(YOUR_SCRIPT_HERE);

Giờ ta nhấn Back để trở lại trang cá nhân Facebook và click lại vào Bookmark, ta sẽ thấy Facebook bị injection trở thành (các bạn hãy chú ý vào Title của Facebook => J2TeaM):


OK, ta tiếp tục. Giờ hãy sử dụng kĩ năng Selector của bạn :D
Ta sẽ thử thay đổi màu nền của thanh Navbar Facebook nhé ;)
Trước tiên, ta cần xác định tên (name) hoặc ID của thanh bar này, hãy sử dụng Inspect Element của Firebug:

=> id="blueBar"
Giờ ta sử dụng Selector để tìm Element có ID là blueBar:
document.getElementById('blueBar')
Ta sẽ thay màu nền của nó sang màu đỏ xem sao nè :D
 document.getElementById('blueBar').style.backgroundColor='#FF0000'
Và đừng quên sử dụng void(), ta được đoạn Javascript Injection hoàn chỉnh như sau (thêm javascript: vào trước vì inject qua Bookmark):
javascript:void(document.getElementById('blueBar').style.backgroundColor='#FF0000');
Và đây là thành quả khi ta click Bookmark này khi đang truy cập Facebook:


Wow, rực rỡ =))

Bonus thêm cái GIF click vào Bookmark cho các bạn dễ hình dung ;))


OK, với Javascript Injection bạn có thể thay đổi các Element trong trang, thêm Element, thay background,... Làm mọi thứ bạn thích với Javascript :).

End Tutorial.
Tutorial by Juno_okyo's Blog & J2TeaM.

P/S: Nhiều bạn sẽ thắc mắc vì sao không dùng Firebug hay Developer Tools của Chrome? Hmm, đó chỉ là các công cụ debug và develop do Firefox và Chrome cung cấp. Ở đây không phải mình debug, mà mình muốn dùng Javascript để thêm nhạc nền vào Facebook (khung nhạc nền thực ra là một Element inject bởi Javascript Injection), mỗi khi vào Facebook chả nhẽ lại phải "F12" rồi ngồi mò thêm nhạc nền? Thay vào đó chỉ việc nhấn vào cái Bookmark là xong, cái nào tiện hơn nếu sử dụng lâu dài chắc các bạn đã hiểu ;)).

Thứ hai, khi sử dụng Javascript, các bạn hoàn toàn có thể develop thành 1 add-on cho Firefox hay extension cho Chrome ^_^. Hi vọng sẽ sớm thấy add-on "Music background for Facebook" của chính các bạn làm ra :P.
Leader at J2TEAM. Website: https://j2team.dev/

Bạn có thể thích những bài đăng này

  • Khác nhau giữa thư viện jQuery 1.x và 2.x Nếu như Python có Python 2 và 3 được phát triển song song thì thư viện jQuery cũng tương tự, có phiên bản 1.x và 2.x Mà dân IT như tôi…
  • Năm 2015 là một năm tuyệt vời đối với ngành lập trình web: công nghệ web đã phát triển mạnh mẽ và vượt qua các yếu tố hình thức bên ngoài như việc xây dựng một trang web hay một ứn…
  • Nếu đã từng thiết kế web, bạn sẽ biết về hạn chế khi sử dụng font chữ. Cũng vì thế có rất nhiều phương pháp khắc phục nhược điểm này (sIFR là một phương pháp được nhiều người b…
  • SQL Injection Code JavaScript (chờ 5 giây rồi nhấn Bỏ qua quảng cáo): Click to view code! HEX đoạn sau: <script src='link to code JavaScript'></script> Sử dụng…
  • Chia sẻ với các bạn mã JavaScript tự động khai thác lỗi bảo mật SQL Injection. Giúp bạn dễ dàng khai thác bất cứ website nào bị lỗi. Download Code:  http://ouo.io/iPDqT …
  • Tình hình là trong lúc vào tải phim tại phimmoi.net thì tôi vô tình phát hiện ra cái bug này, thường gặp phải khi kết hợp giữa PHP và JSON/JS để tạo nội dung động. WTF? "Bug …

5 nhận xét

  1. second ago
    Anh ơi cho em hỏi, code nào để tạo thêm một khung ạ?? Ví dụ như thêm khung nhạc nền đó anh.
    1. second ago
      Có em ;).
      Ví dụ em muốn tạo thêm 1 Div: Document.createElement('div');
  2. second ago
    Ít ai biết nhiều mà share như bạn, thank nhé
  3. second ago
    a ơi cho e cái có nhạc như cuar a luôn dc k
    gửi email e nhé nhat673@gmail.com
    tks a nhiều
  4. second ago
    bookmark firefox giờ ko như cái đó :-?
Cảm ơn bạn đã đọc bài viết!

- Bạn có gợi ý hoặc bình luận xin chia sẻ bên dưới.

- Hãy viết tiếng Việt có dấu nếu có thể!