i-got-id-200
这一题很清楚的告诉了考点是什么,就是cgi相关的知识,不过我对这个不了解。。。也不会perl语言,先去网上看看这个东西吧,了解一下
看到一篇挺有意思的视频CGI(通用网关接口)_百度百科
看了这个说是CGI有挺多的漏洞的
直接看wp了,算是学习这方面的知识,看看怎么玩的
直接上传文件会将内容打印出来,wp说是用了个param()函数
然后抓一个上传txt文件的包,然后多加一个分片填入ARGV
然后修改URl
就可以读取到源码了
其实就是任意文件读取
造成这个的原因网上是这样解释的:
param()函数会返回一个列表的文件但是只有第一个文件会被放入到下面的接收变量中。如果我们传入一个ARGV的文件,那么Perl会将传入的get参数作为文件名读出来。对正常的上传文件进行修改,可以达到读取任意文件的目的。
这里不知道为啥还可以执行命令,我认为是param是可以执行命令的只是不会回显而已,但是使用管道符|会将结果输出,抽象来看也是读取文件内容是吧。。。
直接读取/flag
cyberpeace{b1ed7ad33817840377baa3353cf6a231}
2024/02/01 15:10