題目:
只有一張沒顯示好的,右鍵檢視源**
提示source.php,訪問該頁面
接下來進行**審計
<?php
highlight_file
(__file__);
class
emmm
//page一定不能為空,且為字串if(
in_array
($page
,$whitelist))
//此處若在白名單內,則直接返回true
$_page
=mb_substr
($page,0
,mb_strpos
($page
.'?'
, '?
') );//找到page第一次出現?的位置,擷取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
?>
mb_substr():mb_substr ( string $str , int $start [, int $length = null發現還有個白名單中可以將file設為hint.php[, string $encoding = mb_internal_encoding() ]] ) : string
mb_strpos :mb_strpos (haystack ,needle )//找到乙個字串在另乙個字串**現的位置
提示我們檔案在 ffffllllaaaagggg中,但為了繞過白名單的過濾
我們準備在擷取第乙個問號出現前的部分這段之前就返回true,所以file=hint.php或者file=source.php,帶上引數…/…/…/…/…/…/…/ffffllllaaaagggg,include裡面將忽視/前面的內容,直接解析ffffllllaaaagggg
找到flag啦~
XCTF攻防世界warmup
擷取字串從0到?重新賦值給 page page,0 mb strpos page 尋找第乙個?的座標 if in array page,whitelist page urldecode page url解碼 page mb substr page,0,mb strpos page if in arr...
攻防世界web高階區warmup詳解
檢視原始碼發現source.php 我們直接訪問 發現hint.php 我們再訪問 flag not here,and flag in ffffllllaaaagggg 這裡提示我們flag在ffffllllaaaagggg裡面 那麼我們去看看source.php 直接定義了乙個類,他將file的值...
攻防世界之Web python template
之前做過一次python沙盒逃逸的題,但是當時只是看wp沒有仔細地深入,這次仔細的 一下這個漏洞的原理和防禦。在這裡只是寫一點開端,後續再深入,因為我看資料發現這個漏洞牽扯到的東西挺多的。web python template injection python模組注入 python沙河逃逸 fire...