日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实验吧-拐弯抹角

發(fā)布時間:2024/1/1 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验吧-拐弯抹角 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

拐彎抹角

原題鏈接

http://ctf5.shiyanbar.com/indirection/

分析

<?php // code by SEC@USTCecho '<html><head><meta http-equiv="charset" content="gbk"></head><body>';$URL = $_SERVER['REQUEST_URI']; //echo 'URL: '.$URL.'<br/>'; $flag = "CTF{???}";$code = str_replace($flag, 'CTF{???}', file_get_contents('./index.php')); $stop = 0;//這道題目本身也有教學(xué)的目的 //第一,我們可以構(gòu)造 /indirection/a/../ /indirection/./ 等等這一類的 //所以,第一個要求就是不得出現(xiàn) ./ if($flag && strpos($URL, './') !== FALSE){$flag = "";$stop = 1; //Pass }//第二,我們可以構(gòu)造 \ 來代替被過濾的 / //所以,第二個要求就是不得出現(xiàn) ../ if($flag && strpos($URL, '\\') !== FALSE){$flag = "";$stop = 2; //Pass }//第三,有的系統(tǒng)大小寫通用,例如 indirectioN/ //你也可以用?和#等等的字符繞過,這需要統(tǒng)一解決 //所以,第三個要求對可以用的字符做了限制,a-z / 和 . $matches = array(); preg_match('/^([0-9a-z\/.]+)$/', $URL, $matches); if($flag && empty($matches) || $matches[1] != $URL){$flag = "";$stop = 3; //Pass }//第四,多個 / 也是可以的 //所以,第四個要求是不得出現(xiàn) // if($flag && strpos($URL, '//') !== FALSE){$flag = "";$stop = 4; //Pass }//第五,顯然加上index.php或者減去index.php都是可以的 //所以我們下一個要求就是必須包含/index.php,并且以此結(jié)尾 if($flag && substr($URL, -10) !== '/index.php'){$flag = "";$stop = 5; //Pass }//第六,我們知道在index.php后面加.也是可以的 //所以我們禁止p后面出現(xiàn).這個符號 if($flag && strpos($URL, 'p.') !== FALSE){$flag = "";$stop = 6; //Pass }//第七,現(xiàn)在是最關(guān)鍵的時刻 //你的$URL必須與/indirection/index.php有所不同 if($flag && $URL == '/indirection/index.php'){$flag = "";$stop = 7; //Pass } if(!$stop) $stop = 8;echo 'Flag: '.$flag; echo '<hr />'; 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 '</body></html>';

題目的意思就是通過改變URL地址欄訪問index.php,但是限制了條件不能使用 ./ ../ \\ 而且只能使用小寫字母,不可以在php后加點(diǎn),
關(guān)鍵是不能直接是http://ctf5.shiyanbar.com/indirection/index.php
這里我們可以利用偽靜態(tài)技術(shù),使用http://ctf5.shiyanbar.com/indirection/index.php/index.php,index.php后的index.php會被當(dāng)做參數(shù)處理,所以服務(wù)器只會解析第一個index.php,滿足條件成功繞過。

URL偽靜態(tài)就是通過對動態(tài)網(wǎng)頁進(jìn)行URL處理(重寫),從而實(shí)現(xiàn)看起來像是靜態(tài)URL頁面(而實(shí)際網(wǎng)頁目錄或路徑中沒有該頁面)的方法,表現(xiàn)形式主要是去掉動態(tài)網(wǎng)頁QUERY參數(shù),還有可以讓URL看起來更加有序條理。舉個例子:

http://www.example.com/test.php?cate=soft&page=2,這是典型的動態(tài)頁面。

經(jīng)過偽靜態(tài)處理,可能變成http://www.example.com/test/soft/index/2.html,如果有多個類似頁面,URL看起來就會更加舒服。

偽靜態(tài)技術(shù)在Wordpress、Discuz、Z-BLOG及各種CMS中都有運(yùn)用,偽靜態(tài)的目的無非是看起來更加舒服,據(jù)說對搜索引擎更加友好,天緣不懂SEO就不說了。

flag

CTF{PSEDUO_STATIC_DO_YOU_KNOW}

知識點(diǎn)

URL 偽靜態(tài)技術(shù)

總結(jié)

以上是生活随笔為你收集整理的实验吧-拐弯抹角的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。