乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      PHP代碼審計(jì)基礎(chǔ)-中級(jí)篇

       行者花雕 2021-12-02

      初級(jí)篇更多是對(duì)那些已有的版本漏洞分析,存在安全問(wèn)題的函數(shù)進(jìn)行講解,中級(jí)篇更多是針對(duì)用戶輸入對(duì)漏洞進(jìn)行利用

       

      中級(jí)篇更多是考慮由用戶輸入導(dǎo)致的安全問(wèn)題。

      預(yù)備工具首先要有php本地環(huán)境可以調(diào)試代碼

       

      總結(jié)就是

      1. 可以控制的變量【一切輸入都是有害的 】

      2. 變量到達(dá)有利用價(jià)值的函數(shù)[危險(xiǎn)函數(shù)] 【一切進(jìn)入函數(shù)的變量是有害的】

      程序的本質(zhì)是變量與函數(shù),我們審計(jì)的漏洞也無(wú)法擺脫這兩個(gè)元素,讓我們先來(lái)看下漏洞形成的條件

       

      漏洞的利用效果最終也取決與函數(shù)的功能。所以我們?cè)谙旅嬷v述

      漏洞挖掘的過(guò)程中,也將圍繞著這兩個(gè)元素來(lái)展開(kāi)。

      我們提到漏洞形成的兩大元素是可控變量,和可控變量能夠進(jìn)入

      的函數(shù)。那么在漏洞挖掘中,我們也不外乎從這兩個(gè)方向來(lái)開(kāi)始。

      收集可控變量

      當(dāng)代碼量巨大的時(shí)候我們就需要審計(jì)工具來(lái)幫我們完成一些敏感函數(shù)和變量的追蹤

      例如常用的審計(jì)工具

      Seay源代碼審計(jì)系統(tǒng),一款開(kāi)源的審計(jì)程序。主要針對(duì)php代碼審計(jì)基于危險(xiǎn)函數(shù)正則匹配

      Rirs,基于語(yǔ)義檢測(cè),誤報(bào)率低。

      Fortify SCA 商用軟件需要破解支持多種語(yǔ)言

      百度都有可以自行下載

       

      SQL注入

      對(duì)于SQL注入建議正向追蹤。在拿到源碼時(shí)先找到它的過(guò)濾注入函數(shù)判斷

      1.如果沒(méi)有過(guò)濾就可以直接注入

      2.如過(guò)調(diào)用了addslashes   就無(wú)法對(duì)字符型做繞過(guò),當(dāng)然如果他設(shè)置了

      Set character_set_client=gbk 開(kāi)啟了gbk連接就會(huì)存在寬字節(jié)注入 

      1. . 數(shù)字型注入如果無(wú)強(qiáng)轉(zhuǎn)可以繞過(guò)的
      2. . 如果高版本php用了pdo 綁定參數(shù) 也不會(huì)存在注入
      3. . urldecode 二次注入 如果調(diào)用了這個(gè)方法就會(huì)存在url二次編碼注入
      4.   Mysql_real_escape_string() 對(duì)00字節(jié),,\n,\r,\,’,”,\x1a 進(jìn)行轉(zhuǎn)義

      如果參數(shù)調(diào)用此函數(shù)過(guò)濾則不存在注入

       

      XSS注入

      查找過(guò)濾函數(shù)如 htmlspecialchars 對(duì)接收到參數(shù)做html編碼為<>等。 如果不對(duì)標(biāo)簽做過(guò)濾,也可以利用內(nèi)置標(biāo)簽的屬性來(lái)注入xss,xss各種標(biāo)簽和新特性導(dǎo)致了很難防御所以也更容易找到。

      反射型和存儲(chǔ)型xss只需要跟蹤輸入輸出位置是否有過(guò)濾,而dom型你還要對(duì)js做審計(jì)查看是否直接輸出的js代碼。

       

      CSRF

      Csrf需要找到修改密碼,刪除信息,修改信息等重要操作的地方查看,有沒(méi)有加referer或者token驗(yàn)證 否者就存在csrf漏洞 ?;蛘咧苯涌垂驳暮诵奈募欠裼屑觮oken驗(yàn)證之類的代碼。

       

      文件包含

      包含可以直接執(zhí)行包含文件的代碼,包含的文件格式不是受限。分為本地包含和遠(yuǎn)程包含。

      本地包含:需要注意includ(),include_once(),require(),require_once()

      包含php上傳的臨時(shí)文件,在url請(qǐng)求php代碼記錄到webserver日志在包含

      Webserver的日志 如果是linux 可以包含/proc/self/environ

      遠(yuǎn)程文件包含

      需要查看php.ini配置 allow_url_include=on 可以直接用php偽協(xié)議進(jìn)行包含代碼

      然而大部分情況都是本地文件包含, 對(duì)文件包含截?cái)辔覀兺ǔ?梢?00就行截?cái)?,同樣的也可以利用多個(gè)句號(hào)(.)和反斜杠(/)進(jìn)行截?cái)?/p>

      在windows 下測(cè)試240個(gè)連接點(diǎn)(.)可以截?cái)?,linux下需要2038個(gè)(/)組合才能截?cái)?,但是在php5.3版本以后就不能利用了。

      現(xiàn)在還能用的無(wú)版本限制的也只有遠(yuǎn)程文件包含利用(?),(空格),(#) 進(jìn)行后綴利用截?cái)唷?/p>

       

      文件下載和讀取

      可以根據(jù)功能點(diǎn)快速定位到代碼 查看fiel_get_contents(),等一些讀取文件函數(shù)是否有權(quán)限驗(yàn)證沒(méi)有的話就存在任意文件讀取

       

      文件上傳漏洞

      找到上傳文件代碼或者全局搜索move_uploaded_file() 查看是否有進(jìn)行條件過(guò)濾。

      基于黑名單繞過(guò):大小寫,雙寫過(guò)濾,特殊擴(kuò)展名,非法符號(hào)

      基于白名單繞過(guò):%00截?cái)啵欠ǚ?hào)截?cái)?,中文字符截?cái)?/p>

      文件頭驗(yàn)證繞過(guò):直接篡改頭類型

      文件CG渲染繞過(guò):正常圖片加流文件合并繞過(guò)

       

      文件刪除漏洞

      多見(jiàn)個(gè)人中心文件管理位置刪除功能可以越權(quán)刪除,代碼未做目錄跳轉(zhuǎn)限制

      和權(quán)限驗(yàn)證可以造成任意文件刪除

       

      代碼執(zhí)行漏洞

      常見(jiàn)eval(),assert(),preg_replace(),call_user_func(),call_user_funca_array(),array_map()等可造成命令執(zhí)行 還有動(dòng)態(tài)函數(shù) $a($b)

      Call_user_funca(),call_user_funca_array() 動(dòng)態(tài)調(diào)用。這些都可以通過(guò)工具進(jìn)行追蹤可以看是否參數(shù)可控。

       

      命令執(zhí)行

      只要對(duì)接受參數(shù)未作過(guò)濾直接帶入7個(gè)函數(shù)進(jìn)行命令執(zhí)行

      System(),exec(),shell_exec(),passthru(),pcntl_exec(),proc_optn()函數(shù)

      反引號(hào)也可以例如`cmd` 將被執(zhí)行命令 可以直接利用工具追蹤查看參數(shù)是否可控

       

      越權(quán)

      分兩種水平越權(quán),垂直越權(quán)。

      大多存在在uid身份標(biāo)識(shí)位置的可篡改造成越權(quán)。對(duì)不同的用戶身份篡改造成不同的越權(quán)。還有的頁(yè)面沒(méi)有設(shè)置權(quán)限訪問(wèn),可以未授權(quán)訪問(wèn)。

       

      本篇雖然篇幅過(guò)少但實(shí)操確實(shí)非常重要的,可以去找開(kāi)源cms去練手做到熟能生巧,以具備快速審計(jì)能力。

      謹(jǐn)記必須要大量的審計(jì)代碼訓(xùn)練才能對(duì)以上漏洞做到非常熟練。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多