zoukankan      html  css  js  c++  java
  • 实验吧貌似有点难

    知识点:empty()函数;HTTP请求头中伪造客户端IP地址

    X-Forwarded-For绕过指定IP地址,方法:HTTP头添加X-Forwarded-For:1.1.1.1

    (1)PHP empty()函数 用于检查一个变量是否为空

    empty() 判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。

    empty() 并不会产生警告,哪怕变量并不存在。 这意味着 empty() 本质上与 !isset($var) || $var == false 等价。

    当 var 存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE。

    (2)_SERVER的问题

    https://www.cnblogs.com/rendd/p/6182918.html

    看到这几行代码,我们不难发现,如果要的到flag,那么IPs=="1.1.1.1,而此时我们输出的结果是“错误!你的IP不在访问列表之内!”,

    显然我们的IP不是1.1.1.1.那么我们就应该想办法修改IP地址为1.1.1.1,这样便能得到结果。

    首先查看是否存在$_SERVER["HTTP_CLIENT_IP"],如果存在IP就是它,

    否则接下来看$_SERVER["HTTP_X_FORWARDED_FOR"],

    最后看$_SERVER["REMOTE_ADDR"],如果以上三个变量都不存在的话则返回0.0.0.0。

     

    X-Forwarded-For

    当我们用代理服务器的时候,X-Forwarded-For这个值记录的是我们客户端原本的IP地址,而非代理服务的IP,简言之就是用来识别经过HTTP代理后的客户端IP地址。X-Forwarded-For在头信息中对应的就是X-Forwarded-For,是可以进行伪造的。

    首先我们来讲讲伪造X-Forwarded-For的方法,我们可以直接使用Firefox的X-Forwarded-For header来实现,操作非常的简单:

    设置好后,刷新页面,

    二:

    用Burpsuite 抓包

     右键发送到Repeater

    添加一个X-Forwarded-For:1.1.1.1或者Client-ip:1.1.1.1,然后GO

     右边返回里

  • 相关阅读:
    vitualBox上建虚拟机centos7
    spring整合Quartz
    Quartz(基础)
    log4j+coomons.logging打印日志
    ssm中使用pagehelper
    码云不必每次都输入用户名和密码的方法
    idea实用的操作
    Iterator
    Search for a Range 解答
    Search in Rotated Sorted Array (I, II) 解答
  • 原文地址:https://www.cnblogs.com/liqik/p/10611181.html
Copyright © 2011-2022 走看看