日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php server script name,$_SERVER[SCRIPT_NAME]变量可值注入恶意代码

發(fā)布時(shí)間:2025/3/19 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php server script name,$_SERVER[SCRIPT_NAME]变量可值注入恶意代码 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

$_SERVER['SCRIPT_NAME']變量在路由傳參時(shí),可引入惡意代碼,從而導(dǎo)致xss以及惡意代碼注入。

PS:本文僅做技術(shù)討論與分享,嚴(yán)禁用于任何非法用途。

$_SERVER['SCRIPT_NAME']變量是PHP中定義的變量,可用于自動(dòng)獲取當(dāng)前文件在網(wǎng)站中的路徑。就目前而言,人們對(duì)其是完全信賴(lài)的。沒(méi)有對(duì)該變量獲取的值進(jìn)行過(guò)濾。

舉個(gè)例子,我們創(chuàng)建一個(gè)test.php,源碼如下:

我們?cè)L問(wèn)這個(gè)文件,看看會(huì)輸出什么。

可以看到輸出了test文件在當(dāng)前網(wǎng)站中的路徑。

我們嘗試拼接參數(shù)試試。

該變量仍然沒(méi)有被污染。就這點(diǎn)來(lái)看,該變量的獲取在一定程度上還是可靠的。

然而,該變量真的沒(méi)有安全問(wèn)題嗎?我們?cè)僭囋嚇?gòu)造其他payload

是的!這返回了非預(yù)期的數(shù)據(jù)。這并不是我們希望看到的。

根據(jù)我的測(cè)試。我們只要在路由傳參末尾加上“ /”,也就是空格+/,$_SERVER['SCRIPT_NAME']便會(huì)獲取“ /”到域名之間的所有字符。該變量只會(huì)在路由傳參中獲取我們傳入的payload,從而污染參數(shù)。若是動(dòng)態(tài)的參數(shù)傳遞,如:test?id=123 ?這種的傳參方式則不會(huì)帶入其他數(shù)據(jù)。

基于此,我們可以對(duì)一些路由傳參的開(kāi)源cms構(gòu)造惡意payload,從而實(shí)現(xiàn)任意代碼寫(xiě)入,或者實(shí)現(xiàn)反射型xss。

反射型XSS,payload:index.php/product/c7.html/%EF%BC%9F'%20οnlοad=alert(123)%20//

如國(guó)內(nèi)的蟬知cms,其6.6版本就是路由傳參。我們就可以構(gòu)造如下payload,對(duì)其進(jìn)行惡意代碼注入。

根據(jù)以上payload,我們可在:www\system\tmp\cache\zh-cn\page\mobile\product_browse

路徑下找到我們注入惡意代碼的緩存文件。

可以看到我們構(gòu)造的PHP代碼已經(jīng)寫(xiě)入這一緩存文件中。

根據(jù)筆者本地測(cè)試,該漏洞至少影響:

修復(fù)建議:緩解措施:對(duì)$_SERVER['SCRIPT_NAME']進(jìn)行過(guò)濾

解決方案:重新實(shí)現(xiàn)$_SERVER['SCRIPT_NAME']變量的獲取

*本文作者:飛檐哈哈哈,轉(zhuǎn)載請(qǐng)注明來(lái)自FreeBuf.COM

總結(jié)

以上是生活随笔為你收集整理的php server script name,$_SERVER[SCRIPT_NAME]变量可值注入恶意代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。