96SEO 2026-02-23 14:41 12
。

漏洞成因它所执行的命令会继承WebServer的权限#xff0c;也就是说可以任意读取、修改、执行Web下的任何文件。
能够进行命令执行的php函数一共有七个分别是system()、exec()、shell_exec()、passthru()、pcntl_exec()、popen()、proc_open()除函数外倒引号(
)内的内容也可以进行命令执行命令执行漏洞形成的原因是web服务器对用户输入的命令安全监测不足导致恶意代码被执行。
直接返回结果直接返回执行结果的有system()、exec()、shell_exec()、passthru()?php
?返回文件指针popen()和proc_open()不会直接返回执行结果而是返回文件指针。
例如?php
?这段程序执行后我们可以在C盘根涉及到一些特殊字符的转义假设需要写入?php
webweb可写加文件完整名字后面命令注入也有时间盲注和sql注入很像命令执行绕过技巧1、Linux场景1)通配符绕过cat
匹配任意单个字符[0-9]匹配范围内的数字[abc]匹配已出的任意字符2)命令拼接可以用、、|、||这几种方式进行命令拼接ls
#anything4)编码绕过URL编码是web端进行命令执行绕过最常用的方法cat%20%2Fetc%2Fpasswdbase64编码绕过将想要执行的命令进行base64编码然后添加到下面的双引号里面echo
bash5)$IFS空字符绕过cat$IFS/etc/passwdcat$IFS$1/etc/passwdcat${IFS}/etc/passwdcat$IFS$9/etc/passwd6)字符拼接cat
xxx666whoami66610)分号(;)pwd;whoami11)反引号和$()echo
$(whoami)12)重定向绕过(可绕过空格)cat1.txtcat1.txt13)单引号和双引号cat
1.t\x\t15)$1、$、$*绕过$1、$、$*绕过c$1a$1t
1.t$*x$*t16)绕过长度限制使用绕过长度限制使用每次添加一部分命令到文件中。
echo
1.t\xt17)逗号绕过空格{cat,/etc/passwd}18)\x20绕过COMMAND$\x20-al;ls$COMMANDCOMMAND$\x20;ifconfig$COMMANDCOMMAND$\x20;whoami$COMMANDCOMMAND$\x20;id$COMMANDCOMMAND$\x20;pwd$COMMAND19)环境变量绕过打印出环境变量然后截取其中的字符通过字符拼接执行命令。
echo
${PATH:2:1}${PATH:5:1}${PATH:2:1}20)文件名绕过拼接文件名绕过cat
/etc$u/passwd2、windows场景1)type绕过命令执行(windows)type.\flag.txttype,flag.txt2)使用特殊符号进行绕过whoamiwho^am^iwhoamiiwhoami3)set命令绕过set
//从开始切割6个字符,刚好是whoami,所以正常执行4)使用ping绕过执行命令cmd.exe
127.0.0.1/../../../../../../../../../../windows/system32/whoami漏洞危害继承Web服务程序的权限去执行系统命令或读写文件反弹shell控制整个网站甚至控制服务器进一步内网渗透防御措施1、尽量不要使用系统执行命令以免造成不必要的危害2、在执行命令函数、方法前变量一定要做好过滤对敏感字符进行转义3、使用动态函数之前确保使用的函数是指定的函数避免使用用户输入的函数4、对PHP语言来说不能完全控制的危险函数最好不要使用PHP内置的两个函数可以有效防止命令执行escapeshellarg()
将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号这样以确保能够直接将一个字符串传入
函数并且还是确保安全的。
对于用户输入的部分参数就应该使用这个函数。
escapeshellcmd()
进行代码注入代码执行漏洞成因代码执行漏洞主要有两种产生原因代码执行函数和动态函数执行在php中还存在双引号执行的情况。
常见的导致代码执行的函数有eval()、assert()、preg_replace()、call_user_func()、array_map()等它们造成漏洞的原因也给不一致。
代码执行相关函数PHP:
eval、assert、preg_replace()、/e模式PHP版本5.5.0Javascript:
evalVbscriptExecute、EvalPython:
Java中没有php中eval函数这种直接可以将字符串转化为代码执行的函数但是有反射机制并且有各种基于反射机制的表达式引擎如OGNL、SpEL、MVEL等这些都能造成代码执行漏洞。
漏洞分类1.代码层过滤不严
商业应用的一些核心代码封装在二进制文件中在web应用中通过system函来调用system(/bin/program
--arg$arg);2.系统的漏洞造成命令注入bash破壳漏洞(CVE-2014-6271)3.调用的第三方组件存在代码执行漏洞如WordPress中用来处理图片的ImageMagick组件JAVA中的命令执行漏洞(struts2/ElasticsearchGroovy等)ThinkPHP命令执行修复方案1.尽量少用执行命令的函数或者直接禁用2.参数值尽量使用引号包括3.在使用动态函数之前确保使用的函数是指定的函数之一4.在进入执行命令的函数/方法之前对参数进行过滤对敏感字符进行转义5.能使用脚本解决的工作不要调用其他程序处理。
尽量少用执行命令的函数并在disable_functions中禁用6.对于可控点是程序参数的情况下使用escapeshellcmd函数进行过滤对于可控点是程序参数值的情况下使用escapeshellarg函数进行过滤7.参数的值尽量使用引号包裹并在拼接前调用addslashes进行转义而针对由特定第三方组件引发的漏洞我们要做的就是及时打补丁修改安装时的默认配置。
命令执行漏洞与代码执行漏洞的区别1、命名执行漏洞直接调用操作系统命令命令执行漏洞原理在操作系统中、|
、||都可以作为命令连接符使用用户通过浏览器提交执行命令由于服务器端没有针对执行函数做过滤导致在没有指定绝对路径的情况下就执行命令。
2、代码执行漏洞靠执行脚本代码调用操作系统命令应用有时需要调用一些执行系统命令的函数如PHP中的system、exec、assert、shell_exec、passthru、popen、poc_popen、escapeshellcmd、pcntl_exec等当用户能控制这些函数中的参数时就可以将恶意系统命令拼接到正常命令中从而造成命令执行漏洞这就是命令执行漏洞。
以上函数主要也在webshell中用的多实际上在正常应用中差别不太大用得最多的还是前三个。
代码执行漏洞是把代码注入到Web服务器中执行而命令执行漏洞执行的系统命令
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback