HCTF 2018 Warmup(函式理解)

2021-09-29 10:33:43 字數 1328 閱讀 8473

先看hint

urlfile引數,感覺可能要用偽協議啥的,試了下,沒出東西

掃一下目錄,發現./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...