xctf-ics-07


首先管理頁面進入到雲平台項目管理中心

 

 發現下面可以查看源碼,點擊view-source:

 

 這個直接就繞過去了

看第二個

 

 第二個需要滿足$_SESSION['admin']==true才行,因此看看第三個php

 

滿足這個 isset($_GET[id]) && floatval($_GET[id]) !== '1' && substr($_GET[id], -1) === '9'即可讓$_SESSION['admin']==true

大概的意思就是存GET變量id,並且他的浮點數不等於1,且最后一位為9的字符串,‘1-9’即可滿足

構造payload:

http://111.198.29.45:31864/index.php?page=flag.php&id=1-9

 

 成功繞過,然后看看第二段代碼,意思就是以post方式上傳文件,post變量file代表文件名,con代表文件內容,且后綴名經過正則過濾了,然后上傳路徑原本在根目錄下的/backup/目錄下面,由於加了個chdir()函數,因此將根目錄后面加上了/uploaded/目錄,然后在跟/backup/目錄。

最后的上傳目錄為:

/uploaded/backup/

正則的話是判斷.之后的字符,因此我們可以利用‘/.’的方式繞過,這個方式的意思是在文件名目錄下在加個空目錄,相當於沒加,因此達到繞過正則的目的。

post數據的payload為:

file=p.php/.&con=<?php phpinfo();?>

 

 訪問/uploaded/backup/p.php

 

 已成功上傳,那么直接寫一句話上傳,菜刀連接

 

 找到flag.php打開后得到flag值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM