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

     右边返回里

  • 相关阅读:
    Failed to convert WOFF 2.0 font to SFNT 字体图标显示不出来
    每日一字:困
    每日一字:biáng
    sqlserver数据类型简记
    每日一字:天
    可以作为今生目标的一句话
    每日一字:惑
    [转载]优秀程序员的12中能力
    每日一字:怒
    [转载]像树一样活着
  • 原文地址:https://www.cnblogs.com/liqik/p/10611181.html
Copyright © 2011-2022 走看看