HTB-horror feeds

HTB-horror feeds

entrypoint.sh里有数据库的创建过程,其中username被赋予了unique。admin后面那串hash,不出意外是不会起到任何作用的。
在这里插入图片描述
Dockerfile

在这里插入图片描述

main.py对一些错误进行了处理。
在这里插入图片描述

database.py里面有登录、注册功能的说明。
在这里插入图片描述

登录功能我们大概率是用不上,所以突破口在register上,此外ON DUPLICATE KEY UPDATE 配上unique有神奇的力量。

在这里插入图片描述

举一个例子。

表user,其中username有unique索引。
在这里插入图片描述
一般来说要添加一个数据进去使用insert语句。
在这里插入图片描述
更新信息用update。
在这里插入图片描述
使用insert ON DUPLICATE KEY UPDATE。(注意username拥有unique索引)
在这里插入图片描述
成功修改admin的密码为HACK,小写的hack值随意。根据database.py里面insert语句,我们对其作如下修改。

INSERT INTO users (username, password) VALUES ("{username}", "{hashed}")
INSERT INTO users (username, password) VALUES ("admin",nothing") ON DUPLICATE KEY UPDATE password = rick -- - ", "{hashed}")

根据代码可知password进入数据库之前会被加密一次。
在这里插入图片描述
在这里插入图片描述
username没有进行过滤,可以sql注入,拿到加密后的”rick“。
在这里插入图片描述

admin","nothing") ON DUPLICATE KEY UPDATE password="$2b$12$ptJXUPS9LgrGp9XcErH2.eHV4VnIEqvSzhuiKCPO2KwOlWqP4kr1m"-- -

在这里插入图片描述

flag在最底下。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值