[Pentest Q&A cùng Tsu] #2: Symlink Attack

Q1: Symlink? nghe lạ quá?

A1: Nếu bạn xài Windows lâu năm thì khái niệm này khá lạ, nhưng có thể hình dung nó như cái shortcut bên Windows. Shortcut là một tệp tin đóng vai trò như một đường dẫn tới một chương trình, tài liệu hoặc một đối tượng khác. Nhấn vào shortcut sẽ mở ra tệp tin gốc, hoặc các tệp tin hay chương trình mà nó chỉ tới. Linux cũng vậy, có 1 file symlink tới file gốc
Ngoại truyện 1: Mình nhớ cái này vì ngày xưa cóp shortcut word ra ngoài tiệm photo rồi ông photo cũng bó tay như mình luôn hoho
Ngoại truyện 2: Sau khi đọc một số ý kiến của các tiền bối thì mình xin notice thêm là shortcut # symlink, more information
Nội truyện 1: Symlink attack chỉ thực hiện được ở webserver trên linux

Q2: Ok ok, hiểu rồi, vậy tấn công như nào?

A2: Symlink attack thì có nhiều dạng, vì đây là tính năng của hệ điều hành linux, không phải của webserver, ở đây mình chỉ bàn về tấn công thông qua dịch vụ web.
Để tấn công trong trường hợp này, trang web bị lỗi sẽ thỏa 2 điều kiện sau:
1. Cho upload file tar, zip hay bất cứ định dạng file nén nào
2. Webserver giải nén file đó (và in nội dung file bên trong ra?)
Ok tưởng tượng case như sau: một công ty yêu cầu bạn gửi CV.pdf và CoverLetter.txt, bạn đặt 2 thứ đó vào 1 folder và zip lại, sau khi up lên thì trang web của công ty sẽ extract file zip và in nội dung coverletter.txt ra để bạn kiểm tra lại xem có lỡ gửi nhầm file chứa tin nhắn cho bạn gái không trước khi submit lên bộ phận tuyển dụng
Vậy thay vì bạn gửi file tâm tư tình cảm sướt mướt cover letter, bạn lại gửi 1 file CoverLetter.txt symlink đến /etc/passwd thì thế nào nhỉ?

Q3: Mình thấy idea hay đó, nhưng mình không biết làm.

A3: Kệ bạn.

Q4: Ơ?

A4: Đùa thôi, nhìn phía dưới nhé:
Đầu tiên là tạo 1 file symlink:


Zip nó lại:


Okay bạn đã có 1 file zip thần thánh để đi nghịch quanh quanh

Q5: Mình muốn thử, nhưng không có chỗ nào để test?

A5: Bạn có thể thử ở challenge wargame (BKAV):
http://lab10.wargame.whitehat.vn/web007/

Q6: Ngoài thực tế có vụ nào bị vậy chưa nhỉ?

A6:
http://josipfranjkovic.blogspot.com/2014/12/reading-local-files-from-facebooks.html

8 thoughts on “[Pentest Q&A cùng Tsu] #2: Symlink Attack

  1. Pingback: [Pentest Q&A cùng Tsu] #0: Introduction | Tsu BlogS ٩(^‿^)۶

    • chal BKAV đòi tar em ơi, em chỉ nên lấy ý tưởng để bem thôi chứ không có xài chính xác như bài viết được đâu :))

      Like

      • À không hẳn như thế ạ 🙂 em gặp lỗi sau khi up lên là You do not have permission to read this file :v có thể tại em tạo file tar bị lỗi 🙂

        Like

  2. I loved this post! I read your blogs fairly often and you’re always releasing great stuff.
    I shared this on my facebook and my follwers loved it! Keep up you’ll be able to work.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s