2013年9月24日 星期二

這不是金盾獎T_T


Update - 2013/09/24 20:20

官方已修正此問題。

/* Update Log */




又到了一年一度的金盾獎了!

今年報名網站好像又找了新的公司來負責處理!

照著正常流程

註冊 -> 登入 -> 輸入報名資料 -> 送出 -> 列印實體報名表


沒錯,隊名是「一輩子的明太子好朋友」,會員招募中


等等!!

網址怎麼怪怪的

http://security.cisanet.org.tw/pdf.php
?foo=qoo
&bar=593

發揮你駭客的直覺, 不是插單引號啦

改個數字好像就可以看到別人的資料了誒!?
( 這組隊伍名稱好長,好像是出師表XDDDD )
( 這組同學抱歉拿你當 sample T_T )




這不太對吧 T_T

期望儘快改進,不然不敢填資料了:(

p.s. foo, bar 是化名,因為沒鎖 session 有網址不用登入帳號也可以存取...

2013年7月21日 星期日

HITCON 2013 Wargame - Pwn3d 500 詳解


之前在 tw.PyCon.org 2013 上有分享到 Django 在 SECRE_KEY 洩漏的情況有機會造成 Remote Code Execution

這個 Pwn3d 500 就是那次演講的實例
(演講投影片在 http://orange-tw.blogspot.tw/2013/05/pycon2013-slide-django.html)



Django 有個可愛的 feature 叫做 Signed Cookie

Signed Cookie 實作上是透過 Pickle 物件去儲存 Python 中的 Object 並使用 SECRE_KEY 用 sha1 + hmac 去做出 signature 判斷 COOKIE 有沒有被偽造

Django Apps 的 source code 在 Guthub

相對的 solution 如下



HITCON 2013 Wargame - Web 500 詳解


Web 500 是一題 PHP source code review 找 vuln 的題目




















scahll.phps







其實考的滿簡單的,如果對 PHP Sec 有概念的話直覺會想到 unserialize 的 object inj

利用 object inj 覆蓋 magic method(__destruct) 的 key_var 變量

繞過 md5() == '' 可以用
checksum[]=bla

繞過 safe 函數的話我不小心少寫一個 byte 所以可以用 s 大小寫置換來繞過,

不過我既然題目都已經出來了就算了XD 給你們簡單解吧!



原本繞過的方式是利用 PHP 對於 unserialize 實作的不一致來繞過

O:3:"qoo":1:{s:7:"key_var"ts:3:"Key";}


注意的 ts:3 這樣的形式 PHP unserialize 是可以接受的,有多少人是這樣解的給我說說看XDDD


這個問題有在 2012 年 12 月底的時候 ipb 漏洞出來被人探討過,

Invision Power Board 是一款滿流行的 PHP 討論版,由於在程式碼實作上會用到 unserialize

所以 ipb 寫了一個 check function 去檢查 unserialize 是否為惡意的

但由於 PHP 對 unserialize  上的實作缺陷,讓 check function 可被繞過(這點 PHP 後來有做 bug fix掉了(待確認中))

詳細細節可參考 80vul 寫的文章

http://www.80vul.com/pch/pch-010.txt

2013年7月19日 星期五

0-Day 輕鬆談 (0-Day Easy Talk) - Happy Fuzzing Internet Explorer


這是我在台灣駭客年會 Hacks in Taiwan HITCON 2013 的演講

#

0-Day 怎麼來? 
Fuzzing 做為一種尋找漏洞的方式,讓你連躺著都有 0-Day 進帳。

這是一場輕鬆的演講, 
分享一些 Fuzzer 的設計、Fuzzing 上的心得、Fuzzing Internet Explorer 上的方向。

最後為本次 HITCON 揭露一個未公開的 0-Day。

#



2013年5月26日 星期日

Pycon2013 Slide - 駭客看 Django


在 Taiwan Python Conference 2013 的演講投影片

p.s.

我不是駭客

我不會寫 Django