安全矩阵

 找回密码
 立即注册
搜索
查看: 4632|回复: 0

Web安全:代码执行漏洞

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2020-11-5 09:33:15 | 显示全部楼层 |阅读模式
原文链接:Web安全:代码执行漏洞

我们首先要强调的一点就是代码执行与命令执行不是同一个概念,若说二者真有什么共性之处,那便是,二者在程序的代码中往往都是调用相关语言的函数,这些函数都是平级的,没有区别。


若我们深入地考察二者之间的差别就会发现,一个是脚本代码层面的执行,一个是系统层面的cmd命令(或者bash命令)的执行。

代码执行或者命令执行一般都是通过代码审计来得到一些漏洞,比如对Discuz!、DedeCms及PHPCMS等系统进行代码审计。该过程可以发现某处代码存在SQL注入漏洞,然后用户提交一个特意构造的SQL语句到正常SQL逻辑中,从而实现注入,这其实就是一个将用户提交的数据当作代码来执行的过程,所以,它叫作代码执行。

命令执行就是调用一些可以执行系统命令的函数来实现在系统层面添加账户、修改账户密码及安装rootkit等操作。

代码执行是指攻击者通过浏览器或者其他客户端软件提交一些用户自己构造的PHP代码至服务器程序,服务器程序通过eval、assert及reg_replace等函数执行用户提交的PHP代码。

其实,代码执行是一个很广阔的概念,我们平时所见到的SQL注入(SQL代码执行)、跨站脚本(JS或者HTML代码执行)等漏洞都是代码执行漏洞。狭义来讲,eval/assert函数的执行属于代码执行,而system、exec、shell_ exec及passthru函数的执行,则应属于命令执行。

eval或者assert函数代码执行。开启浏览器,输入http://localhost:81/code_exec.php?a=phpinfo()。此时,我们提交的PHP代码phpinfo();被eval或者assert函数成功解析了,Web服务器返回信息如图1所示。

图1  执行phpinfo函数



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 11:50 , Processed in 0.012580 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表