zoukankan      html  css  js  c++  java
  • 爆破-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

  • 相关阅读:
    【Go学习笔记】 string转Map 和 Map嵌套取值 和 interface转string
    【Go 学习】Go 正则类似Python findall()方法
    【Go学习】Go mod 包管理
    构建之法阅读笔记(四)
    nltk安装配置以及语料库的安装配置
    机器学习KNN算法实现新闻文本分类思路总结
    KNN算法源代码
    构建之法阅读笔记(三)
    jupyter反爬虫
    python多条件模糊查询
  • 原文地址:https://www.cnblogs.com/wosun/p/11240963.html
Copyright © 2011-2022 走看看