zoukankan      html  css  js  c++  java
  • 时间-i春秋

    记一道跑脚本的题
    进入页面拿到一段代码。

    <?php 
    header("content-type:text/html;charset=utf-8");
    '天下武功唯快不破';
    setcookie('token','hello');   
    show_source(__FILE__);
    if ($_COOKIE['token']=='hello'){      
      $txt = file_get_contents('flag.php');    
      $filename = 'u/'.md5(mt_rand(1,1000)).'.txt'; 
      file_put_contents($filename,$txt);
      sleep(10);
      unlink($filename);
    }
    

    代码的意思不难, 访问网站,在10秒里会生成一个目录,flag会写在里面。但是10秒之后这个目录会被删除。首先我们要生成这些些目录,然后拿着这些目录当成字典爆破。
    生成目录的代码。

    import hashlib
    import  requests
    file = open("C://Users/36521/Desktop/data.txt",'w+')
    for i in range(1,1001):
        tmp = hashlib.md5(str(i).encode('utf-8')).hexdigest()
        url = '/u'+tmp+'.txt'
        file.write(url+'
    ')
    file.close()
    

    将生成的目录复制粘贴到御剑的字典里。

    然后勾选上那个字典。

    刷新页面同时开始扫描。

    速度的访问拿到URL就能得到flag。是不是很刺激。

    总结一下这道题的点。

    Python的MD5加密流程

    hashlib.md5(str(s).encode('utf-8')).hexdigest()
    

    Python中的文件权限
    open()函数: 直接打开一个文件,如果文件不存在则创建文件,参考链接https://www.jianshu.com/p/c305999c490d

    w     以写方式打开,
    a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
    r+     以读写模式打开
    w+     以读写模式打开 (参见 w )
    a+     以读写模式打开 (参见 a )
    rb     以二进制读模式打开
    wb     以二进制写模式打开 (参见 w )
    ab     以二进制追加模式打开 (参见 a )
    rb+    以二进制读写模式打开 (参见 r+ )
    wb+    以二进制读写模式打开 (参见 w+ )
    ab+    以二进制读写模式打开 (参见 a+ )
    
  • 相关阅读:
    L298 猴子进化过程
    L296 EST 科技英语翻译-美学取向 (上)
    L295 how to turn down a job but keep a good relationship with the hiring manager
    L293 给地球降温
    2019.3.16错过的计算题-应用统计学
    L291
    L290 英语中级班-3月上
    L275 Climate Change Is Having a Major Impact on Global Health
    L273 NCAA
    leetcode 87 Scramble String ----- java
  • 原文地址:https://www.cnblogs.com/HelloCTF/p/12763465.html
Copyright © 2011-2022 走看看