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";}
這個問題有在 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。
#
訂閱:
文章 (Atom)