• 爆破-3


    它提示我们这个真的是爆破。。。。好吧,我有点不信,他这个糟老头在坏得很

    看看代码

    1.第一句是规定报告错误级别为0,也就是Disable error reporting不报告错误

    2.第二句是存储session数据,也就是在网页上给服务器个信息,我们来了

    3.第三句是require函数:也是引用flag.php的意思,不过与include不同的是,如果产生错误则会停止执行网页,而include会继续执行

    4.然后是一个if结构,先判断$_SESSION['nums']是否为空或则为NULL,如果不是则让$_SESSION['nums'] = 0$_SESSION['time'] = time()time() 函数返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数$_SESSION['whoami'] = 'ea'。

    5.然后又是一个if判断,当这个session的值+120后小于当前时间就执行session_destroy()函数:销毁session

    6.valuepost的形式传入

    7.创建一个从az的数组让其等于str_rand

    8.生成两个随机的str_rand然后让他们连接起来赋值给str_rands

    9.一个if结构,如果whoami等于数组的首位和第二位,并且变量value的散列值从第五位到第九位等于0则让nums+1,让whoami的值等于str_rands,然后打印出str_rands

    10.如果nums的值大于10则打印flag

    浏览整段代码,意思就是我们整个过程需要在打开网页的2分钟内完成,然后value的值为aenums的值就+1,然后再生成一个随机数据,如果value又等于这个值则会让nums再次+1,反复重复直到nums大于10就输出flag

    所以这里使用脚本爆破(附上一个dalao的脚本)

    import requests
    
    url = "http://53617f45ee114de4945b1fc8661d2c36844810d2d02f4882.changame.ichunqiu.com//?value[]=ea"
    
    al = ['abcdefghijklmnopqrstuvwxyz']
    
    s = requests.session()
    
    r = s.get(url)
    
    for i in range(20):
    url = "http://53617f45ee114de4945b1fc8661d2c36844810d2d02f4882.changame.ichunqiu.com//?value[]=" + r.content[0:2]
    r = s.get(url)
    print r.content

    注:url为自己的网页链接

    就可以得到flag

  • 相关阅读:
    ABP 框架第一篇 ABP框架入门
    SpringBoot+mybatis plus 框架搭建
    诺依框架 第一章 springboot+vue前后端分离版本部署
    常用Web Service汇总网页
    Singleton单例模式
    告别无止境的增删改查Java代码生成器
    Builder生成器模式
    细说Java IO相关
    AbstractFactory抽象工厂模式
    设计模式关于模式的一些很基本的知识点
  • 原文地址:https://www.cnblogs.com/wosun/p/11240963.html
Copyright © 2020-2023  润新知