基本信息
文件名称:计算机网络攻击与防护第十二章实战网络攻防55课件.pptx
文件大小:4.03 MB
总页数:13 页
更新时间:2025-06-12
总字数:约1.17千字
文档摘要

;;;;步骤2:执行命令

再次在对话窗口中,

输入127.0.0.1ipconfig

点击ping按钮。

IPaddress拼接ipconfig

再次进行ping命令,查看返回的结果。

除了执行ping命令,还同时执行了ipconfig的命令,

并且将查询结果输出到前端页面。

;如果,我们输入其他的命令,是否同样可以得到我们想要的结果呢?

很显然,是可以的,

攻击者可以通过这个入口,输入进行构造的命令,控制后端的操作系统。

案例payload:127.0.0.1dir

127.0.0.1|dir

;通过查看rce_ping.php的代码片段。

我们发现问题,代码没有进行合理过滤,可以拼接语句;

RCE的rce_ping.php的代码片段:

if(isset($_POST[submit])$_POST[ipaddress]!=null){$ip=$_POST[ipaddress];

//$check=explode(.,$ip);

可以先拆分,然后校验数字以范围,第一位和第四位1-255,中间两位0-255

if(stristr(php_uname(s),windows)){//var_dump(php_uname(s));$result.=shell_exec(ping.$ip);

//直接将变量拼接进来,没做处理}else{$result.=shell_exec(ping-c4.$ip);;漏洞利用案例之远程代码执行;步骤2:执行代码

从返回的查询结果发现,

进入了phpinfo();的系统信息页面。

显然,开发者是不希望用户能够看到这个页面的,

但是,由于代码的安全问题,存在漏洞

攻击者只要输入精心构造的命令,就可以得到网站系统信息。;通过查看rce_eval.php的代码片段。

我们发现问题,用户输入没有进行任何处理;使用了eval这个危险的函数

RCE的rce_eval.php的代码片段:

if(isset($_POST[submit])$_POST[txt]!=null)

{if(@!eval($_POST[txt])){$html.=p你喜欢的字符还挺奇怪的!/p;};1、SecurebyDefault原则(默认安全)

使用黑名单、白名单

白名单:除了名单上的,其他都不被信任;黑名单:除了不信任名单上的,其他都默认信任。

更多地使用白名单,会让系统变得更加安全。

2、检测和过滤

服务端和客户端都要进行验证过滤,

尽量不要使用命令执行函数。

不要让用户控制参数。

用正则表达式对用户输入的内容进行充分处理。

3、软件升级打补丁。

包括开源框架及各类软??系统,升级到最新版本。

;;