2019 神盾杯 final Writeup(二)-黑客接单平台

前语 接之前的剖析文章,本篇文章将2019 神盾杯线下赛后续两道web题也解析一下。 web3 预置后门扫描 翻开源码发现是干流cms typecho,先上东西扫一波: 一起注意到版别号: 依据github的开源...

前语 接之前的剖析文章,本篇文章将2019 神盾杯线下赛后续两道web题也解析一下。 web3 预置后门扫描 翻开源码发现是干流cms typecho,先上东西扫一波:

一起注意到版别号:

依据github的开源项目回滚到当时版别:

并进行diff:

用户名RCE

简单发现/admin/login.php处,$rememberName被反引号包裹,能够进行RCE。 SSRF缝隙 /var/Widget/XmlRpc.php:

该缝隙应该为typecho对应版别的原生缝隙,能够搜到相关信息:

那么要害点就在于过滤时,未把file协议过滤掉: /var/Typecho/Http/Client/Adapter.php:

导致咱们能够使用其进行SSRF恣意文件读取: curl "https://skysec.top/action/xmlrpc" -d 'pingback.ping file:///flag joychou' web4 预置后门扫描 翻开源码发现是干流结构 thinkphp,先上东西扫一波:

比较惋惜,这儿后门由于躲藏十分荫蔽,所以干流静态剖析东西并没有很好的识别出webshell。下面仍是得靠咱们自己diff。 该项目是开源项目: https://gitee.com/liaow/JuBiWang/tree/master thinkphp缓存机制

关于thinkphp的缓存机制,是一个陈词滥调的问题,在本年强网杯final中也有相应的问题: https://skysec.top/2019/06/16/2019-%E5%BC%BA%E7%BD%91%E6%9D%AFfinal-Web-Writeup/ 这儿就不再赘述了。 大局过滤器后门 经过diff发现在文件/ThinkPHP/Common/functions.php:

其间命题人自己编写了一个大局函数: function MY_I($name,$default='',$filter=null,$datas=null) 咱们和结构自带的I函数做个比较:

发现命题人使用了自己的: MY_DEFAULT_FILTER 咱们跟进一下:

发现内置内门assert,那么咱们寻觅调用MY_I函数的方位: /Application/Home/Controller/ChartController.class.php:

发现办法getMarketOrdinaryJson()使用了该函数,那么能够结构如下路由进行RCE: https://skysec.top/?s=/home/chart/getMarketOrdinaryJson&sky=phpinfo(); ssrf 经过diff,发现在文件/Application/Admin/Controller/AdminController.class.php中多了如下办法: [1][2]黑客接单网

  • 发表于 2021-04-16 13:48
  • 阅读 ( 212 )
  • 分类:互联网

0 条评论

请先 登录 后评论
踏风者
踏风者

696 篇文章

你可能感兴趣的文章

相关问题