自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

php漏洞與代碼審計

安全 漏洞 應用安全
在甲方公司做代碼審計一般還是以白盒為主,漏洞無非這么幾類,XSS、sql注入、命令執(zhí)行、上傳漏洞、本地包含、遠程包含、權限繞過、信息泄露等。

在甲方公司做代碼審計一般還是以白盒為主,漏洞無非這么幾類,XSS、sql注入、命令執(zhí)行、上傳漏洞、本地包含、遠程包含、權限繞過、信息泄露等。

1.xss + sql注入

其中占大頭的自然是XSS與SQL注入,對于框架類型或者有公共文件的,建議在公共文件中統(tǒng)一做一次XSS和SQL注入的過濾。寫個過濾函數,可由如下所示:

$_REQUEST = filter_xss($_REQUEST);

$_GET = filter_xss($_GET);

$_POST = filter_xss($_POST);

$_COOKIE = filter_xss($_COOKIE);

$_POST = filter_sql($_POST);

$_GET = filter_sql($_GET);

$_COOKIE = filter_sql($_COOKIE);

$_REQUEST = filter_sql($_REQUEST);

這里有一點需要說明,$_REQUEST雖然等于$_GET+$_POST,但他們是獨立的數組,也就是說假設改變了$_GET的值,但$_REQUEST的值還是原來的值,所以過濾時都不能落下,至于其他的如$_FILE之類的就可忽略了。

最簡單的filter_xss函數是htmlspecialchars()

最簡單的filter_sql函數是mysql_real_escape_string()

當然,誰都知道這種過濾filter_sql只能過濾字符型和搜索型的注入,對于數字型是沒有辦法的,但也說明做了這層過濾后,只需在后面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。

2. 命令執(zhí)行

對于命令執(zhí)行,可以從關鍵字入手,總共可分為3類

(1) php代碼執(zhí)行 :eval等

(2)shell命令執(zhí)行:exec、passthru、system、shell_exec等

(3) 文件處理:fwrite、fopen、mkdir等

對于這幾類需要注意其參數是否用戶可控。

3.上傳漏洞

對于上傳漏洞,也是重點關注的地方,要仔細分析它的處理流程,針對上傳的繞過方式是很多的,最保險的方式:在保存文件是采用文件名隨機命名和后綴白名單方式。其次要注意的一點是上傳文件的地方可能不止一處,不要有遺漏,可能會碰到這樣的情況,突然在某個目錄里面包含了一個第三方的編輯器在里面。

文件包含漏洞涉及的函數如include() 、include_once()、require()、require_once()、file_get_contents()等

最常見的還是出在下載文件功能函數,例如download.php?file=../../../etc/passwd 這種類型中。

4. 權限繞過

權限繞過可分為兩類吧

(1)后臺文件的未授權訪問。后臺的文件沒有包含對session的驗證,就容易出現(xiàn)這樣的問題

(2)未作用戶隔離,例如mail.php?id=23顯示了你的信件,那么換個ID, mail.php?id=24就查看到了別人的信件,編寫代碼是方便,把信件都存在一個數據表里,id統(tǒng)一編號,前端展現(xiàn)時只需按id取出即可,但未作用戶隔離,判定歸屬,容易造成越權訪問。

這樣的例子是很常見的,給某銀行做評估是就經常發(fā)現(xiàn)這種漏洞。

5. 信息泄露

信息泄露算是比較低危的漏洞了,比如列目錄這種就屬于部署問題,而與代碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的代碼

<?php if(empty($_GET['a'])) {…} ?>

表面上似乎沒問題,可是當請求變?yōu)?xx.php?a[]=1時,即參數變?yōu)閿到M的時候,就會發(fā)生錯誤以致路徑泄露,而用isset判斷則不會,當然一個個防太麻煩,建議在配置文件中關閉錯誤提示,或者在公共文件中加入如下代碼以關閉錯誤顯示功能:

<?php error_reporting(0);?>

當然,漏洞遠不止這些,其他如cookie偽造、CSRF等非主流的就不介紹了。

責任編輯:藍雨淚 來源: 博客
相關推薦

2013-06-05 09:51:04

2021-04-27 14:42:46

PHP代碼審計Web安全

2022-12-06 08:29:01

2015-07-31 09:27:56

安全編碼代碼審計Python

2011-03-28 14:35:39

2015-06-03 09:07:46

白盒審計PHPPHP自動化審計

2013-07-03 11:28:47

2022-09-20 12:53:15

編程語言漏洞

2009-11-22 15:28:35

2013-12-02 09:35:10

2012-12-19 10:36:06

2012-04-12 16:05:50

2017-08-22 13:45:27

2016-04-12 10:18:19

代碼審計自動化代碼審計工具

2017-09-19 15:01:06

PHP漏洞滲透測試

2009-08-15 10:19:01

漏洞利用php expEXP程序

2015-02-04 14:50:29

2019-07-10 10:00:42

PHPPython語法

2018-02-02 14:29:25

PHP漏洞服務器

2016-10-26 09:47:37

點贊
收藏

51CTO技術棧公眾號