先看hint
看url
有file
引數,感覺可能要用偽協議啥的,試了下,沒出東西
掃一下目錄,發現./source.php
原始碼檔案
原始碼如下
<?php
class
emmmif(
in_array
($page
,$whitelist))
$_page
=mb_substr
($page,0
,mb_strpos
($page
.'?'
, '?
') );
if (in_array($_page, $whitelist))
$_page = urldecode($page);
$_page = mb_substr(
$_page,
0,mb_strpos($_page . '
?', '?')
);if (in_array($_page, $whitelist))
echo "you can't see it";
return false;}}
if (! empty($_request
['file'])
&& is_string($_request
['file'])
&& emmm::checkfile($_request
['file'])
) else
?>
看了下是檔案包含,checkfile函式$_page取file引數第乙個問號之前的字段檢查檔名是否在白名單內於是構造file引數為hint.php?/../../../../../ffffllllaaaagggg
原理是hint.php?/
被當作目錄,之後上跳目錄就好了(這個只適用於linux)
與include
函式不一樣,mkdir
函式,如果不存在目錄就會報錯
總結經過測試
file_put_contents
("***xx/../a.txt"
,"content");
#可以跨目錄寫檔案
include
("***xx/../a.php");
#可以跨目錄包含
周邊雜記 hctf隨記
sql注入 前提 帶引數的動態網頁 訪問了資料庫 沒有字元過濾 動態網頁的互動過程是,伺服器.asp接受引數並執行,執行結果還給網頁 xss攻擊 xss,cross site scriping,跨站指令碼 css被層疊樣式表給搶掉了 通過正常網頁互動往web頁面中插入惡意 受害訪問者訪問該web頁面...
物件導向部分 201
小夥伴們,還在為不知道怎麼下手而頭疼嗎,我們程式競賽協會來幫你們啦 啦啦啦。另外,如果有對程式設計含有濃厚興趣的同學,我們隨時歡迎你們的加入喲 策劃 譚兆飛 程式設計 管懷文 協助 一號人員要求給她打碼 乾脆二號也打碼好了o o 其實只是提供了題目啦 物件導向部分 201 include inclu...
2 01揹包問題
有 nn 件物品和乙個容量是 vv 的揹包。每件物品只能使用一次。第 ii 件物品的體積是 vivi,價值是 wiwi。求解將哪些物品裝入揹包,可使這些物品的總體積不超過揹包容量,且總價值最大。輸出最大價值。輸入格式 第一行兩個整數,n,vn,v,用空格隔開,分別表示物品數量和揹包容積。接下來有 n...