ctfshow-WEB-web3

ctf.show WEB模块的第3关是一个文件包含漏洞,include()函数包含的文件会被执行,我们使用PHP伪协议配合抓包工具进行命令执行,从而获取flag

这一关的flag就存放在网站跟路径下的文件中

php://input 可以访问请求的原始数据,配合文件包含漏洞可以将post请求体中的内容当做文件内容执行,enctype=multipart/form-data"时,php:/input将会无效

 

ctfshow-WEB-web3_第1张图片

 

 页面中显示了部分源码,明显是引导我们利用文件包含漏洞进行操作,源码中的include()函数通过GET请求接收一个url参数,那接下来我们就给它传递一个url参数

 

我们使用代理软件(此处使用Burp Suite)抓包,利用php://input伪协议执行PHP代码,代码的内容为执行系统命令,查看当前目录下所有文件

?url=php://input        -- GET请求的url中拼接伪协议
    -- post请求内容构造需要执行的代码

ctfshow-WEB-web3_第2张图片

 很明显这个crf_go_go_go文件就是存放flag的文件

ctfshow-WEB-web3_第3张图片

 

我们直接在url地址栏中拼接url参数,访问crf_go_go_go文件

?url=ctf_go_go_go

ctfshow-WEB-web3_第4张图片

 成功获取flag

ctfshow{f187f7ae-fffe-4631-b2e1-29dad7adc5be}

将flag全部内容复制到输入框中提交即可过关

你可能感兴趣的:(通关教程,网络安全,渗透测试)