白城學(xué)做網(wǎng)站外貿(mào)平臺(tái)推廣
[極客大挑戰(zhàn) 2020]welcome
界面打開后一片空白,查看題目描述,翻譯過來是
1.除了GET請(qǐng)求方法,還有一種常見的請(qǐng)求方法…?
2.學(xué)習(xí)一些關(guān)于sha1和array的知識(shí)。?
3.更仔細(xì)地檢查phpinfo,你會(huì)發(fā)現(xiàn)標(biāo)志在哪里。
補(bǔ)充:
sha1:不能加密數(shù)組
根據(jù)提示1知道是post傳參,抓包更改,在重發(fā)器中發(fā)現(xiàn)有回顯,放包后得到php代碼
代碼要求用POST方式傳入?yún)?shù)roam1
和roam2
的值,倆變量的值不能相等,但sha1()
加密后的值相等
發(fā)現(xiàn)找不到flag,這里去看了一下wp,發(fā)現(xiàn)是要找到flag所在文件夾
最后在請(qǐng)求頭中找到flag
[WUSTCTF 2020]CV Maker
注冊(cè)后發(fā)現(xiàn)上傳界面
上傳jpg文件,回顯不是圖像
嘗試文件頭欺騙,發(fā)現(xiàn)可以回顯路徑
訪問得到空白界面,蟻劍測(cè)試連接成功
但打開發(fā)現(xiàn)都是空的,這里也不知道是怎么回事了
[SWPUCTF 2023 秋季新生賽]一鍵連接!
打開是一串php代碼,要求用get傳參,都是md5強(qiáng)比較,提示使用data協(xié)議,并且sha1要相等
繞過md5
繞過sha1
告訴我用蟻劍連接
測(cè)試連接成功
在根目錄下找到flag
[NISACTF 2022]easyssrf
看見題目類型描述,這里需要去了解一下SSRF
SSRF
1.漏洞原理
ssrf——服務(wù)器端請(qǐng)求偽造,由攻擊者構(gòu)造請(qǐng)求,服務(wù)器發(fā)起請(qǐng)求。可以利用一個(gè)網(wǎng)絡(luò)請(qǐng)求的服務(wù),當(dāng)跳板進(jìn)行攻擊,攻擊者在訪問A時(shí),利用A的特定功能構(gòu)造特殊payload,由A發(fā)起對(duì)內(nèi)部網(wǎng)絡(luò)中系統(tǒng)B(內(nèi)網(wǎng)隔離,外部不可訪問)的請(qǐng)求,從而獲取敏感信息。此時(shí)A被作為中間人(跳板)進(jìn)行利用。
2.產(chǎn)生與可利用協(xié)議
在PHP中的curl(),file_get_contents(),fsockopen()等函數(shù)是幾個(gè)主要產(chǎn)生ssrf漏洞的函數(shù)
file_get_contents():將整個(gè)文件或一個(gè)url所指向的文件讀入一個(gè)字符串中。
readfile():輸出一個(gè)文件的內(nèi)容。
fsockopen():打開一個(gè)網(wǎng)絡(luò)連接或者一個(gè)Unix 套接字連接。
curl_exec():初始化一個(gè)新的會(huì)話,返回一個(gè)cURL句柄,供curl_setopt(),curl_exec()和curl_close() 函數(shù)使用。
fopen():打開一個(gè)文件文件或者 URL。
file_get_contents() 函數(shù)將整個(gè)文件或一個(gè)url所指向的文件讀入一個(gè)字符串中,并展示給用戶,我們構(gòu)造類似ssrf.php?url=../../../../../etc/passwd
的paylaod即可讀取服務(wù)器本地的任意文件。readfile()
函數(shù)與file_get_contents()
函數(shù)相似。
常用URL偽協(xié)議
file:/// ?-- 本地文件傳輸協(xié)議,主要用于訪問本地計(jì)算機(jī)中的文件(file:///etc/passwd
)
dict:// ? -- 字典服務(wù)器協(xié)議,dict是基于查詢相應(yīng)的TCP協(xié)議,服務(wù)器監(jiān)聽端口2628
sftp:// ? -- SSH文件傳輸協(xié)議(SSH File Transfer Protocol),或安全文件傳輸協(xié)議(Secure File Transfer Protocol)
ldap:// ? -- 輕量級(jí)目錄訪問協(xié)議。它是IP網(wǎng)絡(luò)上的一種用于管理和訪問分布式目錄信息服務(wù)的應(yīng)用程序協(xié)議
tftp:// ? -- 基于lockstep機(jī)制的文件傳輸協(xié)議,允許客戶端從遠(yuǎn)程主機(jī)獲取文件或?qū)⑽募蟼髦吝h(yuǎn)程主機(jī)
gopher:// -- 互聯(lián)網(wǎng)上使用的分布型的文件搜集獲取網(wǎng)絡(luò)協(xié)議,出現(xiàn)在http協(xié)議之前
3.漏洞利用方式
頁面ssrf.php實(shí)現(xiàn)的功能是獲取GET參數(shù)URL,然后將URL的內(nèi)容返回網(wǎng)頁上
CTF SSRF 漏洞從0到1 - FreeBuf網(wǎng)絡(luò)安全行業(yè)門戶
構(gòu)造payload
file:///etc/password
發(fā)現(xiàn)不在flag.php文件里
file:///flag
嘗試題目給的提示
file:///fl4g
直接訪問后得到php代碼,大致意思是關(guān)閉報(bào)錯(cuò),get傳參file
補(bǔ)充:
stristr
函數(shù),應(yīng)該是防止通過file變量進(jìn)行file協(xié)議讀取,過濾file命令
strstr,stristr,strops的區(qū)別:
strstr 區(qū)別大小寫,從字符開始找如果有返回true否則就返回false
stristr 字符不區(qū)別大小寫,從字符開始找如果有返回true否則就返回false
strpos 區(qū)別大小寫strpos查找成功后則是返回的是位置。因?yàn)槲恢糜锌赡苁?,所以判斷查找失敗使用===false更合適。
題目描述中有偽協(xié)議,構(gòu)造payload,得到base64編碼
得到flag
[NISACTF 2022]checkin
題目打開是一串php代碼,大致意思是關(guān)閉報(bào)錯(cuò),用get傳參
傳了沒什么反應(yīng)
有點(diǎn)奇怪,選中前面的后面會(huì)自動(dòng)選上
鼠標(biāo)掃:掃前面有后面代碼同步。
沒什么思路,點(diǎn)了提示
用010打開并切換16進(jìn)制
將需要傳參部分的16進(jìn)制編碼復(fù)制下來(選中后點(diǎn)編輯,復(fù)制為),去掉空格,加上%
最終得到的payload為
ahahahaha=jitanglailo&%E2%80%AE%E2%81%A6%55%67%65%69%77%6F%E2%81%A9%E2%81%A6%63%75%69%73%68%69%79%75%61%6E=%E2%80%AE%E2%81%A6%20%46%6C%61%67%21%E2%81%A9%E2%81%A6%4E%31%53%41%43%54%46
得到flag