代碼審計基礎之天鈞式嘮叨(二)

昨晚一天時間,碼的文章,丟了,多是沒有保存成功。如今又辛辛苦苦給你們碼,仍是從新碼,爲此我有點腦殼疼,昨天的白乾了,氣死人,求打賞。沒有錢的多多點點關注也行。崩潰了php

正文web

輸出數組

 echo

PHP中簡單的輸出數據調試方法,通常用來輸出變量值來肯定的執行到哪個分支。微信

 $var = 5;
 if($var>0){
     echo"1";
 }elseif($var>0 && $var<5){
     echo"2";
 }elseif($var >=5 && $var <10){
     echo"3";
 }

如上輸出爲1,執行到if輸出。app

註釋代碼以下
ide

 <?php
     $var = S;if($var <0){  
     //do someting    
     echo "1";
    }elseif($var >0 && $var <5){
         //do someting    
         echo"2";} elseif($var >=5 &&$var < 10){    
         //do someting   echo"3";}  
         ?>

  輸出方式函數

 print_r,var_dump,debag_zval_dump

這個主要是輸出變量的數據值,特別是數組合對象數據,通常咱們在查看端口的返回值或者不肯定的變量可使用這兩個API,debug_zval_dump相似,惟一增長的一個值是refcount,記錄一個變量被引用了多少次url

代碼spa

 <?php
 $arr = array(
    "key1" => true,
    "key2"=> "test",
    "key3" => "100",
    "key4" => null,);
 print_r($arr)
 ?>

運行後爲輸出值
.net

 var_dump

把輸出的變量類型也一併輸出出來了

所使用的代碼

 <?php
 $arr = array(
    "key1" => true,
    "key2"=> "test",
    "key3" => "100",
    "key4" => null,);
 var_dump($arr)
 ?>

debug_zval_dump

 <?php
 $arr = array(
    "key1" => true,
    "key2"=> "test",
    "key3" => "100",
    "key4" => null,);
 debug_zval_dump($arr)
 ?>

運行後爲

對比var_dump來說多出了refcount(2),這個函數,指的是變量被運用了幾回

debug_print_backtrace

所使用的的代碼

 <?php
 function a(){
    b();
 }
 function b(){
    c();
 }
 function c(){
    debug_print_backtrace();
 }
 a();
 ?>

運行後debug_print_backtrace

 #0 c() called at [I:\PHPstudy\PHPTutorial\WWW\text.php:6] #1 b() called at [I:\PHPstudy\PHPTutorial\WWW\text.php:3] #2 a() called at [I:\PHPstudy\PHPTutorial\WWW\text.php:11]

debug_print_backtrace能夠查看輸出的調用棧信息++

exit中止運行

代碼以下

 <?php
 echo"天鈞";
 echo"滲透雲筆記";
 exit()
 echo"工做室老大是gay";
 ?>

代碼塊中出現exit函數就會直接不往下運行,以下

設置debug,以下

先配置一個站點,部署web程序

查看站點

配置debug

PHPini文件配置

 [xdebug]
 zend_extension=php_xdebug-2.5.4-5.6-vc11-nts.dll
 xdebug.profiler_append = 0
 xdebug.profiler_enable = 1
 xdebug.profiler_enable_trigger = 0
 xdebug.profiler_output_dir ="I:\phpStudy\tmp\xdebug"
 xdebug.trace_output_dir ="I:\phpStudy\tmp\xdebug"
 xdebug.profiler_output_name = "cache.out.%t-%s"
 xdebug.remote_enable = 1
 xdebug.remote_handler = "dbgp"
 xdebug.remote_host = "127.0.0.1"
 xdebug.remote_port = 9999
 xdebug.remote_mode = "req"
 xdebug.idekey = PHPSTORM

故障排查

phpini文件配置出錯,再次進行配置

排查版本問題

選擇對應的版本否則會找不到路徑

 I:\PHPstudy\PHPTutorial\php\php-5.6.27-nts\ext

排查

 Waiting for incoming connection with ide key

由於那你的php.ini配置不當致使,從新配置,覈對版本

從新配置

配置成功

視頻三分鐘,能夠略過,由於發了牢騷,我如今挺懼怕醫生讓我躺着啥也不能幹,因此囉嗦了些,佈置後事的感受,哈哈哈。交代清楚了,求大佬們打賞哦。


文中使用的靶場源碼

後臺回覆;靶場源碼

xdbug下載地址;xdebug.org

順便,羣裏的同志,對此我想對大家說


本文分享自微信公衆號 - 滲透雲筆記(shentouyun)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索