来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 0x1 原理1、执行系统命令的函数proc_open, popen, exec, shell_exec,passthru,system这里只给出两个例子,其他的可以查看php手册编写system()?phpsystem($_GET[#39;input#39;]);?http://192.168.247.133......
0x1 原理 1、执行系统命令的函数 proc_open, popen, exec, shell_exec,passthru,system 这里只给出两个例子,其他的可以查看php手册编写
system() <?php
“``”执行命令 ``执行命令等价于shell_exec()函数来执行命令。 <?php 再来个更短的 <?=@`$_GET[c]`?>http:// www.2cto.com /shell.php?c=dir 注:这个要开启short_open_tag的,不过默认为on 2、可以执行代码的函数 eval() 函数把字符串按照PHP 代码来计算,该字符串必须是合法的PHP 代码,且必须以分号结尾。 <?php 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代码执行。 <?php assert这个函数在php语言中是用来判断一个表达式是否成立。但是其字符串参数会被执行。 <?php <?php 更多的函数需要同志们去挖掘。 0x2 如何混淆 1、注释/**/ <?php php中“.”为字符串连接符号 <?php
3、创建函数 create_function() 创建一个匿名函数 <?php <?php
6、可变函数 PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。 <?php <?php 注:同样可以利用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://www.2cto.com/Article/201207/142926.html http://www.2cto.com/Article/201208/146517.html ps:本来想好好写完的,但是看到moyer牛那篇文章后,一下子感觉写的这些都苍白无力了。 by qingsh4n http://hi.baidu.com/qingsh4n/item/d1ea580f5bd5c169bee97e0c |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com