關於繞過構造:
wp
<?php
// code by sec@ustc
echo '';
$url = $_server['request_uri'];
//echo 'url: '.$url.'
'; $flag = "ctf";
$code = str_replace($flag, 'ctf', file_get_contents('./index.php'));
$stop = 0;
//這道題目本身也有教學的目的
//第一,我們可以構造 /indirection/a/../ /indirection/./ 等等這一類的
//所以,第乙個要求就是不得出現 ./
if($flag && strpos($url, './') !== false)
//第二,我們可以構造 \ 來代替被過濾的 /
//所以,第二個要求就是不得出現 ../
if($flag && strpos($url, '\\') !== false)
//第三,有的系統大小寫通用,例如 indirection/
//你也可以用?和#等等的字元繞過,這需要統一解決
//所以,第三個要求對可以用的字元做了限制,a-z / 和 .
$matches = array();
preg_match('/^([0-9a-z\/.]+)$/', $url, $matches);
if($flag && empty($matches) || $matches[1] != $url)
//第四,多個 / 也是可以的
//所以,第四個要求是不得出現 //
if($flag && strpos($url, '//') !== false)
//第五,顯然加上index.php或者減去index.php都是可以的
//所以我們下乙個要求就是必須包含/index.php,並且以此結尾
if($flag && substr($url, -10) !== '/index.php')
//第六,我們知道在index.php後面加.也是可以的
//所以我們禁止p後面出現.這個符號
if($flag && strpos($url, 'p.') !== false)
//第七,現在是最關鍵的時刻
//你的$url必須與/indirection/index.php有所不同
if($flag && $url == '/indirection/index.php')
if(!$stop) $stop = 8;
echo 'flag: '.$flag;
echo '';
for($i = 1; $i < $stop; $i++)
$code = str_replace('//pass '.$i, '//pass', $code);
for(; $i < 8; $i++)
$code = str_replace('//pass '.$i, '//not pass', $code);
echo highlight_string($code, true);
echo '
';
實驗吧 WEB 拐彎抹角
code by sec ustc echo url server request uri echo url url.flag ctf code str replace flag ctf file get contents index.php stop 0 這道題目本身也有教學的目的 第一,我們可以構...
拐彎抹角WP
題目比較簡單,就是讓我們構造url,而且要求都給我們了 需要滿足不能出現.大寫或者其他符號 p.末尾是 index.php,這6個步驟對於 indirection index.php都可以滿足,但是最後一條又告知不能等於 indirection index.php 我們發現其實index.php後面...
微軟手機,來一抹驚豔吧!
沒有驚豔就無法超越經典,超越不了經典的產品只能是泛泛之輩,最終也難以脫穎而出,畢竟乙個iphone能夠壓制住的市場太龐大了,再加上蘋果固有的一些優勢,撼動其江湖地位難於上青天!微軟按耐不住了嗎?市場渴望驚豔的產品橫空出世,就如同當初iphone給市場帶來的震撼一樣。但如今的廠商沒有給我們帶來答案。三...