實驗吧整理 拐彎抹角小結

2021-09-25 17:05:23 字數 1603 閱讀 8295

關於繞過構造:

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給市場帶來的震撼一樣。但如今的廠商沒有給我們帶來答案。三...