【RCE】---远程命令代码执行漏洞---day30

【RCE】---远程命令/代码执行漏洞---day30

一、漏洞成因

1、成因

image-20210421090521749

2、漏洞形成条件

可控变量,漏洞函数

3、思维导图

RCE1

二、演示案例

1、phpstudy本地测试

①源码:

代码执行:

image-20210421092059120

下面为命令执行

image-20210421092535127

②eval函数学习

image-20210421092209313

image-20210421092223848

配合上fwrite()写入文件等函数,利用。

③system函数学习

image-20210421092643077

④exec函数学习

image-20210421092744813

image-20210421092754163

2、墨者靶场演练

①命令注入执行分析(黑盒)

image-20210421093950108

进入之后有个ping命令

image-20210421094038991

可控变量,执行函数,有可能产生命令执行漏洞。那么,我们首先看一下它的操作系统。浏览器抓包可以看到为ubuntu

image-20210421094249844

那么我们测试在ip那里输入id,发现有检测,说不是ip。考虑使用linux执行多个命令——管道符“|”。检测返回值很快,判断是前端验证,右键源代码。

image-20210421094720346

所以我们可以禁用本地js,或者直接抓包绕过。

image-20210421095043922

linux读取使用cat tac等命令。

一、cat命令

对文件内容正序查看时,可以使用cat命令。还可以两多个文件输出到一个文件中。也可以新建一个文件。下面就介绍一下cat命令的用法。

cat filename  正序查看文件所有内容

cat -n filename 带行号正序查看文件所有内容

cat -b filename 忽略空白行,带行号正序显示文件所有内容

cat  > filename 新建一个文件

cat filename1 filename2 > filename3 将filename1 filename2合并为filename3,此时filename3中只有filename1和filename2文件中的内容

cat filename1 filename2 >> filename3 将filename1 filename2文件的内容追加到filename3文件中

cat /dev/null > filename 清空filename文件中的内容

二、tac命令

tac倒过来就是cat,是将文件倒着显示,即文章最后一行显示在最上边。使用方法如下

tac filename

三、tail命令

tail命令是指定显示文件后若干行的内容。下面介绍一下具体使用方法。

1.tail -f filename 显示filename文件尾部内容,默认是10行,相当于tail -n 10,但是会不断刷新显示到屏幕上

2.tail -n number filename 显示filename文件尾部number行内容

3.tail -n +number filename 从第number行显示文件内容

四、head命令

head 显示前n行的内容

head -n number filename

②PHP代码分析溯源(白盒)

image-20210421095428699

进去之后

image-20210421095623419

可以看到先base64解密,在经过gzinflate。

把后面这一串输出出来看看是什么鬼。

image-20210421100002933

REQUEST接收GET POST COOKIE三种方式提交。

image-20210421100519705

注意此处的echo,就是解密之后的echo,是linux中的echo命令。---判断是代码执行还是命令执行。

image-20210421100823997

③webmin已知漏洞利用

三、Javaweb-Struts2框架类RCE漏洞

1、墨者靶场

image-20210421102404875

image-20210421102424808

直接搜漏洞,exp找到flag

2、Struts2漏洞扫描工具。

四、PHP RCE漏洞常见函数

1、可以执行PHP脚本代码

image-20210421103311836

2、命令执行函数(可以执行系统或者应用命令)

image-20210421103357177

3、防御

直接把这些敏感函数禁用掉

五、一句话Webshell后门原理代码执行

image-20210421104036999

其实菜刀 蚁剑等都是发数据包。@符号就是出错时候,不显示错误。

posted @ 2021-05-17 21:35  DarkerG  阅读(445)  评论(0编辑  收藏  举报