• 【无标题】


    [极客大挑战 2019]Http

    查看源代码,发现了一个Secret.php,前面的

    οnclick="return false"

    一用鼠标点击就返回错误

    访问Secret.php

    可以猜到是Referer请求,

    有一个特殊:

    Referer要在Connection上面,在其他位置不起作用。那就调整位置

    利用bp抓包,根据网页的上不来自“https://Sycsecret.buuoj.cn”,说明要调回原来的页面

    添加Referer,跳转到https://Sycsecret.buuoj.cn

    将User-Agent   ,改为Syclover

    又得到了,必须要本地ip

    使用

    X-Forwarded-For:127.0.0.1

    Referer

          Http Referer是header的一部分,当浏览器向web服务器,一般带上Referer,常用在防盗链和防恶意请求中。

    User-Agent

         用来传输用户使用的是什么样的浏览器,还可以防止爬虫,会检验User-Agent,只有当用户访问是时候才会传输数据。

    X-Forwarded-For

    X-Forwarded-For 是用来识别http代理或负载平衡方式连接web服务器的客户端最原始的ip地址的http请求头字段。

          很多程序要检测客户端的ip地址,然后赋予相关的权限,比如数据库的读写,文件的读写,选择构造假ip,这里使用的是透明代理

    easyre

    用IDA打开,按F12+shift,找到flag

    reverse1

    同样的方法,找到可疑的字符,“this is the right flag! ”,然后x+Ctrl

    查看流图

    Str2=“{hello_world}”,

    大体意思就是用“0”代替“0”

    那么flag{hell0_w0rld}

    变异凯撒

    根据观察,afz-与flag的Ascill码相差分别为5,6, 7, 8 ,那么位移就为1,从五开始

    那么编写python脚本

        

    1. key="afZ_r9VYfScOeO_UL^RWUc"
    2. j=5
    3. for i in key:
    4. print(chr(ord(i)+j),end='')
    5. j+=1

    得到flag

    flag{Caesar_variation}

    爱因斯坦

    用010看,完整的图片还有一个zip(文件头:50 4B 03 04)文件

    分离出来

    打开要使用密码

    查看图片的详细信息得到了密码

    最后得到了flag

    看到了PK,则改后缀名为zip,

    直接就找到了flag了。

    test_your_nc

           nc的全名是netcat,其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。因此,它可以用来网络调试、端口扫描等等

    [极客大挑战 2019]BuyFlag

    打开之后查看源代码,发现了关键信息,要先进行身份验证

    解读该代码:

        isset在php中用来判断变量是否声明,该函数返回布尔类型的值,即true/false。isset只能用于变量,因为传递任何其它参数都将造成解析错误。

         & gt; 和 & lt; 代表大于号> 和小于号&l

       

    考察 is_numeric()函数的绕过和404

          (1)数组+16进制绕过

    j[]=58B
    

        (2)利用%00和%20绕过

          %00放在数值前后都可以,判断为非数值

          %20只能放在数值后面

    1. j=1315%20
    2. j=1315%00

         (3) php特性绕过

        php中当一个其他数据类型和数值类型的数据比较大小时,会先将其他数据类型转换成数值类型

    j=9999a
    

    抓包的结果为

    想起来要先进行身份验证

    cookie:user=0怀疑是身份判断的位置,布尔值0是false 1为true,修改数据包

    要用POST方式进行传输,修改为post包

    传递参数password=404xx&money=10e9(科学计数法)或者

    password=404xx&money[]=100000000(利用strcmp函数特性)

    得到了flag

    [ACTF2020 新生赛]BackupFile

    抓包后也没有什么,用dirsearch扫描一下

    最后找到了一个特殊的/index.php.bak 访问一下

    用记事本之类的打开

    代码审计开始

    似乎是弱比较 “==”

    在PHP中:
        = = 为弱相等,即当整数和字符串类型相比较时。会先将字符串转化为整数然后再进行比较。比如a=123和b=123admin456进行= =比较时。则b只会截取前面的整数部分。即b转化成123。
    所以,这里的a = = b是返回True。
    那么我们只需一个参数?key=123就可以拿到flag了

  • 相关阅读:
    中华传统文化题材网页设计主题:基于HTML+CSS设计放飞青春梦想网页【学生网页设计作业源码】
    前端面试官:你能实现js数组原型上的方法吗?
    PHP房屋租售信息管理系统可以用wamp、phpstudy运行定制开发mysql数据库BS模式
    2022亚太数学杯数学建模竞赛C题(思路、程序......)
    手把手推导Ring All-reduce的数学性质
    Clickhouse on S3 部署方案
    两种fifo实现方式的差异
    TensorFlow学习:在web前端如何使用Keras 模型
    STM32踩坑:LAN8720未接网线,上电后再接网线,网络模块无法正常使用
    【Leetcode第 308 场周赛】6160、6101、6102、6103
  • 原文地址:https://blog.csdn.net/ndjnddjxn/article/details/139422577