rce 远程代码/命令执行remote command/code execute 重点记住命令的操作方式
那年那只胖兔子
编辑于 2024年04月07日 23:26
收录于文集
共2篇

RCE是漏洞攻击的结果,不是特指某一个漏洞,凡是能实现RCE效果的都算是RCE漏洞。

3.1.1 远程命令执行 出现原因:因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如常见的路由器、防火墙、入侵检测等设备的Web管理界面上,一般会给用户提供一个ping操作界面,用户在该界面输入目标IP,提交后,后台会对目标IP地址进行一次ping测试,并返回测试结果。如果设计者在开发该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到"的命令,从而控制整个后台服务器。

3.1.2 远程代码执行 出现原因:因为需求设计,后台有时候会把用户的输入作为代码的一部分进行执行,如果没有做好过滤或者过滤不严,可能会造成远程代码执行漏洞。 3.1.3 防御 如果系统需要给前端用户提供操作类的接口,一定要对接口的输入内容进行严格判断,避免来自前端的输入直接传递到后端。

dvwa靶场低等级代码

没有任何过滤

A && B:先执行A,如果成功,执行B A||B: 先执行A,如果失败,执行B A|B :管道符,先执行A后,将A的结果作为B的输入,打印的是B的结果B : A & B:  先执行A,然后不管成功与否,执行B先执行A,然后不管成功与否,执行B

可以想到在ping命令后尝试拼接其他命令,比如在Linux系统中执行ping 127.0.0.1 & ls,则会先运行ping指令,之后执行ls指令,列出当前文件夹的内容。那么在这个地方同样可以进行拼接,输入框中填入127.0.0.1 & ls,这些内容都会作为target参数传入服务器从而拼接出整个系统命令并执行

dvwa靶场演示

中等级

过滤不严格  用管道符

高等级

对于High,格,如下:  它对可能造成攻击的符号都进行了过滤操作,但是在对 进行过滤的时候,多了一个空