2025-04-02548words1 mins.HTB-Full-Stack-Conf Writeup# 题目描述 (无附件) # 观察 打开网页: # 渗透 因为提示用 alert,并且题目描述里提到了 JavaScript,所以直接尝试最简单的 JavaScript 注入: <script>alert('1');</script> 得到 flag: HTB{p0p..p0p..p0p...alert(1337)} 。 more...
2025-04-022.3kwords2 mins.HTB-LoveTok Writeup# 题目描述 (有附件) # 观察 打开网页: 当点击了下面那个按钮之后网页的 url 会增加一个参数: /?format=r 因为给的附件比较多,所以直接挨个搜索 “format”,可以确定下来 2 份相关代码: <?php class TimeController { public function index($router) { $format = isset($_GET['format']) ? $_GET['format'] : 'r'; more...
2025-04-022.8kwords3 mins.HTB-OnlyHacks Writeup# 题目描述 (无附件) # 观察 打开网页: 注册个账号试试:(注意这里一定要上传一个头像,不然会一直提示用户名重复) 进去之后会显示 4 个人,我们每个都点一下绿色的心(在 dating app 里应该是心动的意思): 然后点进右上角的 Mathces: 会发现只有一个对话框。 对话里没有什么有用的信息,但是我们注意到它好像是每隔一段时间(大概 5 到 10 秒左右)才会看一次我们的消息并回复,跟一般 XSS 的环境很像。 我们查看当前的 cookie 会发现: 通过 base64 解码会发现这个应该是通过 cookie 识别我们登录的身份的。(后面的乱码部分是 pymore...
2025-04-02744words1 mins.HTB-sanitize Writeup# 题目描述 (无附件) # 观察 打开网页: 随便输入个 username 和 password 会看到下方有一段 SQL 代码: # 渗透 猜测网页的登录逻辑是这样的:如果当前 select 成功(也就是说能在数据库里找到当前输入的账号信息),那么就可以登录成功。 所以直接 SQL Injection,在 username 一栏输入 admin' -- ,然后 password 那一栏输入任意内容(比如说 1),就可以得到 flag: HTB{SQL_1nj3ct1ng_my_w4y_0utta_h3r3} 。 more...
2025-04-024.4kwords4 mins.HTB-Spookifier Writeup# 题目描述 (有附件) # 解题 # 观察 打开网站: 输入 “abc“ 会看到: 然后我们来查看代码(routes.py): from flask import Blueprint, requestfrom flask_mako import render_templatefrom application.util import spookifyweb = Blueprint('web', __name__)@web.route('/')def index(): text = request.args.get(more...
2025-04-023.2kwords3 mins.HTB-Templated Writeup# 题目描述 (无附件) # 观察 打开网站会发现一片空白: 专门提示了是 Jinja2,所以大概率是注入,而 Jinja2 注入的格式为 <!--swig0-->(以下用 server 来指代当前网址) 因为没有给网页源代码,所以只能不断尝试。然后会发现当将当前 url 修改成 server/{{7*7}} 时,会显示 可以看到 7*7 确实被执行了,所以确定这里就是注入口。 # 渗透 有至少 2 种方法: # 第一种 通过模板中函数对象的 __globals__ 拿到全局作用域,然后借助 ____builmore...