2.命令执行漏洞

定义:攻击者可以随意执行系统命令,命令可以连接执行:&,||,|

  • 命令执行漏洞:直接调用操作系统命令
  • 代码执行漏洞:靠执行脚本代码调用操作系统命令

1.PHP命令执行

(1)添加管理员

1.查看本地用户:net user
2.添加用户:net user name pwd /add
3.提权为管理员:net localgroup administrator name /add 

(2)代码执行
eval()函数: 把字符串按照PHP代码来执行

code=phpinfo()

(3) PHP代码执行漏洞
ob_start()、array_map()等

** perg_replace()函数:**执行一个正则表达式的搜索和替换

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
搜索subject中匹配pattern的部分, 以replacement进行替换

(4)动态函数调用
php解析器可以根据¥fun的值来调用对应的函数。


2.JAVA命令执行

struts2代码执行漏洞


防范:

  • 尽量不要用系统执行命令
  • 在进入执行命令函数之前,变量要做过滤,对敏感字符转义
  • 使用动态函数之前,确保使用的函数是指定的函数之一
  • 对php来说,不能完全控制的危险函数最好不要用

你可能感兴趣的:(2.命令执行漏洞)