1. 程式人生 > >程式碼審計系列篇二之滲透技巧

程式碼審計系列篇二之滲透技巧

滲透技巧對於程式碼審計的意義在哪?
我們知道程式碼審計的流程中有漏洞發現及payload構造,有的時候在漏洞發現階段灰盒測試比原始碼審計的速度更快效率更高,原始碼審計,你得看程式碼吧,而灰盒測試時,測試語句以上,漏洞就發現了。payload的出現是為了證明漏洞的存在,而payload構造,單單作為一個開發程式設計師,或者滲透技巧菜鳥即便明白攻擊原理,在漏洞證明時,也不一定能夠證明出來。為什麼?有一些奇葩的寫法,是開發程式設計師或滲透技巧的菜鳥不曾接觸過的,或者說你滲透經驗不足,是不太可能能夠證明漏洞存在的。這時候滲透技巧就顯得尤為重要。
程式碼端滲透測試技巧的掌握是對各種漏洞型別的灰盒測試,遇到的各種環境,條件,限制越多,你的滲透技巧就越豐富。
這裡舉一下常規漏洞型別有哪些。
注入型別  
        sql注入
                回顯注入
                        union注入 報錯注入 寬位元組注入 二次注入 插入/修改/刪除型注入...
                無回顯注入
                        延時注入  盲注  利用DNS注入...
        XML注入
        XPATH注入
        json注入
        CRLF注入
        header頭注入(tip:例如 xff注入 ip注入等)
XSS跨站請求攻擊
        儲存型
        反射型
        DOM型
CSRF跨站請求偽造
        POST型
        GET型
檔案型別漏洞
        上傳漏洞
                截斷00 
                不同中介軟體的解析(for:IIS/6.0/7.0/7.5/nginx/apache...)
                黑名單繞過
                ../繞過
                競爭條件漏洞
                檔案引數修改繞過
        檔案刪除漏洞
        檔案包含漏洞
                遠端包含
                本地包含
                偽協議
        檔案下載漏洞
執行漏洞
        程式碼執行
        命令執行
變數覆蓋漏洞
URL跳轉
SSRF伺服器請求偽造
SSTI 服務端模板注入
反序列化
XXE
資訊洩露

邏輯漏洞有:
支付繞過
驗證碼繞過
忘記密碼繞過
登入繞過
訂單篡改
越權漏洞
session/cookie 身份認證繞過
請求重放
弱Token設計缺陷繞過
如果往細裡劃分還有很多
還有我沒寫的 大家補充
還有其他相關的,如資料庫特性
當然 在灰盒黑盒測試時,能用工具的 就別手工了,解放雙手很重要。
不單說每一種型別漏洞,僅僅每一種漏洞都有各種各樣的常規技巧及“奇淫絕技”來輔助我們去進行程式碼審計中漏洞挖掘後的漏洞證明,足以感受到滲透技巧在程式碼審計中的重要性。在今後我們在對每一種漏洞剖析時,都會盡可能的去提及各種滲透技巧。