本篇最後由 瞅啥瞅 於 2016-7-13 10:34 編輯 這篇貼文是我在其他論壇看到的,感覺非常不錯,所以分享過來,跟大家一起討論學習。 作者:jing0102 原文:你是否在為如何學習進行PHP程式碼審計煩惱? 0x01 代碼審計介紹 程式碼稽核是一種以發現程式錯誤,安全漏洞和違反程式規格為目標的原始碼分析技術。 我們的程式碼審計物件包含不限於對Windows和Linux系統環境中的以下語言進行審核:java 、C、C#、ASP、PHP、JSP、.NET。 當然當今比較流行的是php程式碼審計,因為PHP也是當今WEB安全開發的主流語言之一。 0x02 如何學習PHP程式碼稽核 既然咱們知道了程式碼審計的意思,那麼就要知道要在PHP原始碼中尋找漏洞、缺陷、錯誤,就必須學習對應原始碼的語言(PHP)。 ①了解PHP大概的文法 ②初步能讀懂PHP代碼 ③了解相關的PHP危險函數(如:system() exec()) ④擁有一個可以定位、回溯、尋找的工具(推薦:TommSearch、SeayPHP原始碼稽核工具) ⑤多看一些別人分析的過程 ⑥進行實戰挖掘 0x03 如何去進行PHP程式碼審計①先透過本地進行一個本地的滲透測試,一旦發現不對,就可以使用TommSearch來定位相關的文件(如果是框架的話定位就需要很繁瑣(框架定位,可以參考文章:http://darkm01lym0on.blog.163.com/blog/static/256799092201601910594747 ),但是如果不是框架,直接看URL的文件就可以直接定位) ②追蹤相關代碼 ③做好對應的測驗筆記 ④審計結束 下面我就自己來站長之家下個原始碼做個測試吧。下載網址:http://down.chinaz.com/soft/33915.htm e.g 剛下載了個PHP留言本系統就隨便看了看 可以看到是一個fk1.php的文件,查看這個文件的原始碼:
可以看到提交的留言內容居然沒有進行處理就執行了mysql語句插進了資料庫。 透過程式碼也可以看到是需要審核的,所以就可以斷定是在後台可以審核這個。 我現在前台插入了 <script>alert(1)</script>的payload進行留言提交: 提交成功了: 轉戰後: 到留言管理那邊: 瞬間彈出了一個彈框,程式碼順利執行。 透過這個XSS儲存漏洞,我們可以進行XSS打後台管理員的COOKIE。 -----------------------e.g end---------------------- - 以上是簡單的一個審計思路,大牛勿噴,小白可以多學習! 0x04 程式碼稽核的道路總結 說實話我在程式碼審計這條路上走了一年之久,我也試過放棄,可我還是堅持下來了,雖然說技術不精,但是吧,我學習的經驗希望可以幫助大家。 1.少吹牛逼多看實例 2.多關注PHP程式碼函數 3.最重要的也是最難的: 堅持 希望大家在往後的日子互相促進!懷挺! --------本文轉載自: i春秋論壇 |