CTF-命令执行部分总结

目录

web 9

web 10

web 11

web 12

web 13

web 14

web 15

web 16


因为自己是小白,还是想着尽量快一点的学习到许多知识,最近又做了CTFshow里面的部分萌新题,这里总结一下其中的部分萌新WEB题。

web 9

要求我们使用GET方式传入c参数,参数中还要匹配到system或者exec等关键字,这里算是一个小坑,还以为是不能有这些关键字,还尝试了passthru、和拼接绕过......很尴尬。

这个比较简单我们使用system来执行查看config.php就可以了。

web 10

这个题的含义就是正则匹配到system、exec等,则会提示你cmd error,所以这里就是对这些函数做了过滤,这里我们可以使用其他的命令执行函数。

常见的命令执行函数:
system()
passthru()
exec()
shell_exec()
popen()
proc_open()
pcntl_exec()

或者是采用拼接方式来绕过以及采用base64编码也可以来绕过。

 还有就是编码的方式

c=$a = base64_decode('c3lzdGVt');$b=base64_decode('Y2F0IGNvbmZpZy5waHA=');$a($b);

web 11

这里比上一关多过滤了一个cat,文件读取命令,除了cat之外还有很多的文件读取命令如下:

cat--由第一行开始显示内容,并将所有内容输出
tac--从最后一行倒序显示内容,并将所有内容输出
more-- 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head-- 只显示头几行
tail --只显示最后几行
nl --类似于cat -n,显示时输出行号
tailf-- 类似于tail -f
vim --使用vim工具打开文本
vi --使用vi打开文本cat 由第一行开始显示内容,并将所有内容输出

 这里我使用tac。还可以使用单引号或者是双引号来绕过,具体使用单引号还是双引号还是要看外层使用的是单引号还是双引号。?c=passthru("ca''t config.php");

web 12

过滤的内容更多了,config.php都过滤。当然也可以使用编码绕过,或者是直接显示所有该目录下的内容。

··上引号的意思就是先执行。

web 13

13关相比上一关过了分号的过滤。这里我们可以使用?>绕过。

web 14

增加对括号的过滤。

flag藏在网页源码中。 

web 15

15又把我们使用的?>给过滤,但是发现分号可以使用了,同样使用14关的payload来绕过。 

web 16

这里看了网上的wp,在官方群里有36d的梗,但是我没在群里找到,不明白为什么get请求的C是三个字符。

编写脚本,由于自己的代码基础很菜,所以自己尝试去写。

import hashlib


md_after='a6f57ae38a22448c2f07f3f95f49c84e'
chater='abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
flag=''

for i in chater:
    for j in chater:
        for k in chater:
            s=hashlib.md5(('ctfshow'+i+j+k).encode()).hexdigest()
            if s==md_after:
                print(i+j+k)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y4y17

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值