命令执行和代码执行

本文详细介绍了命令执行和代码执行两种安全漏洞。命令执行是由于web应用在服务器上拼接系统命令导致的,常见于调用外部程序的场景,危险函数包括PHP、Python、Java中的特定函数。防御措施包括禁用危险函数、输入格式检查和转义特殊字符。代码执行则涉及将字符串转化为代码执行,如PHP的eval()函数,常见于源代码分析中。防御策略包括限制用户对eval()参数的控制,严格验证输入数据,避免使用易引发漏洞的函数。
摘要由CSDN通过智能技术生成

命令执行

简介

命令执行通常因为指web应用在服务器上拼接系统命令而造成的漏洞。
命令执行直接调用操作系统命令。在操作系统中,“&、|、||"都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,将用户的输入作为系统命令的参数拼接到命令行中,在没有过滤用户输入的情况下,造成命令执行漏洞。

场景

该类漏洞通常出现在调用外部程序完成一些功能的情景下。比如一些Web管理界面的配置主机名/IP/掩码/网关、查看系统信息以及关闭重启等功能,或者一些站点提供如ping、nslookup、提供发送邮件、转换图片等功能都可能出现该类漏洞。

危险函数

PHP

system:可以执行系统命令并将其输出。
exec:执行命令,但无输出,可以使用output进行输出
passthru:执行命令并输出
shell_exec:执行命令,但无回显
popen
proc_open
pcntl_exec(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

carefree798

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值