1. 程式人生 > >審計總結:PHP原始碼審計敏感函式字典

審計總結:PHP原始碼審計敏感函式字典

對涉及PHP安全方面的函式進行了歸類,參照了很多文章和部落格,在此表示感謝。
 
1.include/require/require_once/include_once/file_get_contents
2.exec/system/popen/passthru/proc_open/pcntl_exec/shell_exec
3.eval/preg_replace/assert/call_user_func/call_user_func_array/create_function
4._GET/_POST/_COOKIE/_SERVER/_REQUEST/_ENV/php://input/getenv/
5.session/cookie
6.extract/parse_str/mb_parse_str/import_request_variables/unserialize
7.copy/rmdir/chmod/delete/fwrite/fopen/readfile/fpassthru/move_uploaded_file/
file_put_contents/unlink/upload/opendir/fgetc/fgets/ftruncate/fputs/fputcs
8.select/insert/update/delete/order by/group by/limit/in(/stripslashes/urldecode
9.confirm_phpdoc_compiled/mssql_pconnect/mssql_connect/crack_opendict/
snmpget/ibase_connect
10.echo/print/printf/vprintf/document.write/document.innerHTML/document.innerHtmlText
11.phpinfo/highlight_file/show_source
12.iconv/mb_convert_encoding
附帶php.ini中涉及安全配置選項。
 
 
safe_mode = off ( a lot of shit cannot be done with this on )
disabled_functions = N/A ( no one,we want all )
register_globals = on ( we can set variables by request )
allow_url_include = on ( for lfi/rfi )
allow_url_fopen = on ( for lfi/rfi )
magic_quotes_gpc = off ( this will escape ‘ ” and NUL’s with a backslash and we don’t want that )
short_tag_open = on ( some scripts are using short tags,better on )
file_uploads = on ( we want to upload )
display_errors = on ( we want to see the script errors,maybe some undeclared variables? )
open_basedir 限制訪問目錄
display_errors = off 顯示錯誤資訊

 在 PHP 中可由使用者輸入的變數 

?
1 2 3 4 5 6 7 8 9 10 11 12 13 $_SERVER $_GET $_POST $_COOKIE $_REQUEST $_FILES $_ENV $_HTTP_COOKIE_VARS $_HTTP_ENV_VARS $_HTTP_GET_VARS $_HTTP_POST_FILES $_HTTP_POST_VARS $_HTTP_SERVER_VARS



可能允許命令注入的函式 

?
1 2 3 4 5 6 7 8 system
exec passthru `` shell_exec popen proc_open pcntl_exec



可能允許檔案包含的函式 

?
1 2 3 4 5 6 7 8 9 10 include include_once require require_once show_source highlight_file readfile file_get_contents fopen file



可能允許程式碼注入的函式

?
1 2 3 4 5 6 eval preg_replace+/e
assert call_user_func call_user_func_array create_function


可能允許SQL注入的 SQL語句函式
insert 
delete 
update 
select 

可能允許攻擊者惡意操作檔案的函式
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 copy rmdir unlink delete fwrite chmod fgetc fgetcsv fgets

相關推薦

審計總結PHP原始碼審計敏感函式字典

對涉及PHP安全方面的函式進行了歸類,參照了很多文章和部落格,在此表示感謝。   1.include/require/require_once/include_once/file_get_contents 2.exec/system/popen/passthru/proc

PHP程式碼審計————1、PHP程式碼審計之環境搭建

前言本系列部落格,主要講解PHP程式碼審計。從環境搭建到具體的實戰分析將會一步一步深入學習,希望可以對大家有所幫助。審計環境搭建作業系統:Window 7軟      件:phpstudy、VMware workstations14、seay 程式碼審計軟體、notepad+

PHP程式碼審計之路——5.程式碼執行及一句話木馬總結

mixed eval ( string $code ) 把字串 code 作為PHP程式碼執行 bool assert ( mixed $assertion [, string $description ] ) PHP 5bool assert ( mixed $asse

PHP程式碼審計-常見危險函式

PHP程式碼執行函式 eval & assert & preg_replace eval 函式 說明: mixed eval ( string $code ) 把字串 code 作為PHP程式碼執行。 注意: 函式

DLA SQL分析函式SQL語句審計與分析的利器

1. 簡介 Data Lake Analytics最新release一組SQL內建函式,用來進行SQL語句的分析、資訊提取,方

PHP程式碼審計01之in_array()函式缺陷

#前言 從今天起,結合紅日安全寫的文章,開始學習程式碼審計,題目均來自**PHP SECURITY CALENDAR 2017**,講完這個題目,會再用一道有相同問題的CTF題來進行鞏固。下面開始分析。 #漏洞分析 下面我們看第一題,程式碼如下: ``` ``` 這一關考察的是任意檔案上傳漏洞,導致這個漏洞

PHP程式碼審計02之filter_var()函式缺陷

#前言 根據紅日安全寫的文章,學習PHP程式碼審計審計的第二節內容,題目均來自**PHP SECURITY CALENDAR 2017**,講完這個題目,會有一道CTF題目來進行鞏固,外加一個例項來深入分析,想了解上一篇的內容,可以點選這裡:[PHP程式碼審計01之in_array()函式缺陷](https:

PHP程式碼審計04之strpos函式使用不當

#前言 根據紅日安全寫的文章,學習PHP程式碼審計的第四節內容,題目均來自**PHP SECURITY CALENDAR 2017**,講完題目會用一個例項來加深鞏固,這是之前寫的,有興趣可以去看看: [PHP程式碼審計01之in_array()函式缺陷](https://www.cnblogs.com/lx

PHP程式碼審計入門

部落格轉載 --程式碼審計入門   程式碼審計--準備 1,先放一張大圖,php程式碼審計的幾個方向,也是容易出問題的地方,沒事的時候可以多看看。   2,程式碼審計也就是拿到某網站的原始碼,進行審計,從而發現漏洞,但是我們審計的時候並不一定要一行一行的去看吧,這樣未免也太浪費時

php程式碼審計命令執行漏洞

命令執行漏洞,使用者通過瀏覽器在遠端伺服器上執行任意系統命令,嚴格意義上,與程式碼執行漏洞還是有一定的區別。  常用命令執行函式 exec()、system()、popen()、passthru()、proc_open()、pcntl_exec()、shell_exec() 、反引

Python進階(十四)- 基礎課程結課總結高階函式

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow 也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp Python進階(十四)- 基礎課程結課總結:高階函式

PHP程式碼審計-SQL注入漏洞挖掘

SQL注入經常出現在登入頁面,HTTP頭(user-agent/client-ip/cookies等),訂單處理等地方,在發生多個互動的地方經常會發生二次注入。 普通注入 $uid = $_GET[‘id’]; $sql = “select * from user where id=$

PHP程式碼審計Day5-8練習題

文章目錄 前言 Day5 – escapeshellarg與escapeshellcmd使用不當 解題 第一部分 payload: 第二部分 payload

PHP程式碼審計Day學習筆記5-8

文章目錄 Day5 - escapeshellarg與escapeshellcmd使用不當 前言 mail() FILTER_VALIDATE_EMAIL escapeshellcmd() escapes

PHP程式碼審計Day1-4練習題

文章目錄 Day1 in_array函式缺陷 解題 payload Day2 - filter_var函式缺陷 解題 payload Day3 例項化

PHP程式碼審計Day學習筆記

Day1 in_array函式缺陷 定義 in_array函式 bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) 引數 描述 needle

PHP程式碼審計學習

原文:http://paper.tuisec.win/detail/1fa2683bd1ca79c 作者:June 這是一次分享準備。自己還沒有總結這個的能力,這次就當個搬運工好了~~ 0x01 工具準備 PHPSTORM,不只是程式設計。 個人覺得只要能夠提供全域性搜尋、單

程式碼審計--11--原始碼審計思路(下)

2 按照業務型別正向審計 前面提到逆向回溯的審計方式針對特徵明顯的安全漏洞挖掘是非常有效的,但是同樣會有很多弊端,通過逆向回溯的方式只能對通用漏洞進行快速審計,不能全面挖掘更有價值的漏洞,如果在時間允許的情況下,企業中安全運營對自身產品進行程式碼審計,就需要了

JavaScript筆記最詳細的call函式和apply函式用法總結

昨天聽了一堂直播,裡面有教到關於forEach函式的原始碼編寫,提到了call()和apply()函式,有點懵,這才發現之前我學的太快了,有很多細節沒有注意,當進行實戰時才發現漏了一些東西,現在開始查漏補缺。 今天就好好總結一下call()和apply()方法的應用。首先,這兩個函式

vuex 原始碼深入 vuex 之輔助函式 mapState

https://juejin.im/post/5ae433ab518825671a6388d5 準備 解讀前,我們需要熟悉一些方法的使用: Array.isArray() Array.prototype.map() Object.keys()