CTF-安全杂项(一)

声明:以下CTF题均来自网上收集,在这里主要是给新手们涨涨见识,仅供参考而已。需要题目数据包的请私信或在下方留言。

     1.MD5之守株待兔,你需要找到和系统锁匹配的钥匙(来源:实验吧)

1.关卡描述


CTF-安全杂项(一)_第1张图片

CTF-安全杂项(一)_第2张图片

CTF-安全杂项(一)_第3张图片

 

2.解题步骤


分析:

点开链接可以发现有两串字符,而且系统的秘钥是一直在变化的

题目中已经给了MD5加密,那么用MD5解密发现您的秘钥是[空密码]

系统秘钥一直在变化,猜可能是时间戳

思路:每刷新一次,系统key都会变化一次,解密md5后可以发现,系统key是一个类似“1530346200”的数字,且每刷新一次,key值都加1(如果有其他人提交,可能返回结果不止加1),写个脚本来守株待兔。

注意:脚本中的key值,应根据当前页面返回的系统key md5解密后的值,往后顺延一定的位数

如当前页面的系统key为1530346100,可以设置脚本中的key为1530346200

在线时间

http://tools.sharejs.com/unixtime.html

CTF-安全杂项(一)_第4张图片

# -*- coding: utf8 -*-
import requests,time

url='http://ctf5.shiyanbar.com/misc/keys/keys.php?key=1547450636'

s=requests.session()
while(1):
    res=s.get(url)
    print res.content
    if res.content.find('false')==-1:
        break
    time.sleep(1) 

CTF-安全杂项(一)_第5张图片

CTF{c04ffec18156c696}

                            2.你没有见过的加密!(来源:实验吧)

1.关卡描述


 

CTF-安全杂项(一)_第6张图片

CTF-安全杂项(一)_第7张图片

2.解题步骤


分析:

解密代码:

在线程序解释器

CTF-安全杂项(一)_第8张图片

flag{you_are_successful}


代码部分解析:

1.rand()函数

作用:返回随机整数

用法:rand(min,max)  min和max规定随机数产生的范围,可以省略不写,不写时rand() 返回 0 到 RAND_MAX 之间的伪随机整数。

 

2.srand()函数

作用:播下随机数发生器种子

用法:srand(seed)

说明:只使用rand()函数时,并不能产生的随机数随机性很差,用srand()后,随机性大大增加。

注:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。

有时在代码中仍然会遇到srand()。

 

真正的随机数是没有的,rand也是通过一定的数学计bai算模拟的,而如果没有初始化,每次产生的随机数都会重复,所以要加上 srand,php 4.2以后已经可以不用加了,但测试发现,加上万无一失

你可能感兴趣的:(CTF-安全杂项)