由於已經沒有複賽的環境,只能文字回憶一下了
複賽給了web 2 350 原本是想考一個SSRF利用gopher去搞定一個fastcgi的外聯連接埠,執行命令
具體的文章
http://zone.wooyun.org/content/1060
http://drops.wooyun.org/web/9845
然而出題人沒把好關 長亭3分鐘秒掉這道題後基本就猜到有奇解
那麼其實就是簡單的file協議 file://index.php 拿到了flag
然後一開始卡住的web 1 300呢,是通過註冊超長字串的使用者,重複註冊爆出dumplicate entry
得到管理員的hash admin_7365598732 24461a3ef270c652949f5fc37f37fcb2
解密後得到RGoN7r}G8lnrYBAX6n
登陸管理頁,有一個刪除檔案的功能,傳遞的id參數可以用報錯注入payload
+and(select+1+from(select+count(*),concat((select+table_name+from+information_schema.tables+limit+0,1),floor(rand(0)*2))x+from+information_schema.tables+group+by+x)a)%23
得到flag,然後居然還是一血。大概因為注起來很麻煩吧。
憑藉著自己拿下的650+d神的500以及外校隊友拿下的密碼學題目 7th進入決賽。
===========================================================================
帥不過三秒 下午決賽開始被血虐
送走大寸自己稍微有點小低落,然後就被抓了先手
web我一開始沒審計代碼的時候,發現了至少3個點
這裡用黑名單進行過濾,導致php5等尾碼可以繞過
另外就是前台文章的一個root注入點
然而修複的時候使用的Regex/select.*from/i
算是最大的敗筆,沒有加s修飾符的話,用%0a是可以繞過的。
在注入的時候into outfile一直會把前面的使用者資料讀進去,一開始想的方法是
使用者名稱註冊為 然後匯出
得到了wildwolf的webshell。但後來由於插記憶體馬的時候報錯,導致整個資料廢掉了。
後來用union select來覆蓋前面的資料,重新匯出了,但是於事無補,自己也只拿到了200多分。
期間pwn和web服務一直被人打掛掉,導致了巨額失分。
最後今天回來的時候重新寫了一份php的自動化防護指令碼,希望以後攻防賽有機會用上