步驟
打開所給的實(shí)驗(yàn)環(huán)境,發(fā)現(xiàn)給出代碼,分析代碼可知是文件包含漏洞:
其中含有兩個(gè)參數(shù):
- hello參數(shù)中的內(nèi)容會被輸出到頁面
-
page參數(shù)中的內(nèi)容則會被進(jìn)行文件包含,但是會對
php://
進(jìn)行過濾
兩個(gè)函數(shù):
strstr(string,search[,before_search]):strstr() 函數(shù)搜索字符串(search)在另一字符串(string)中是否存在,如果是,返回該字符串及剩余部分,否則返回 FALSE。區(qū)分大小寫,stristr()函數(shù)不區(qū)分大小寫。
string
:必需。規(guī)定被搜索的字符串。
search
:必需。規(guī)定要搜索的字符串。如果該參數(shù)是數(shù)字,則搜索匹配該數(shù)字對應(yīng)的 ASCII 值的字符。
before_search
:可選。一個(gè)默認(rèn)值為 “false” 的布爾值。如果設(shè)置為 “true”,它將返回 search 參數(shù)第一次出現(xiàn)之前的字符串部分。
str_replace(find,replace,string,count):這個(gè)函數(shù)是用來替換字符串的
find
:要查的字符串。
string
:原始字符串
繞過方式:
- 使用大小寫繞過的方式:PhP://
這里我們使用偽協(xié)議phP://input
- php://input是個(gè)可以訪問請求的原始數(shù)據(jù)的只讀流??梢宰x取post提交的數(shù)據(jù)
我們在post提交的內(nèi)容中寫入命令執(zhí)行(反引號)的php代碼:
得到三個(gè)文件,發(fā)現(xiàn)通過瀏覽器打不開:
使用cat命令來查看:
查看第一個(gè)文件發(fā)現(xiàn)flag!
知識點(diǎn)
本題考查了php文件包含漏洞以及OS 命令注入
以上就是web php include攻防世界解決示例的詳細(xì)內(nèi)容,更多關(guān)于web php include攻防世界的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!
原文鏈接:https://blog.csdn.net/weixin_45677145/article/details/112906141