我flag呢
直接查看源代碼即可Ctrl+U
[SWPUCTF 2021 新生賽]Do_you_know_http
用Burpsuite抓包,之后在User-agent下面添加XFF頭,即X-Forwarded-For:127.0.0.1
[SWPUCTF 2022 新生賽]funny_php
首先是php的弱比較,對于num參數,我們可以詠科學計數法繞過,如num=9e9,這樣就能通過if判斷語句
緊接著是php的強比較,它這里用到了一個preg_replace的函數,此時我們可以用雙寫進行繞過,如str=NSSNSSCTFCTF,這樣也能通過判斷語句
再接著是md5值的一個弱比較,常用md5加密后為0的字符串:240610708,aabg7XS,saabC9RqS,s878926199a,此時可以在post下構造md5_1=240610708&md5_2=s878926199a,同樣也能通過判斷語句
?最后,如果L1,L2,L3都存在的話就可以包含出flag.php
?num=9e9&str=NSSNSSCTFCTF
POST:md5_1=240610708&md5_2=s878926199a
[MoeCTF 2022]ezphp?
這道題目進行簡單的php代碼審計即可,里面涉及到的內容為變量覆蓋
第一種:輸出$giveme?
要想得到flag,就要使變量$giveme=$flag,那么我們可以看到foreach函數
它能讓flag覆蓋了giveme這個變量,那么payload就是/?giveme=flag。當我們嘗試著傳入參數后,發現,并沒有給我們flag,而是輸出can can need flag!,也就是說它執行了下面這句,那么我們還需要傳flag參數
?而傳入flag參數后就必然逃不過下面這個if,傳入的flag參數的值要等于某一個鍵值名并且這個鍵值名不能為flag
既然前面已經傳了一個giveme參數,那我們就構造?giveme=flag&flag=giveme,輸入后,發現如下直接返回了flag,也就是說,代碼退出了并輸出了flag
第二種,對于getout參數也是如此
[SWPUCTF 2021 新生賽]caidao
這道題涉及的知識點為RCE回顯/信息收集
這一題用蟻劍連接即可,密碼為wllm,flag在根目錄下的flag目錄
也可以在POST上傳參,1.構造payload:?wllm=system('cat /flag');
2.構造payload:?wllm=echo `cat /flag`;
[GXYCTF 2019]Ping Ping Ping
這道題涉及的知識點為RCE回顯,可以用變量拼接方法以及執行系統命令方式
首先我們可以簡單的輸入地址127.0.0.1,發現界面成功回顯,接著我們使用管道符|進行拼接,構造payload如下:127.0.0.1|tac$IFS`ls`;? ? ? ?期間這道題目對空格、flag以及符號進行了過濾
[SWPUCTF 2021 新生賽]include?
這道題目看到include就可以知道考察文件包含的內容
看到題目說傳個file試試,我們很快可以聯想到php中file的偽協議,因此可以直接構造payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
界面回顯的是一串base64加密的字符,我們再將下面字符進行base64的轉換
轉換之后如下 :得到flag
<?php
$flag='NSSCTF{157284c3-4864-440d-b123-1d5e41bd48bc}';
[GXYCTF 2019]BabyUpload
看到upload就知道要考察文件上傳繞過的知識
先上傳一個后綴名為php的文件,發現進行了過濾,提示如下
我又試了大小寫,雙寫,特殊后綴名繞過的方法,發現均不能繞過,我們用.htaccess文件進行繞過,先上傳一個.htaccess文件,文件內容<FilesMatch ?°.jpg?±>SetHandler application/x-httpd-php</FilesMatch>? //這是把php文件都當作jpg的圖片格式
接著我們再修改上傳文件名以及Content-Type內容:image/jpeg,發現上傳成功,利用蟻劍連接即可
[SWPUCTF 2023 秋季新生賽]ez_talk
首先正常上傳一個jpg圖片,BP抓包后得到
后面我們在上傳的文件名進行修改為1.php,并且準備好相關文件,再一句話木馬上添加GIF文件頭進行繞過(GIF的文件頭比較好寫,其他文件的話需要進行十六進制進行改寫),修改如下
網站上進行訪問解析,看是否上傳成功,成功之后用蟻劍進行連接即可
[NSSRound#8 Basic]MyDoor
這道題目涉及到Linux的系統變量以及url編碼規則
對于這道題呢,什么提示都沒有,但是看到file協議我們可以先得到它的源碼,利用php偽協議獲取源代碼
?file=php://filter/read=convert.base64-encode/resource=index.php
得到的是經過base64加密的,我們解密可以得到,發現N_S.S可以執行命令函數
?
注意要把符號_變成[ 否則后面的.會變成下劃線,構造payload
?file=&N[S.S=system(%27env%27);?
這里的env為Linux的系統環境變量,因為題目有提示為后門文件?,得到FLAG
?