免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

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

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

 

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

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

 

總結(jié)就是

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

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

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

 

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

漏洞挖掘的過程中,也將圍繞著這兩個(gè)元素來展開。

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

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

收集可控變量

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

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

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

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

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

百度都有可以自行下載

 

SQL注入

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

1.如果沒有過濾就可以直接注入

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

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

  1. . 數(shù)字型注入如果無強(qiáng)轉(zhuǎn)可以繞過的
  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ù)過濾則不存在注入

 

XSS注入

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

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

 

CSRF

Csrf需要找到修改密碼,刪除信息,修改信息等重要操作的地方查看,有沒有加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 下測試240個(gè)連接點(diǎn)(.)可以截?cái)?,linux下需要2038個(gè)(/)組合才能截?cái)?,但是在php5.3版本以后就不能利用了。

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

 

文件下載和讀取

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

 

文件上傳漏洞

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

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

基于白名單繞過:%00截?cái)?,非法符?hào)截?cái)?,中文字符截?cái)?/p>

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

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

 

文件刪除漏洞

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

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

 

代碼執(zhí)行漏洞

常見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)用。這些都可以通過工具進(jìn)行追蹤可以看是否參數(shù)可控。

 

命令執(zhí)行

只要對(duì)接受參數(shù)未作過濾直接帶入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)。還有的頁面沒有設(shè)置權(quán)限訪問,可以未授權(quán)訪問。

 

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

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

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
php代碼審計(jì)總結(jié)(上)
某團(tuán)購CMS的SQL注入漏洞代碼審計(jì)
開源PHPCMS的0day漏洞挖掘及防范筆記
關(guān)于PHP xss 和 SQL 注入的問題
代碼審計(jì)方法與步驟
針對(duì)某非法釣魚詐騙網(wǎng)站滲透測試
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服