• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • PHP代碼審計(3)

    發表于:2013-10-23來源:DoDo作者:DoDo點擊數: 標簽:php
    某些頁面使用參數調用功能,沒有經過權限驗證,比如index.php?action=upload 密碼硬編碼 有的程序會把數據庫鏈接賬號和密碼,直接寫到數據庫鏈接函數中。

      某些頁面使用參數調用功能,沒有經過權限驗證,比如index.php?action=upload

      密碼硬編碼

      有的程序會把數據庫鏈接賬號和密碼,直接寫到數據庫鏈接函數中。

      隨機函數

      rand()

      rand()最大隨機數是32767,當使用rand處理session時,攻擊者很容易破解出session,建議使用mt_rand()

      mt_srand()和mt_rand()

      e="text-indent: 0.85cm; margin-bottom: 0cm; line-height: 125%">PHP4和PHP5<5.2.6,這兩個函數處理數據是不安全的。在web應用中很多使用mt_rand來處理隨機的session,比如密碼找回功能等,這樣的后果就是被攻擊者惡意利用直接修改密碼。

      特殊字符和多字節編碼

      多字節編碼

      PHP危險函數

      緩沖區溢出

      confirm_phpdoc_compiled

      影響版本:

      phpDocumentor phpDocumentor 1.3.1

      phpDocumentor phpDocumentor 1.3 RC4

      phpDocumentor phpDocumentor 1.3 RC3

      phpDocumentor phpDocumentor 1.2.3

      phpDocumentor phpDocumentor 1.2.2

      phpDocumentor phpDocumentor 1.2.1

      phpDocumentor phpDocumentor 1.2

      mssql_pconnect/mssql_connect

      影響版本:PHP <= 4.4.6

      crack_opendict

      影響版本:PHP = 4.4.6

      snmpget

      影響版本:PHP <= 5.2.3

      ibase_connect

      影響版本:PHP = 4.4.6

      unserialize

      影響版本:PHP 5.0.2、PHP 5.0.1、PHP 5.0.0、PHP 4.3.9、PHP 4.3.8 e="font-size: 10pt">、PHP 4.3.7、PHP 4.3.6、PHP 4.3.3、PHP 4.3.2、PHP 4.3.1、PHP 4.3.0、PHP 4.2.3、PHP 4.2.2、PHP 4.2.1、PHP 4.2.0、PHP 4.2-dev、PHP 4.1.2、PHP 4.1.1、PHP 4.1.0、PHP 4.1、PHP 4.0.7、PHP 4.0.6、PHP 4.0.5、PHP 4.0.4、PHP 4.0.3pl1、PHP 4.0.3、PHP 4.0.2、PHP 4.0.1pl2、PHP 4.0.1pl1、PHP 4.0.1

      session_destroy()刪除文件漏洞

      影響版本:不祥,需要具體測試

      測試代碼如下:

      

      session_save_path(‘./’);

      session_start();

      if($_GET[‘del’]) {

      session_unset();

      session_destroy();

      }else{

      $_SESSION[‘do’]=1;

      echo(session_id());

      print_r($_SESSION);

      }

      ?>

      當我們提交cookie:PHPSESSIONID=/../1.php,相當于刪除了此文件

      unset()-zend_hash_del_key_or_index漏洞

      zend_hash_del_key_or_index PHP4小于4.4.3和PHP5小于5.1.3,可能會導致zend_hash_del刪除了錯誤的元素。當PHP的unset()函數被調用時,它會阻止變量被unset。

      信息泄露

      phpinfo

      如果攻擊者可以瀏覽到程序中調用phpinfo顯示的環境信息,會為進一步攻擊提供便利

      PHP環境

      open_basedir設置

      open_basedir能限制應用程序能訪問的目錄,檢查有沒有對open_basedir進行設置,當然有的通過web服務器來設置,例如:apache的php_admin_value,nginx+fcgi通過conf來控制php設置

      allow_url_fopen設置

      如果allow_url_fopen=ON,那么php可以讀取遠程文件進行操作,這個容易被攻擊者利用

      > allow_url_include設置

      如果allow_url_include=ON,那么php可以包含遠程文件,會導致嚴重漏洞

      safe_mode_exec_dir設置

      這個選項能控制php可調用的外部命令的目錄,如果PHP程序中有調用外部命令,那么指定外部命令的目錄,能控制程序的風險

      magic_quote_gpc設置

      這個選項能轉義提交給參數中的特殊字符,建議設置magic_quote_gpc=ON

      register_globals設置

      開啟這個選項,將導致php對所有外部提交的變量注冊為全局變量,后果相當嚴重

      safe_mode設置

      safe_mode是PHP的重要安全特性,建議開啟

      session_use_trans_sid設置

      如果啟用 session.use_trans_sid,會導致 PHP 通過 URL 傳遞會話 ID,這樣一來,攻擊者就更容易劫持當前會話,或者欺騙用戶使用已被攻擊者控制的現有會話。

      display_errors設置

      如果啟用此選項,PHP將輸出所有的錯誤或警告信息,攻擊者能利用這些信息獲取web根路徑等敏感信息

      expose_php設置

      如果啟用 expose_php 選項,那么由 PHP 解釋器生成的每個響應都會包含主機系統上所安裝的 PHP 版本。了解到遠程服務器上運行的 PHP 版本后,攻擊者就能針對系統枚舉已知的盜取手段,從而大大增加成功發動攻擊的機會。

      參考文檔:

      https://www.fortify.com/vulncat/zh_CN/vulncat/index.html

      http://secinn.appspot.com/pstzine/read?issue=3&articleid=6

      http://riusksk.blogbus.com/logs/51538334.html

      http://www.owasp.org/index.php/Category:OWASP_Code_Review_Project

      This entry was tagged php漏洞, 代碼審計. Bookmark the permalink.

      Post navigation

      ← lxde+ubuntu on android

      使用google SSL的方法 →

      3 comments

    原文轉自:http://www.sectop.com/?p=111

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>