对于XSS的学习过程,已经更新在优快云博客
题目分析
这道题目告诉我们flag在admin.php中,只有admin才能获取它,我们点击进去之后发现并没有flag,这是为什么呢?因为我们不是admin,因此,我们必须伪装成admin。
题目的下面有一行代码,substr((md5(‘proof of work’),0,6) === ‘4b3392’)
这一行代码的意思是截取经过MD5编码的工作量的前6个数字。
proof of work百度的是区块链中的工作量证明:在区块链中,Pow代表的是一种运作机制,这种机制强制要求财富的获取方式只能是通过劳动所得,也就是算力运算-挖矿。我的理解就是得到的结果是通过大量的运算得来的。
这块也是参考了很多的资料,因为对这一部分不是特别的理解。
这块是随机的,我们接下里破解一下
- 尝试使用proofofwork这个软件破解来着,但是没有安装成功。(明天更新了python在试一下)
- itertools暴力解决
import hashlib
from itertools import count
mes = 'admin'
for i in count():
md = hashlib.md5()
str1 = str(i)
md.update(str1.encode('utf-8'))
hashid = md.hexdigest()
if hashid.startswith('384216'):
print(str1)
break
将跟随机产生的字符串能匹配上的字符串打印出来,输入到MD5的输入框里面
就显示,提交成功了。
但是点击之后是空白的界面。