exif xss 復現

    最近玩xss挑戰玩到第14關,玩不下去了,因爲第14關中的一個URL失效了。後面百度了一下,發現第14關是玩的是圖片exif信息中xss,於是決定自己復現一下。

   

1,什麼是exif

可交換圖像文件格式(英語:Exchangeable image file format,官方簡稱Exif),是專門爲數碼相機的照片設定的,可以記錄數碼照片的屬性信息和拍攝數據。可使用鼠標右鍵進入屬性頁面查看部分信息。

2,怎麼修改exif信息

linux系統使用exiftool工具,進行修改。windows系統直接使用鼠標右鍵進入屬性頁面直接修改。

linux系統系統

安裝exiftool工具:sudo apt install exiftool

在圖片作者欄中寫入payload:  exiftoll  -artist='"<img src=1 onerrror=alert(/shy/)>'  exif.jpg

上傳到可以讀取圖片exif信息的網站,出現彈窗,復現成功。

windows操作系統                                 

鼠標右鍵進入屬性頁面

雙擊直接填寫payload

上傳彈窗

3,exif xss漏洞原理

有些網站有讀取圖片exif信息的功能,當網站讀取到的惡意的exif信息就會觸發這個payload,上面已經演示過了。

有些谷歌瀏覽器安裝了EXIF Vewer插件,而chrome Exif Viewer插件獲取圖片exif信息的時候沒有過濾,導致了XSS代碼的執行。

演示:

1,按照上傳方法在圖片exif信息中寫入xss payload

2,下載Exif Viewer插件

a,在網上好不容易找了一個下載地址:https://chromecj.com/downloadstart.html#56發現還需要關注公衆號,輸入驗證碼

b,查看頁面源代碼,發現javascript腳本

<script type="text/javascript">function checkcode() {
        var code = $('#txtcode').val();
        var id = document.location.hash.replace('#', '');
        if (code.length != 6) {
            $('#tip').html('請輸入6位數字驗證碼!').css('color', 'red');
            return;
        } else {
            $.get('https://chromecj.com/Home/DownCheck?aid=' + id + '&code=' + code, function(r) {
                if (r == '') {
                    $('#tip').html('驗證失敗,請重試!').css('color', 'red');
                    return;
                } else {
                    var result = JSON.parse(r);
                    if (result != '') {
                        var status = result.status;
                        var file = result.file;
                        if (status == 0) {
                            $('#tip').html('驗證碼已失效,請在公衆號重新獲取,五分鐘有效!').css('color', 'red');
                            return;
                        } else {
                            $('#tip').html('驗證通過,下載馬上開始!').css('color', 'green');
                            setTimeout("down()", 2000);
                        }
                    }
                }
            });
        }
}

function getlink(link, key) {
    var code = '';
    if(key != ''){
        code = '提取碼:'+ key;
    }
    return '<b style="color:red;">本站使用百度雲分流,請點擊鏈接前往百度雲下載:<a target="_blank" rel="nofollow" href="' + link + '">' + link + '</a> '+ code +'</b>';
}

function down() {
        var id = document.location.hash.replace('#', '');
        var html = document.getElementById('downdesc');
        if (id == 60) {
            html.innerHTML = getlink('https://pan.baidu.com/s/1miyYjig', '');
        } else if (id == 177) {
            html.innerHTML = getlink('https://pan.baidu.com/s/1mi7fFIw', '');
        } else if (id == 391) {
            html.innerHTML = getlink('https://pan.baidu.com/s/1Wis3ahkav7L21p3NmRFmQw', '64ui');
        } else if (id == 24) {
            html.innerHTML = getlink('https://pan.baidu.com/s/1nvxAq1b', '');
        } else {
            window.location = 'https://chromecj.com/Handler/Download/' + id;
        }
}</script>

c,根據上述信息,構造下載url:https://chromecj.com/Handler/Download/56,成功下載到繞過驗證,下載到該插件。

3,安裝chrome插件Exif Viewer

a,直接拖入chrome瀏覽器擴展程序頁面,提示程序包無效

b,將插件的.crx後綴名修改爲.rar後綴名,然後進行解壓

c,打開chrome瀏覽器的開發者模式

d,選擇加載已解壓的擴展程序進行插件安裝,安裝成功,如下圖。

4,將圖片上傳到vps,使用chrome瀏覽器進行訪問,復現成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章